forked from saurabh/personal-journal
170 lines
4.1 KiB
Ruby
170 lines
4.1 KiB
Ruby
class Desktop::JournalPapersController < DesktopAdminController
|
|
def menu
|
|
[
|
|
{
|
|
"title" => "List",
|
|
"layout" => "list",
|
|
"data" => get_paper_list
|
|
},
|
|
{
|
|
"title" => "Add/Edit",
|
|
"layout" => "form",
|
|
"data" => {"form" => form_data,"form_url" => "/something/"} }
|
|
]
|
|
end
|
|
|
|
def form_data
|
|
[
|
|
{
|
|
"type" => "text",
|
|
"id" => "text",
|
|
"label" => {
|
|
"en" => "Title English",
|
|
"zh_tw" => "Title Chinese"
|
|
},
|
|
"placeholder" => {
|
|
"en" => "Title English",
|
|
"zh_tw" => "Title Chinese"
|
|
},
|
|
"name" => "journal_papers[title]",
|
|
"multilanguage" => true
|
|
},
|
|
{
|
|
"type" => "checkbox",
|
|
"label" => "Check Box",
|
|
"name" => "journal_papers[checkbox]",
|
|
"option" => [{
|
|
"id" => "A",
|
|
"label" => {
|
|
"en" => "Check Box English",
|
|
"zh_tw" => "Check Box Chinese"
|
|
},
|
|
"value" => {
|
|
"en" => "A_en",
|
|
"zh_tw" => "A_zh_tw"
|
|
}
|
|
}, {
|
|
"id" => "B",
|
|
"label" => {
|
|
"en" => "Check Box English",
|
|
"zh_tw" => "Check Box Chinese"
|
|
},
|
|
"value" => {
|
|
"en" => "B_en",
|
|
"zh_tw" => "B_zh_tw"
|
|
}
|
|
}],
|
|
"multilanguage" => true
|
|
},
|
|
{
|
|
"type" => "radio",
|
|
"label" => "Radio",
|
|
"name" => "journal_papers[radio]",
|
|
"option" => [{
|
|
"id" => "C",
|
|
"label" => {
|
|
"en" => "Radio1 English",
|
|
"zh_tw" => "Radio1 Chinese"
|
|
},
|
|
"value" => {
|
|
"en" => "A_en",
|
|
"zh_tw" => "A_zh_tw"
|
|
}
|
|
}, {
|
|
"id" => "D",
|
|
"label" => {
|
|
"en" => "Radio2 English",
|
|
"zh_tw" => "Radio2 Chinese"
|
|
},
|
|
"value" => {
|
|
"en" => "B_en",
|
|
"zh_tw" => "B_zh_tw"
|
|
}
|
|
}],
|
|
"multilanguage" => true
|
|
},
|
|
{
|
|
"type" => "select",
|
|
"id" => "select",
|
|
"label" => "Select",
|
|
"name" => "journal_papers[select]",
|
|
"option" => [{
|
|
"text" => {
|
|
"en" => "Option1 English",
|
|
"zh_tw" => "Option1 Chinese"
|
|
},
|
|
"value" => {
|
|
"en" => "A_en",
|
|
"zh_tw" => "A_zh_tw"
|
|
},
|
|
"selected" => true
|
|
},{
|
|
"text" => {
|
|
"en" => "Option2 English",
|
|
"zh_tw" => "Option2 Chinese"
|
|
},
|
|
"value" => {
|
|
"en" => "B_en",
|
|
"zh_tw" => "B_zh_tw"
|
|
}
|
|
},{
|
|
"text" => {
|
|
"en" => "Option3 English",
|
|
"zh_tw" => "Option3 Chinese"
|
|
},
|
|
"value" => {
|
|
"en" => "C_en",
|
|
"zh_tw" => "C_zh_tw"
|
|
}
|
|
}],
|
|
"multilanguage" => true
|
|
},
|
|
{
|
|
"type" => "textarea",
|
|
"id" => "textarea",
|
|
"label" => {
|
|
"en" => "Textarea English",
|
|
"zh_tw" => "Textarea Chinese"
|
|
},
|
|
"name" => "journal_papers[textarea]",
|
|
"multilanguage" => true
|
|
},
|
|
{
|
|
"type" => "file",
|
|
"id" => "file",
|
|
"label" => {
|
|
"en" => "File English",
|
|
"zh_tw" => "File Chinese"
|
|
},
|
|
"name" => "journal_papers[file]",
|
|
"multilanguage" => true
|
|
}
|
|
]
|
|
end
|
|
|
|
def get_paper_list
|
|
user = OrbitHelper.current_user
|
|
user_profile = user.member_profile
|
|
journals = JournalPaper.where(:member_profile_id => user_profile.id)
|
|
journals = journals.collect do |j|
|
|
files = j.journal_paper_files.collect do |jpf|
|
|
{
|
|
"title" => jpf.title,
|
|
"description" => jpf.description,
|
|
"link" => jpf.journal_file.url,
|
|
"extension" => (jpf.journal_file.url.split(".").last rescue "")
|
|
}
|
|
end
|
|
{
|
|
"id" => j.id.to_s,
|
|
"paper_title" => j.paper_title,
|
|
"journal_title" => j.journal_title,
|
|
"keywords" => j.keywords,
|
|
"abstract" => j.abstract,
|
|
"files" => files
|
|
}
|
|
end
|
|
journals
|
|
end
|
|
|
|
end |