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 { "paper_title" => j.paper_title, "journal_title" => j.journal_title, "keywords" => j.keywords, "abstract" => j.abstract, "files" => files } end journals end end