diff --git a/app/helpers/admin_helper.rb b/app/helpers/admin_helper.rb index 31177d70..120e1245 100644 --- a/app/helpers/admin_helper.rb +++ b/app/helpers/admin_helper.rb @@ -7,12 +7,12 @@ module AdminHelper # Check if the current_user is manager in current module app def is_manager? - @module_app.is_manager?(current_or_guest_user) || is_admin? + (@module_app.is_manager?(current_or_guest_user) rescue nil) || is_admin? end # Check if the current_user is sub manager in current module app def is_sub_manager? - @module_app.is_sub_manager?(current_or_guest_user)|| is_admin? + (@module_app.is_sub_manager?(current_or_guest_user) rescue nil) || is_admin? end def is_admin? diff --git a/app/helpers/attribute_fields_helper.rb b/app/helpers/attribute_fields_helper.rb index 9050b9e6..c35c7370 100644 --- a/app/helpers/attribute_fields_helper.rb +++ b/app/helpers/attribute_fields_helper.rb @@ -163,7 +163,7 @@ protected result << "" result << "
" result << "" diff --git a/config/locales/en.yml b/config/locales/en.yml index 041e03d7..60dfacbd 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -368,176 +368,176 @@ en: errors: at_least_one: must at least have one value - admin: - access: - denied: - app: - not_sub_manager: Access Denied for you are not SubManager for this app - not_manager: Access Denied for you are not SubManager for this app - not_authed_user: Access Denied for you are not User for this app - not_admin: Access Denied for you are not Admin - object: "Access Denied for you don't have permission for this object" - action: Action - ad_banner: AD Banner - orbit_gallery: Gallery - calendar: Calendar - ad: - sec_place_holder: Enter 3 if 3 sec - ab_fx: FX - all_banners: AdBanner list - banner_best_size: Banner Best Size - best_size: Best size - new_banner: New banner - new_image: New image - showing: Showing - not_showing: NotShowing - picture_list: Picture List - title: Title - transition_sec: Transition time - trans_unit_sec: sec - update_banner: Update Banner - widget_info_for_ad_image_size: "Best size with: %{best_size}" - add: Add - add_item: Add item - add_language: Add language - add_drop_down_item: +Add Menu Item - admin: Admin - action: Action - all_articles: List - always_display_title: Always displayed in the title bar - announcement: Announcement - asset: Asset - assets: - file: File - album: Album - video: Video - book: Book - attributes: Attributes - author: Author - calendar: Calendar - gprs: GPS - cant_delete_self: You can not delete yourself. - cant_revoke_self_admin: You can not revoke your admin role yourself. - category: Category - choose_file: Choose a file... - class: Class - content: Content - create_error_link: Error when creating link. - create_error_page: Error when creating page. - create_success_home: Homepage was successfully created. - create_success_layout: Layout was successfully created. - create_success_link: Link was successfully created. - create_success_page: Page was successfully created. - create_success_snippet: Snippet was successfully created. - create_success_user: User was successfully created. - data: Data - dashboard: Dashboard - delete_language: Delete language - description: Description - design: Template - disable_language: Disable language - editing_home: Editing homepage - editing_layout: Editing layout - editing_link: Editing link - editing_page: Editing page - editing_snippet: Editing snippet - editing_info: Editing user information - editing_role: Editing user role - email: Email - enable_language: Enable language - enabled_for: Enabled for - file_name: Filename - file_size: File size - file_upload: File upload - format: Format - home: Home - id: ID - info: Information - intro: Introduction - is_published: Is published - item: Item - key: Key - keywords: Keywords - language: Language - layout: Layout - layout_name: Layout name - links: Links - link: Links - list_assets: Assets list - list_designs: Designs list - list_items: Items list - list_puchases: Purchases list - list_snippets: Snippets list - list_users: Users list - list_infos: User information list - list_roles: User roles list - mail_address: Address - mail_port: Port - mail_domain: Domain - mail_authentication: Authentication - mail_user_name: User Name - mail_password: Password - mail_tls: TLS - mail_enable_starttls_auto: Enable Start TLS Auto - member: Member - menu_enabled_for: Menu enabled for - module: - authorization: Module Authorization - move_down: Move down - move_up: Move up - multilingual: Multilingual - my_avatar: My Avatar - no_home_page: You don't have a homepage - no_layout: You don't have a layout - name: Name - nccu: NCCU Custom - nccu_c: - nccu_ldap_uid: NCCU LDAP Account - new_asset: New asset - new_component: New component - new_design: New design - new_home: New homepage - new_layout: New layout - new_link: New link - new_page: New page - new_snippet: New snippet - new_user: New user - new_info: New user information - new_role: New user role - news: News - non_multilingual: Non multilingual - object_auth: - list_title_of_users: %{auth_title} Auth List - update_done: Update done,reulst showing in list - update_failed: Update failed - options: Options - orig_upload_file: Original filename - page: Page - page_context: - edit: Edit - ob_auth: - edit: Category authorization - page_part_kinds: - text: Text Area - public_r_tag: System Widget - module_widget: Plug-in Module Widget - position: Position - published?: Published? - purchase: Purchase - registered: Registered - role: Role - roles: Roles - setup_member: Member setup - setup_translations: Translations setup - setup_designs: Designs setup - site: Site - site_description: Site description - site_footer: Site footer - site_settings: Site Setting - site_sub_menu: Site sub-menu - site_title: Site title - super_pages: Super pages - structure: Structure + # admin: + # access: + # denied: + # app: + # not_sub_manager: Access Denied for you are not SubManager for this app + # not_manager: Access Denied for you are not SubManager for this app + # not_authed_user: Access Denied for you are not User for this app + # not_admin: Access Denied for you are not Admin + # object: "Access Denied for you don't have permission for this object" + # action: Action + # ad_banner: AD Banner + # orbit_gallery: Gallery + # calendar: Calendar + # ad: + # sec_place_holder: Enter 3 if 3 sec + # ab_fx: FX + # all_banners: AdBanner list + # banner_best_size: Banner Best Size + # best_size: Best size + # new_banner: New banner + # new_image: New image + # showing: Showing + # not_showing: NotShowing + # picture_list: Picture List + # title: Title + # transition_sec: Transition time + # trans_unit_sec: sec + # update_banner: Update Banner + # widget_info_for_ad_image_size: "Best size with: %{best_size}" + # add: Add + # add_item: Add item + # add_language: Add language + # add_drop_down_item: +Add Menu Item + # admin: Admin + # action: Action + # all_articles: List + # always_display_title: Always displayed in the title bar + # announcement: Announcement + # asset: Asset + # assets: + # file: File + # album: Album + # video: Video + # book: Book + # attributes: Attributes + # author: Author + # calendar: Calendar + # gprs: GPS + # cant_delete_self: You can not delete yourself. + # cant_revoke_self_admin: You can not revoke your admin role yourself. + # category: Category + # choose_file: Choose a file... + # class: Class + # content: Content + # create_error_link: Error when creating link. + # create_error_page: Error when creating page. + # create_success_home: Homepage was successfully created. + # create_success_layout: Layout was successfully created. + # create_success_link: Link was successfully created. + # create_success_page: Page was successfully created. + # create_success_snippet: Snippet was successfully created. + # create_success_user: User was successfully created. + # data: Data + # dashboard: Dashboard + # delete_language: Delete language + # description: Description + # design: Template + # disable_language: Disable language + # editing_home: Editing homepage + # editing_layout: Editing layout + # editing_link: Editing link + # editing_page: Editing page + # editing_snippet: Editing snippet + # editing_info: Editing user information + # editing_role: Editing user role + # email: Email + # enable_language: Enable language + # enabled_for: Enabled for + # file_name: Filename + # file_size: File size + # file_upload: File upload + # format: Format + # home: Home + # id: ID + # info: Information + # intro: Introduction + # is_published: Is published + # item: Item + # key: Key + # keywords: Keywords + # language: Language + # layout: Layout + # layout_name: Layout name + # links: Links + # link: Links + # list_assets: Assets list + # list_designs: Designs list + # list_items: Items list + # list_puchases: Purchases list + # list_snippets: Snippets list + # list_users: Users list + # list_infos: User information list + # list_roles: User roles list + # mail_address: Address + # mail_port: Port + # mail_domain: Domain + # mail_authentication: Authentication + # mail_user_name: User Name + # mail_password: Password + # mail_tls: TLS + # mail_enable_starttls_auto: Enable Start TLS Auto + # member: Member + # menu_enabled_for: Menu enabled for + # module: + # authorization: Module Authorization + # move_down: Move down + # move_up: Move up + # multilingual: Multilingual + # my_avatar: My Avatar + # no_home_page: You don't have a homepage + # no_layout: You don't have a layout + # name: Name + # nccu: NCCU Custom + # nccu_c: + # nccu_ldap_uid: NCCU LDAP Account + # new_asset: New asset + # new_component: New component + # new_design: New design + # new_home: New homepage + # new_layout: New layout + # new_link: New link + # new_page: New page + # new_snippet: New snippet + # new_user: New user + # new_info: New user information + # new_role: New user role + # news: News + # non_multilingual: Non multilingual + # object_auth: + # list_title_of_users: %{auth_title} Auth List + # update_done: Update done,reulst showing in list + # update_failed: Update failed + # options: Options + # orig_upload_file: Original filename + # page: Page + # page_context: + # edit: Edit + # ob_auth: + # edit: Category authorization + # page_part_kinds: + # text: Text Area + # public_r_tag: System Widget + # module_widget: Plug-in Module Widget + # position: Position + # published?: Published? + # purchase: Purchase + # registered: Registered + # role: Role + # roles: Roles + # setup_member: Member setup + # setup_translations: Translations setup + # setup_designs: Designs setup + # site: Site + # site_description: Site description + # site_footer: Site footer + # site_settings: Site Setting + # site_sub_menu: Site sub-menu + # site_title: Site title + # super_pages: Super pages + # structure: Structure # : >>>>>>> various_bugs tags: Tags url: URL diff --git a/config/locales/zh_tw.yml b/config/locales/zh_tw.yml index efa69994..86c4f0ea 100644 --- a/config/locales/zh_tw.yml +++ b/config/locales/zh_tw.yml @@ -350,278 +350,278 @@ zh_tw: # : ======= errors: at_least_one: 必須至少有一個值 - admin: - infos: - add_attribute_field: 新增 - save: 儲存 - initial: 起始值 - markup: 輸入模式 - item_name: 資料表名稱 - name: 名稱 - options: 選項 - multilingual: 多語言輸入 - add_more: 使用者可自行延伸欄位 - add: 新增 - placeholder: 輸入協助 - type: 類型 - placeholder: 提示內容 - list: 自定選單 - is_range: 是 - not_range: 否 - date: - claendar: 紀年法 - range: 本欄為時間區段 - format: 格式 - tw_claendar: 民國 - west_claendar: 西元 - access: - denied: - app: - not_sub_manager: 拒絕存取因你不是此應用程式次管理員 - not_manager: 拒絕存取因你不是此應用程式管理員 - not_authed_user: 拒絕存取因你不是此應用程式授權使用者 - not_admin: 拒絕存取因你不是此應用程式次管理員 - object: 拒絕存取因你不是網站管理者 - action: 操作 - ad_banner: 廣告輪播 - orbit_gallery: 活動花絮 - ad: - sec_place_holder: 3秒請輸入3 - ab_fx: 轉場特效 - all_banners: 輪播清單 - banner_best_size: Banner 尺寸 - best_size: 最佳尺寸 - cate_auth: 分類授權 - delete_banner: 刪除整組輪播 - new_banner: 新增輪播 - new_image: 新增橫幅 - showing: 顯示中 - not_showing: 沒有顯示 - picture_list: 圖片列表 - title: 標題 - transition_sec: 轉場單位時間 - trans_unit_sec: 秒 - update_banner: 更新輪播 - widget_info_for_ad_image_size: "此區塊圖片尺寸請使用 %{best_size}" - add: 新增 - add_item: 新增項目 - add_language: 新增語言 - add_drop_down_item: +增加Orbit選單 - admin: 網站管理者 - all_articles: 列表 - always_display_title: 永遠顯示於標題列 - announcement: 公告管理 - asset: 資產 - assets: - file: 檔案 - album: 相簿 - video: 影片 - book: 書籍 - attributes: 屬性 - author: 作者 - calendar: 行事曆 - cant_delete_self: 您不可以刪除自己。 - cant_revoke_self_admin: 您不可以撤銷自己的管理身份。 - category: 類別 - choose_file: 請選擇一個文件... - class: 階級 - content: 內容 - contenteditable: - update_done: 更新完成 - update_failed: 更新失敗 - create_error_link: 新增連接時出錯。 - create_error_page: 新增頁面時出錯。 - create_success_home: 首頁已成功新增。 - create_success_layout: 樣板已成功新增。 - create_success_link: 連結已成功新增。 - create_success_page: 頁面已成功新增。 - create_success_home: 首頁已成功新增。 - create_success_layout: 佈局已成功新增。 - create_success_link: 連結已成功新增。 - create_success_page: 頁面已成功新增。 - create_success_snippet: 片段已成功新增。 - create_success_user: 用戶已成功新增。。 - dashboard: 儀表板 - data: 選擇檔案 - delete_language: 刪除語言 - description: 描述 - design: 版型管理 - disable_language: 禁用語言 - edit: 編輯 - editing_home: 編輯首頁 - editing_layout: 編輯樣板 - editing_link: 編輯連結 - editing_page: 編輯頁面 - editing_snippet: 編輯片段 - editing_info: 編輯用戶資料 - editing_role: 編輯用戶身份 - email: Email - enable_language: 啟用語言 - enabled_for: 啟用 - file_name: 檔名 - file_size: 檔案大小 - file_upload: 文件上載 - format: 格式 - home: 首頁 - id: ID - info: 資料 - intro: 簡介 - is_published: 被出版 - item: 網站架構 - key: 關鍵 - keywords: 關鍵字 - language: 語言 - layout: 佈局 - layout_name: 佈局名字 - link: 連結管理 - links: 網路資源 - list_assets: 資產列表 - list_designs: 設計列表 - list_items: 項目列表 - list_puchases: 購買清單 - list_snippets: 斷片列表 - list_users: 使用列表 - list_infos: 用戶資料列表 - list_roles: 用戶身份列表 - mail_address: 郵件地址 - mail_port: 傳輸埠 - mail_domain: 網域名稱 - mail_authentication: 認證 - mail_user_name: 帳號 - mail_password: 密碼 - mail_tls: TLS - mail_enable_starttls_auto: Enable Start TLS Auto - member: 會員 - menu_enabled_for: 選單啟用 - module: - authorization: 模組授權 - move_down: 往下移 - move_up: 往上移 - multilingual: 多種語言 - my_avatar: 我的頭像 - no_home_page: 您沒有首頁 - no_layout: 您沒有佈局 - name: 名稱 - new_admin: - side_bar: - all_user: 所有使用者 - add_user: 新增使用者 - user_roles: 角色 - user_info: 使用者資訊 - user: 會員 - users: - all_plugin_summary: 全部 - profile: 基本資料 - roles: - staff: 職員資料 - student: 學生資料 - teacher: 教師資料 - action: - add: 新增 - edit: 編輯 - delete: 刪除 - quick_edit: 快速編輯 - next: 下一頁 - prev: 上一頁 - attributes: - roles: 角色 - name: 名稱 - publications: 出版數 - courses: 開課數 - followers: 被關注數 - show_mode: - index: 清單 - summary: 摘要 - thumbnail: 縮圖 - table_header: - status: 狀態 - category: 分類 - tags: 標籤 - clear_filter: 重置 - new_asset: 新增資產 - new_component: 新增元件 - new_design: 新設計 - new_home: 新增首頁 - new_layout: 新增樣板 - new_link: 新增連結 - new_page: 新增頁面 - new_snippet: 新增片段 - new_user: 新增使用 - new_info: 新增用戶資料 - new_role: 新增用戶身份 - news: 新聞 - non_multilingual: - object_auth: - list_title_of_users: 授權清單-%{auth_title} - update_done: 更新完成,結果顯示於清單 - update_failed: 更新失敗 - options: 選項 - orig_upload_file: 原上傳檔名 - page: 頁面管理 - page_context: - edit: 編輯 - ob_auth: - edit: 分類授權 - page_part_kinds: - text: 文字區塊 - public_r_tag: 系統模塊 - module_widget: 外掛模塊 - position: 位置 - published?: 發布? - purchase: 購買 - role: 身份 - roles: 身份 - site_description: 網站描述 - site_footer: 網站頁尾 - site_settings: 基本設定 - site_sub_menu: 網站次選單 - site_title: 網站標題 - setup_member: 成員設置 - setup_translations: 語系設定 - setup_designs: 版型設定 - site: 網站 - site_setting: 網站設定 - super_pages: 可編頁面 - structure: 網站結構 - tags: 標籤 - title: 標題 - translation: 翻譯 - type: 類型 - up_to_date: 最新版本 - update_error_link: 更新鏈接時出現錯誤。 - update_error_page: 更新頁面時出現錯誤。 - update_success_content: 內容已成功更新。 - update_success_home: 首頁已成功更新。 - update_success_layout: 樣板已成功更新。 - update_success_link: 連結已成功更新。 - update_success_page: 頁面已成功更新。 - update_success_snippet: 片段已成功更新。 - update_success_user: 用戶已成功更新 - upload_design: 上傳設計 - url: URL - user: 用戶 - user_new_interface: - sys_basic_form: 系統基本資料表 - password: 密碼 - password_confirmation: 確認密碼 - email: 使用者帳號信箱 - user_role: - auth: - all_member: 所有會員 - manager: 管理員 - sub_manager: 次管理員 - by_role: 根據身份 - by_sub_role: 根據次身份 - block_list: 封鎖名單 - add_manager: 增加到管理員 - add_sub_manager: 增加到次管理員 - add_to_block_list: 封鎖名單 - add_to_privilege_list: 特許名單 - auth_by: -由%{user_display_name}授權 - user: 使用會員 - info: 用戶資料 - panel: 用戶面板 - role: 用戶身份 + # admin: + # infos: + # add_attribute_field: 新增 + # save: 儲存 + # initial: 起始值 + # markup: 輸入模式 + # item_name: 資料表名稱 + # name: 名稱 + # options: 選項 + # multilingual: 多語言輸入 + # add_more: 使用者可自行延伸欄位 + # add: 新增 + # placeholder: 輸入協助 + # type: 類型 + # placeholder: 提示內容 + # list: 自定選單 + # is_range: 是 + # not_range: 否 + # date: + # claendar: 紀年法 + # range: 本欄為時間區段 + # format: 格式 + # tw_claendar: 民國 + # west_claendar: 西元 + # access: + # denied: + # app: + # not_sub_manager: 拒絕存取因你不是此應用程式次管理員 + # not_manager: 拒絕存取因你不是此應用程式管理員 + # not_authed_user: 拒絕存取因你不是此應用程式授權使用者 + # not_admin: 拒絕存取因你不是此應用程式次管理員 + # object: 拒絕存取因你不是網站管理者 + # action: 操作 + # ad_banner: 廣告輪播 + # orbit_gallery: 活動花絮 + # ad: + # sec_place_holder: 3秒請輸入3 + # ab_fx: 轉場特效 + # all_banners: 輪播清單 + # banner_best_size: Banner 尺寸 + # best_size: 最佳尺寸 + # cate_auth: 分類授權 + # delete_banner: 刪除整組輪播 + # new_banner: 新增輪播 + # new_image: 新增橫幅 + # showing: 顯示中 + # not_showing: 沒有顯示 + # picture_list: 圖片列表 + # title: 標題 + # transition_sec: 轉場單位時間 + # trans_unit_sec: 秒 + # update_banner: 更新輪播 + # widget_info_for_ad_image_size: "此區塊圖片尺寸請使用 %{best_size}" + # add: 新增 + # add_item: 新增項目 + # add_language: 新增語言 + # add_drop_down_item: +增加Orbit選單 + # admin: 網站管理者 + # all_articles: 列表 + # always_display_title: 永遠顯示於標題列 + # announcement: 公告管理 + # asset: 資產 + # assets: + # file: 檔案 + # album: 相簿 + # video: 影片 + # book: 書籍 + # attributes: 屬性 + # author: 作者 + # calendar: 行事曆 + # cant_delete_self: 您不可以刪除自己。 + # cant_revoke_self_admin: 您不可以撤銷自己的管理身份。 + # category: 類別 + # choose_file: 請選擇一個文件... + # class: 階級 + # content: 內容 + # contenteditable: + # update_done: 更新完成 + # update_failed: 更新失敗 + # create_error_link: 新增連接時出錯。 + # create_error_page: 新增頁面時出錯。 + # create_success_home: 首頁已成功新增。 + # create_success_layout: 樣板已成功新增。 + # create_success_link: 連結已成功新增。 + # create_success_page: 頁面已成功新增。 + # create_success_home: 首頁已成功新增。 + # create_success_layout: 佈局已成功新增。 + # create_success_link: 連結已成功新增。 + # create_success_page: 頁面已成功新增。 + # create_success_snippet: 片段已成功新增。 + # create_success_user: 用戶已成功新增。。 + # dashboard: 儀表板 + # data: 選擇檔案 + # delete_language: 刪除語言 + # description: 描述 + # design: 版型管理 + # disable_language: 禁用語言 + # edit: 編輯 + # editing_home: 編輯首頁 + # editing_layout: 編輯樣板 + # editing_link: 編輯連結 + # editing_page: 編輯頁面 + # editing_snippet: 編輯片段 + # editing_info: 編輯用戶資料 + # editing_role: 編輯用戶身份 + # email: Email + # enable_language: 啟用語言 + # enabled_for: 啟用 + # file_name: 檔名 + # file_size: 檔案大小 + # file_upload: 文件上載 + # format: 格式 + # home: 首頁 + # id: ID + # info: 資料 + # intro: 簡介 + # is_published: 被出版 + # item: 網站架構 + # key: 關鍵 + # keywords: 關鍵字 + # language: 語言 + # layout: 佈局 + # layout_name: 佈局名字 + # link: 連結管理 + # links: 網路資源 + # list_assets: 資產列表 + # list_designs: 設計列表 + # list_items: 項目列表 + # list_puchases: 購買清單 + # list_snippets: 斷片列表 + # list_users: 使用列表 + # list_infos: 用戶資料列表 + # list_roles: 用戶身份列表 + # mail_address: 郵件地址 + # mail_port: 傳輸埠 + # mail_domain: 網域名稱 + # mail_authentication: 認證 + # mail_user_name: 帳號 + # mail_password: 密碼 + # mail_tls: TLS + # mail_enable_starttls_auto: Enable Start TLS Auto + # member: 會員 + # menu_enabled_for: 選單啟用 + # module: + # authorization: 模組授權 + # move_down: 往下移 + # move_up: 往上移 + # multilingual: 多種語言 + # my_avatar: 我的頭像 + # no_home_page: 您沒有首頁 + # no_layout: 您沒有佈局 + # name: 名稱 + # new_admin: + # side_bar: + # all_user: 所有使用者 + # add_user: 新增使用者 + # user_roles: 角色 + # user_info: 使用者資訊 + # user: 會員 + # users: + # all_plugin_summary: 全部 + # profile: 基本資料 + # roles: + # staff: 職員資料 + # student: 學生資料 + # teacher: 教師資料 + # action: + # add: 新增 + # edit: 編輯 + # delete: 刪除 + # quick_edit: 快速編輯 + # next: 下一頁 + # prev: 上一頁 + # attributes: + # roles: 角色 + # name: 名稱 + # publications: 出版數 + # courses: 開課數 + # followers: 被關注數 + # show_mode: + # index: 清單 + # summary: 摘要 + # thumbnail: 縮圖 + # table_header: + # status: 狀態 + # category: 分類 + # tags: 標籤 + # clear_filter: 重置 + # new_asset: 新增資產 + # new_component: 新增元件 + # new_design: 新設計 + # new_home: 新增首頁 + # new_layout: 新增樣板 + # new_link: 新增連結 + # new_page: 新增頁面 + # new_snippet: 新增片段 + # new_user: 新增使用 + # new_info: 新增用戶資料 + # new_role: 新增用戶身份 + # news: 新聞 + # non_multilingual: + # object_auth: + # list_title_of_users: 授權清單-%{auth_title} + # update_done: 更新完成,結果顯示於清單 + # update_failed: 更新失敗 + # options: 選項 + # orig_upload_file: 原上傳檔名 + # page: 頁面管理 + # page_context: + # edit: 編輯 + # ob_auth: + # edit: 分類授權 + # page_part_kinds: + # text: 文字區塊 + # public_r_tag: 系統模塊 + # module_widget: 外掛模塊 + # position: 位置 + # published?: 發布? + # purchase: 購買 + # role: 身份 + # roles: 身份 + # site_description: 網站描述 + # site_footer: 網站頁尾 + # site_settings: 基本設定 + # site_sub_menu: 網站次選單 + # site_title: 網站標題 + # setup_member: 成員設置 + # setup_translations: 語系設定 + # setup_designs: 版型設定 + # site: 網站 + # site_setting: 網站設定 + # super_pages: 可編頁面 + # structure: 網站結構 + # tags: 標籤 + # title: 標題 + # translation: 翻譯 + # type: 類型 + # up_to_date: 最新版本 + # update_error_link: 更新鏈接時出現錯誤。 + # update_error_page: 更新頁面時出現錯誤。 + # update_success_content: 內容已成功更新。 + # update_success_home: 首頁已成功更新。 + # update_success_layout: 樣板已成功更新。 + # update_success_link: 連結已成功更新。 + # update_success_page: 頁面已成功更新。 + # update_success_snippet: 片段已成功更新。 + # update_success_user: 用戶已成功更新 + # upload_design: 上傳設計 + # url: URL + # user: 用戶 + # user_new_interface: + # sys_basic_form: 系統基本資料表 + # password: 密碼 + # password_confirmation: 確認密碼 + # email: 使用者帳號信箱 + # user_role: + # auth: + # all_member: 所有會員 + # manager: 管理員 + # sub_manager: 次管理員 + # by_role: 根據身份 + # by_sub_role: 根據次身份 + # block_list: 封鎖名單 + # add_manager: 增加到管理員 + # add_sub_manager: 增加到次管理員 + # add_to_block_list: 封鎖名單 + # add_to_privilege_list: 特許名單 + # auth_by: -由%{user_display_name}授權 + # user: 使用會員 + # info: 用戶資料 + # panel: 用戶面板 + # role: 用戶身份 dashboard: bulletin: 公告 diff --git a/vendor/built_in_modules/announcement/app/controllers/panel/announcement/back_end/bulletins_controller.rb b/vendor/built_in_modules/announcement/app/controllers/panel/announcement/back_end/bulletins_controller.rb index b6c0703d..679a6b05 100644 --- a/vendor/built_in_modules/announcement/app/controllers/panel/announcement/back_end/bulletins_controller.rb +++ b/vendor/built_in_modules/announcement/app/controllers/panel/announcement/back_end/bulletins_controller.rb @@ -4,11 +4,11 @@ class Panel::Announcement::BackEnd::BulletinsController < OrbitBackendController before_filter :clean_values, :only => [:create, :update] -# before_filter :for_admin_only,:only => [:] -# before_filter :for_app_manager,:only => [:index,:show,] + # before_filter :for_admin_only,:only => [:] + # before_filter :for_app_manager,:only => [:index,:show,] before_filter :force_order_for_visitor,:only=>[:index,:show,:get_sorted_and_filtered_bulletins] - before_filter :force_order_for_user,:except => [:index,:show,:get_sorted_and_filtered_bulletins] - before_filter :for_app_sub_manager,:except => [:index,:show,:get_sorted_and_filtered_bulletins] + before_filter :force_order_for_user,:except => [:index,:show,:get_sorted_and_filtered_bulletins,:get_bulletins_json] + before_filter :for_app_sub_manager,:except => [:index,:show,:get_sorted_and_filtered_bulletins,:get_bulletins_json] before_filter :only => [ :new,:create,:edit,:update,:create] do |controller| controller.get_categorys('BulletinCategory') @@ -22,6 +22,39 @@ class Panel::Announcement::BackEnd::BulletinsController < OrbitBackendController render '/shared/preview/preview.html.erb',:layout=>false end + def get_bulletins_json + @bulletins = Bulletin.all + @data = Hash.new + @data[I18n.t("category")] = Hash.new + + @bulletins.each do |b| + deadline = b.deadline + + if not deadline.nil? + deadline = display_date_time(deadline) + else + deadline = I18n.t("no_deadline") + end + if @data[I18n.t("category")][b.bulletin_category.title].nil? + @data[I18n.t("category")][b.bulletin_category.title] = Array.new + @data[I18n.t("category")][b.bulletin_category.title] << { title: b.title, + postdate: display_date_time(b.postdate), + deadline: deadline, + tag: b.sorted_tags.to_a, + } + else + @data[I18n.t("category")][b.bulletin_category.title] << { title: b.title, + postdate: display_date_time(b.postdate), + deadline: deadline, + tag: b.sorted_tags.to_a, + } + end + end + #render :json => @data.to_json + #to print readable json + render :json => JSON.pretty_generate(@data) + end + def index # @bulletins = Bulletin.all # @bulletins = Bulletin.desc("postdate desc") @@ -52,10 +85,10 @@ class Panel::Announcement::BackEnd::BulletinsController < OrbitBackendController @bulletin_link = BulletinLink.new @link_url = panel_announcement_back_end_bulletins_path - + @bulletin_file = BulletinFile.new @file_url = panel_announcement_back_end_bulletins_path - + respond_to do |format| format.html # index.html.erb format.js { } @@ -84,13 +117,13 @@ class Panel::Announcement::BackEnd::BulletinsController < OrbitBackendController @bulletin = session[:in_validate_object] session[:in_validate_object] = {} end - + @link_url = panel_announcement_back_end_bulletins_path get_tags respond_to do |format| - format.html # new.html.erb - format.xml { render :xml => @bulletin } - end + format.html # new.html.erb + format.xml { render :xml => @bulletin } + end end # GET /bulletins/1/edit @@ -100,85 +133,82 @@ class Panel::Announcement::BackEnd::BulletinsController < OrbitBackendController redirect_to :action => :index else # @summary_variable = @bulletin.summary_variable - - @link_url = panel_announcement_back_end_bulletin_path(@bulletin) - - get_tags + + @link_url = panel_announcement_back_end_bulletin_path(@bulletin) + + get_tags end end # POST /bulletins # POST /bulletins.xml def create - get_tags - if params[:bulletin_link] - - @bulletin_link = BulletinLink.new(params[:bulletin_link]) + get_tags + if params[:bulletin_link] - respond_to do |format| - if @bulletin_link.save - format.js { render 'create_bulletin_link' } - end - end - - elsif params[:bulletin_file] - - @bulletin_file = BulletinFile.new(params[:bulletin_file]) + @bulletin_link = BulletinLink.new(params[:bulletin_link]) - respond_to do |format| - if @bulletin_file.save - format.js { render 'create_bulletin_file' } - end - end - - else - - @bulletin = Bulletin.new(params[:bulletin]) - @bulletin.deadline = nil if (@bulletin.deadline < @bulletin.postdate rescue nil) - - @bulletin.create_user_id = current_user.id - @bulletin.update_user_id = current_user.id - if(is_manager? || is_admin?) - @bulletin.is_checked = true - @bulletin.is_rejected = false - @bulletin.de_pending - end + respond_to do |format| + if @bulletin_link.save + format.js { render 'create_bulletin_link' } + end + end - respond_to do |format| - if @bulletin.save - - format.html { redirect_to(panel_announcement_back_end_bulletins_url, :notice => t('announcement.create_bulletin_success')) } - format.xml { render :xml => @bulletin, :status => :created, :location => @bulletin } - # format.js - format.js { - @info = {"success"=>"true","redirect_url"=>panel_announcement_back_end_bulletins_url} - flash[:notice] = t('bulletin.create_bulletin_success') - render "/shared/preview/after_create.js.erb" - } - else - format.html { render :action => "new" } - format.xml { render :xml => @bulletin.errors, :status => :unprocessable_entity } - format.js { - @info = {"success"=>"false","redirect_url"=>new_panel_announcement_back_end_bulletin_url(:bulletin => @bulletin)} - session[:in_validate_object] = @bulletin - render "/shared/preview/after_create.js.erb" - } - end - end - - end - + elsif params[:bulletin_file] + + @bulletin_file = BulletinFile.new(params[:bulletin_file]) + + respond_to do |format| + if @bulletin_file.save + format.js { render 'create_bulletin_file' } + end + end + + else + + @bulletin = Bulletin.new(params[:bulletin]) + @bulletin.deadline = nil if (@bulletin.deadline < @bulletin.postdate rescue nil) + + @bulletin.create_user_id = current_user.id + @bulletin.update_user_id = current_user.id + if(is_manager? || is_admin?) + @bulletin.is_checked = true + @bulletin.is_rejected = false + @bulletin.de_pending + end + + respond_to do |format| + if @bulletin.save + + format.html { redirect_to(panel_announcement_back_end_bulletins_url, :notice => t('announcement.create_bulletin_success')) } + format.xml { render :xml => @bulletin, :status => :created, :location => @bulletin } + # format.js + format.js { + @info = {"success"=>"true","redirect_url"=>panel_announcement_back_end_bulletins_url} + flash[:notice] = t('bulletin.create_bulletin_success') + render "/shared/preview/after_create.js.erb" + } + else + format.html { render :action => "new" } + format.xml { render :xml => @bulletin.errors, :status => :unprocessable_entity } + format.js { + @info = {"success"=>"false","redirect_url"=>new_panel_announcement_back_end_bulletin_url(:bulletin => @bulletin)} + session[:in_validate_object] = @bulletin + render "/shared/preview/after_create.js.erb" + } + end + end + end end - def link_quick_add + def link_quick_add @bulletin_link = BulletinLink.new @link_url = panel_announcement_back_end_bulletins_path @bulletin_link.bulletin_id = params[:bulletin_id] - + respond_to do |format| format.js end - end def link_quick_edit @@ -189,14 +219,13 @@ class Panel::Announcement::BackEnd::BulletinsController < OrbitBackendController end end - def file_quick_add + def file_quick_add @bulletin_file = BulletinFile.new @file_url = panel_announcement_back_end_bulletins_path @bulletin_file.bulletin_id = params[:bulletin_id] respond_to do |format| format.js end - end def file_quick_edit @@ -211,75 +240,71 @@ class Panel::Announcement::BackEnd::BulletinsController < OrbitBackendController # PUT /bulletins/1.xml def update - if params[:bulletin_link] - - @bulletin_link = BulletinLink.find(params[:id]) + if params[:bulletin_link] - @link_url = panel_announcement_back_end_bulletin_path(@bulletin_link) + @bulletin_link = BulletinLink.find(params[:id]) + @link_url = panel_announcement_back_end_bulletin_path(@bulletin_link) - respond_to do |format| - - if @bulletin_link.update_attributes(params[:bulletin_link]) - # format.html { redirect_to(panel_announcement_back_end_bulletins_url) } - format.js { render 'update_bulletin_link' } - end - end - - elsif params[:bulletin_file] - - @bulletin_file = BulletinFile.find(params[:id]) - - @file_url = panel_announcement_back_end_bulletin_path(@bulletin_file) + respond_to do |format| + if @bulletin_link.update_attributes(params[:bulletin_link]) + # format.html { redirect_to(panel_announcement_back_end_bulletins_url) } + format.js { render 'update_bulletin_link' } + end + end - respond_to do |format| - - if @bulletin_file.update_attributes(params[:bulletin_file]) - # format.html { redirect_to(panel_announcement_back_end_bulletins_url) } - format.js { render 'update_bulletin_file' } - end - end - - else - - @bulletin = Bulletin.find(params[:id]) - - # @bulletin.image.clear if params[:bulletin][:image_del] == '1' - # if params[:bulletin][:image_del] == '1' - # @bulletin.remove_image! - # @bulletin.image_del = nil - # params[:bulletin][:image_del] = nil - # end + elsif params[:bulletin_file] + + @bulletin_file = BulletinFile.find(params[:id]) + @file_url = panel_announcement_back_end_bulletin_path(@bulletin_file) + respond_to do |format| + + if @bulletin_file.update_attributes(params[:bulletin_file]) + # format.html { redirect_to(panel_announcement_back_end_bulletins_url) } + format.js { render 'update_bulletin_file' } + end + end + + else + + @bulletin = Bulletin.find(params[:id]) + + # @bulletin.image.clear if params[:bulletin][:image_del] == '1' + # if params[:bulletin][:image_del] == '1' + # @bulletin.remove_image! + # @bulletin.image_del = nil + # params[:bulletin][:image_del] = nil + # end - delete_out_invalid_date_from_params - respond_to do |format| - - if @bulletin.update_attributes(params[:bulletin]) - if(is_manager? || is_admin?) - @bulletin.is_checked = true - @bulletin.is_rejected = false - @bulletin.de_pending! - end - # if (params[:bulletin][:is_checked] == "false") - # @bulletin.is_rejected = true - # @bulletin.save! - # end - # if (@bulletin.deadline < @bulletin.postdate rescue nil) - # @bulletin.deadline = nil - # @bulletin.update_user_id = current_user.id - # @bulletin.save! - # end - # format.html { redirect_to(panel_announcement_back_end_bulletin_url(@bulletin), :notice => t('bulletin.update_bulletin_success')) } - format.html { redirect_to(panel_announcement_back_end_bulletins_url, :notice => t('bulletin.update_bulletin_success')) } - format.js { render 'toggle_enable' } - format.xml { head :ok } - else - get_tags - format.html { render :action => "edit" } - format.xml { render :xml => @bulletin.errors, :status => :unprocessable_entity } - end - end - + delete_out_invalid_date_from_params + respond_to do |format| + + if @bulletin.update_attributes(params[:bulletin]) + if(is_manager? || is_admin?) + @bulletin.is_checked = true + @bulletin.is_rejected = false + @bulletin.de_pending! + end + # if (params[:bulletin][:is_checked] == "false") + # @bulletin.is_rejected = true + # @bulletin.save! + # end + # if (@bulletin.deadline < @bulletin.postdate rescue nil) + # @bulletin.deadline = nil + # @bulletin.update_user_id = current_user.id + # @bulletin.save! + # end + # format.html { redirect_to(panel_announcement_back_end_bulletin_url(@bulletin), :notice => t('bulletin.update_bulletin_success')) } + format.html { redirect_to(panel_announcement_back_end_bulletins_url, :notice => t('bulletin.update_bulletin_success')) } + format.js { render 'toggle_enable' } + format.xml { head :ok } + else + get_tags + format.html { render :action => "edit" } + format.xml { render :xml => @bulletin.errors, :status => :unprocessable_entity } + end + end + end end @@ -291,7 +316,7 @@ class Panel::Announcement::BackEnd::BulletinsController < OrbitBackendController @bulletin.destroy respond_to do |format| - + format.html { redirect_to(panel_announcement_back_end_bulletins_url) } # format.xml { head :ok } format.js @@ -299,21 +324,21 @@ class Panel::Announcement::BackEnd::BulletinsController < OrbitBackendController end # def top_edit - - # Bulletin.where(id: params[:id]).update_all( is_top: true ) - # respond_to do |format| - # format.html { redirect_to(panel_announcement_back_end_bulletins_url) } - # format.xml { head :ok } - # end - + + # Bulletin.where(id: params[:id]).update_all( is_top: true ) + # respond_to do |format| + # format.html { redirect_to(panel_announcement_back_end_bulletins_url) } + # format.xml { head :ok } # end - + + # end + def load_quick_edit @bulletin = Bulletin.find(params[:id]) @type = params[:type] @bulletin_categories = BulletinCategory.all - #TODO 需要做 manager ,admin 才可以 all. 其他 available就好 + #TODO 需要做 manager ,admin 才可以 all. 其他 available就好 get_tags end @@ -325,9 +350,9 @@ class Panel::Announcement::BackEnd::BulletinsController < OrbitBackendController redirect_to panel_announcement_back_end_bulletins_url(:filter => params[:filter], :direction => params[:direction], :sort => params[:sort], :sort_options => params[:sort_options]) end - + protected - + def delete_out_invalid_date_from_params if((params[:bulletin]["deadline(1i)"] && params[:bulletin]["deadline(1i)"].blank?) or (params[:bulletin]["deadline(2i)"] && params[:bulletin]["deadline(2i)"].blank?) or (params[:bulletin]["deadline(3i)"] && params[:bulletin]["deadline(3i)"].blank?)) params[:bulletin].delete("deadline(1i)") @@ -361,10 +386,10 @@ class Panel::Announcement::BackEnd::BulletinsController < OrbitBackendController # redirect_to :action => :index # end # end - + def get_tags - module_app = ModuleApp.first(:conditions => {:key => 'announcement'}) - @tags = Tag.all(:conditions => {:module_app_id => module_app.id}).order_by(I18n.locale, :asc) rescue [] + module_app = ModuleApp.first(:conditions => {:key => 'announcement'}) + @tags = Tag.all(:conditions => {:module_app_id => module_app.id}).order_by(I18n.locale, :asc) rescue [] end def clean_values @@ -377,5 +402,4 @@ class Panel::Announcement::BackEnd::BulletinsController < OrbitBackendController end rescue nil end end - end diff --git a/vendor/built_in_modules/announcement/app/views/panel/announcement/plugin/_profile.html.erb b/vendor/built_in_modules/announcement/app/views/panel/announcement/plugin/_profile.html.erb index 2cb15a65..5bb852e3 100644 --- a/vendor/built_in_modules/announcement/app/views/panel/announcement/plugin/_profile.html.erb +++ b/vendor/built_in_modules/announcement/app/views/panel/announcement/plugin/_profile.html.erb @@ -10,13 +10,13 @@<%= t('bulletin.category') %> | -<%= t('bulletin.title') %> | -<%= t('bulletin.start_date') %> | -<%= t('bulletin.end_date') %> | -<%= t('bulletin.tags') %> | +<%= t('category') %> | +<%= t('title') %> | +<%= t('start_date') %> | +<%= t('end_date') %> | +<%= t('tags') %> | <% if not @user%> -<%= t('bulletin.last_modified') %> | +<%= t('last_modified') %> | <% end %><%= display_date_time(bulletin.deadline) %> | <%else%> -<%= t('bulletin.no_deadline') %> | +<%= t('no_deadline') %> | <% end %>
diff --git a/vendor/built_in_modules/announcement/config/routes.rb b/vendor/built_in_modules/announcement/config/routes.rb
index 9de003d3..857a4ac6 100644
--- a/vendor/built_in_modules/announcement/config/routes.rb
+++ b/vendor/built_in_modules/announcement/config/routes.rb
@@ -6,6 +6,7 @@ Rails.application.routes.draw do
match 'approval_setting' => "approvals#setting" ,:as => :approval_setting,:via => :get
match 'approval_setting' => "approvals#update_setting" ,:as => :approval_setting,:via => :post
match 'approval_setting' => "approvals#user_list" ,:as => :approval_user_list,:via => :put
+ #match 'get_bulletins_json' => "bulletins#get_bulletins_json" ,:as => :bulletins_json_list,:via => :get
resources :bulletins do
match "approve/:bulletin_id" => "approvals#preview_and_approve",:as => :approval_preview,:via => :put
match "approve/:bulletin_id" => "approvals#approve",:as => :approve,:via => :post
@@ -18,21 +19,22 @@ Rails.application.routes.draw do
post "preview"
put "preview"
get 'delete'
+ get 'get_bulletins_json'
end
match "file_quick_add/:bulletin_id" => "bulletins#file_quick_add" ,:as => :file_quick_add
match "file_quick_edit/:bulletin_id" => "bulletins#file_quick_edit" ,:as => :file_quick_edit
end
-
+
resources :bulletin_categorys
-
- resources :bulletin_links, :controller => 'bulletin_links' do
+
+ resources :bulletin_links, :controller => 'bulletin_links' do
match "link_quick_edit/:bulletin_link_id" => "bulletin_links#link_quick_edit" ,:as => :link_quick_edit
end
-
- resources :bulletin_files, :controller => 'bulletin_files' do
+
+ resources :bulletin_files, :controller => 'bulletin_files' do
match "file_quick_edit/:bulletin_file_id" => "bulletin_files#file_quick_edit" ,:as => :file_quick_edit
end
-
+
resources :tags
end
namespace :front_end do
diff --git a/vendor/built_in_modules/gallery/app/controllers/panel/gallery/back_end/albums_controller.rb b/vendor/built_in_modules/gallery/app/controllers/panel/gallery/back_end/albums_controller.rb
index 59c251a4..bf32b693 100644
--- a/vendor/built_in_modules/gallery/app/controllers/panel/gallery/back_end/albums_controller.rb
+++ b/vendor/built_in_modules/gallery/app/controllers/panel/gallery/back_end/albums_controller.rb
@@ -1,190 +1,232 @@
class Panel::Gallery::BackEnd::AlbumsController < OrbitBackendController
-include AdminHelper
-
- # before_filter :force_order_for_visitor,:only=>[:index]
- before_filter :force_order_for_user#,:except => [:index]
+ include AdminHelper
- def index
- if is_manager? || is_admin? || is_sub_manager?
- @authenticated = true #turn this value to false for view only
- else
- @authenticated = false
- end
- @categorylist = GalleryCategory.all
- @cid = params['cat']
- @tags = GalleryTag.all
- end
+ before_filter :force_order_for_user, :except => [:index,:get_album_json]
- def show
- if is_manager? || is_admin? || is_sub_manager?
- @authenticated = true #turn this value to false for view only
- else
- @authenticated = false
- end
- @album = GalleryAlbum.find(params[:id])
- @tags = GalleryTag.all
- end
+ def index
+ if is_manager? || is_admin? || is_sub_manager?
+ @authenticated = true #turn this value to false for view only
+ else
+ @authenticated = false
+ end
+ @categorylist = GalleryCategory.all
+ @cid = params['cat']
+ @tags = GalleryTag.all
+ end
- def new
- if is_manager? || is_admin?
- @categorylist = GalleryCategory.all
- elsif is_sub_manager?
- @categorylist = GalleryCategory.authed_for_user(current_user,"new_album")
- end
- @album = GalleryAlbum.new
- render :layout => false
- end
+ def show
+ if is_manager? || is_admin? || is_sub_manager?
+ @authenticated = true #turn this value to false for view only
+ else
+ @authenticated = false
+ end
+ @album = GalleryAlbum.find(params[:id])
+ @tags = GalleryTag.all
+ end
- def create
- album = GalleryAlbum.new(params[:gallery_album])
- album.save!
- respond_to do |h|
- h.js
- end
- end
+ def new
+ if is_manager? || is_admin?
+ @categorylist = GalleryCategory.all
+ elsif is_sub_manager?
+ @categorylist = GalleryCategory.authed_for_user(current_user,"new_album")
+ end
+ @album = GalleryAlbum.new
+ render :layout => false
+ end
- def get_albums
- @categoryids = params["cid"]
- @tags = params["tid"]
- @albums = Array.new
- if @categoryids == "all"
- if @tags
- if @tags.kind_of?(Array)
- @tags.each do |tag|
- @albums << GalleryAlbum.where(tag_ids: tag)
- end
- else
- @albums << GalleryAlbum.where(tag_ids: @tags)
- end
- else
- @albums << GalleryAlbum.all
- end
- else
- @categoryids.each do |id|
- category = GalleryCategory.find(id)
- if @tags
- if @tags.kind_of?(Array)
- @tags.each do |tag|
- @albums << category.gallery_albums.where(tag_ids: tag)
- end
- else
- @albums << category.gallery_albums.where(tag_ids: @tags)
- end
- else
- @albums << category.gallery_albums.all
- end
- end
- end
- @output = Array.new
- @albums.each do |album|
- @albs = Array.new
- album.each do |values|
- tags = Array.new
- values.tag_ids.each do |tag|
- tags << GalleryTag.find(tag)[I18n.locale]
- end
- category = GalleryCategory.find(values.gallery_category_id).name
- @albs << {"_id"=>values.id,"show_path"=>panel_gallery_back_end_album_path(values),"cover"=>values.cover,"cover_path"=>values.cover_path,"description"=>values.description,"category_name"=>category,"gallery_category_id" => values.gallery_category_id,"name"=>values.name,"tag_ids"=>values.tag_ids,"tag_names"=>tags}
- end
- @output << @albs
- end
- render :json=>@output.to_json
- end
+ def create
+ album = GalleryAlbum.new(params[:gallery_album])
+ album.save!
+ respond_to do |h|
+ h.js
+ end
+ end
- def destroy
- album = GalleryAlbum.find(params[:id])
- album.delete
- render :json =>{"success"=>true}.to_json
- end
+ def get_albums
+ @categoryids = params["cid"]
+ @tags = params["tid"]
+ @albums = Array.new
+ if @categoryids == "all"
+ if @tags
+ if @tags.kind_of?(Array)
+ @tags.each do |tag|
+ @albums << GalleryAlbum.where(tag_ids: tag)
+ end
+ else
+ @albums << GalleryAlbum.where(tag_ids: @tags)
+ end
+ else
+ @albums << GalleryAlbum.all
+ end
+ else
+ @categoryids.each do |id|
+ category = GalleryCategory.find(id)
+ if @tags
+ if @tags.kind_of?(Array)
+ @tags.each do |tag|
+ @albums << category.gallery_albums.where(tag_ids: tag)
+ end
+ else
+ @albums << category.gallery_albums.where(tag_ids: @tags)
+ end
+ else
+ @albums << category.gallery_albums.all
+ end
+ end
+ end
+ @output = Array.new
+ @albums.each do |album|
+ @albs = Array.new
+ album.each do |values|
+ tags = Array.new
+ values.tag_ids.each do |tag|
+ tags << GalleryTag.find(tag)[I18n.locale]
+ end
+ category = GalleryCategory.find(values.gallery_category_id).name
+ @albs << {"_id"=>values.id,"show_path"=>panel_gallery_back_end_album_path(values),"cover"=>values.cover,"cover_path"=>values.cover_path,"description"=>values.description,"category_name"=>category,"gallery_category_id" => values.gallery_category_id,"name"=>values.name,"tag_ids"=>values.tag_ids,"tag_names"=>tags}
+ end
+ @output << @albs
+ end
+ render :json=>@output.to_json
+ end
- def edit
- if is_manager? || is_admin? || is_sub_manager?
- @album = GalleryAlbum.find(params[:id])
- @images = @album.gallery_images.all
- @album_name = @album.name_translations
- @cover = @album.cover
- @tags = GalleryTag.all
- end
- end
+ def destroy
+ album = GalleryAlbum.find(params[:id])
+ album.delete
+ render :json =>{"success"=>true}.to_json
+ end
- def set_cover
- album = GalleryAlbum.find(params[:album_id])
- image = GalleryImage.find(params[:imageid])
- album.update_attributes({:cover_path => image.file.thumb.url, :cover=>params[:imageid]})
- render :json =>{"success"=>true}.to_json
- end
+ def edit
+ if is_manager? || is_admin? || is_sub_manager?
+ @album = GalleryAlbum.find(params[:id])
+ @images = @album.gallery_images.all
+ @album_name = @album.name_translations
+ @cover = @album.cover
+ @tags = GalleryTag.all
+ end
+ end
- def imgs
- @album = GalleryAlbum.find(params[:album_id])
- @tag_names = Array.new
- @images = @album.gallery_images.all
- @output = Array.new
- @images.each do |values|
- tags = Array.new
- values.tag_ids.each do |tag|
- tags << GalleryTag.find(tag)[I18n.locale]
- end
- @output << {"_id"=>values.id,"theater_link"=>panel_gallery_back_end_album_image_path(values),"description"=>values.description,"title"=>values.title,"file"=>values.file,"gallery_album_id"=>values.gallery_album_id,"tag_ids"=>values.tag_ids,"tag_names"=>tags}
- end
- if is_manager? || is_admin? || is_sub_manager?
- @authenticated = true #turn this value to false for view only
- else
- @authenticated = false
- end
- if @authenticated
- render :json=>{"images" => @output, "tags" => @album.tag_ids}.to_json
- else
- @album.tag_ids.each do |tag|
- @tag_names << GalleryTag.find(tag)[I18n.locale]
- end
- render :json=>{"images" => @output, "tags" => @album.tag_ids, "tag_names" => @tag_names}.to_json
- end
- end
- def upload_panel
- @album = GalleryAlbum.find(params[:album_id])
- render :layout => false
- end
- def upload_image
- @album = GalleryAlbum.find(params[:album_id])
- @files = params['files']
- a = Array.new
- @files.each do |file|
- @image = @album.gallery_images.new
- @image.file = file
- @image.save!
- a << {"thumbnail_url"=>@image.file.thumb.url}
- end
- render :json=>a.to_json
- end
- def images_tags
- album = GalleryAlbum.find(params[:album_id])
- tags = Array.new
- images = album.gallery_images.all
- images.each do |image|
- tags << {"id"=>image.id, "tags" => image.tag_ids}
- end
- render :json=>tags.to_json
- end
+ def set_cover
+ album = GalleryAlbum.find(params[:album_id])
+ image = GalleryImage.find(params[:imageid])
+ album.update_attributes({:cover_path => image.file.thumb.url, :cover=>params[:imageid]})
+ render :json =>{"success"=>true}.to_json
+ end
- def update
- @album = GalleryAlbum.find(params[:id])
- @album.update_attributes(params[:gallery_album])
- if is_manager? || is_admin? || is_sub_manager?
- @authenticated = true #turn this value to false for view only
- else
- @authenticated = false
- end
- if params['delete_cover'] == "true"
- @album.update_attributes(:cover=>"default")
- end
- @tags = GalleryTag.all
- render :action => :show
- end
+ def get_album_json
+ albums = GalleryAlbum.all
+ output = Array.new
+ albums.each do |album|
+ tag_names = Array.new
+ all_image = Array.new
+
+ images = album.gallery_images.all
+ images.each do |image|
+ tags = Array.new
+
+ image.tag_ids.each do |tag|
+ tags << GalleryTag.find(tag)[I18n.locale]
+ end
+
+ all_image << {
+ image_title: image.title,
+ image_description: image.description,
+ image_file: { url: "http://#{request.host_with_port+image.file.url}",
+ thumb: "http://#{request.host_with_port+image.file.thumb.to_s}"},
+ image_tag_names: tags}
+ end
+
+ album.tag_ids.each do |tag|
+ tag_names << GalleryTag.find(tag)[I18n.locale]
+ end
+
+ output << {
+ album_cover_file: "http://#{request.host_with_port+album.cover_path}",
+ album_name: album.name,
+ album_tag_names: tag_names,
+ images: all_image
+ }
+ end
+
+ #render :json=>{:images => @output,
+ # :tag_names => @tag_names}.to_json
+ render :json=>JSON.pretty_generate(output)
+ end
+
+ def imgs
+ @album = GalleryAlbum.find(params[:album_id])
+ @tag_names = Array.new
+ @images = @album.gallery_images.all
+ @output = Array.new
+ @images.each do |values|
+ tags = Array.new
+ values.tag_ids.each do |tag|
+ tags << GalleryTag.find(tag)[I18n.locale]
+ end
+ @output << { _id: values.id,
+ theater_link: panel_gallery_back_end_album_image_path(values),
+ description: values.description,
+ title: values.title,
+ file: values.file,
+ gallery_album_id: values.gallery_album_id,
+ tag_ids: values.tag_ids,
+ tag_names: tags}
+ end
+ if is_manager? || is_admin? || is_sub_manager?
+ @authenticated = true #turn this value to false for view only
+ else
+ @authenticated = false
+ end
+ if @authenticated
+ render :json=>{"images" => @output, "tags" => @album.tag_ids}.to_json
+ else
+ @album.tag_ids.each do |tag|
+ @tag_names << GalleryTag.find(tag)[I18n.locale]
+ end
+ render :json=>{"images" => @output, "tags" => @album.tag_ids, "tag_names" => @tag_names}.to_json
+ end
+ end
+
+ def upload_panel
+ @album = GalleryAlbum.find(params[:album_id])
+ render :layout => false
+ end
+
+ def upload_image
+ @album = GalleryAlbum.find(params[:album_id])
+ @files = params['files']
+ a = Array.new
+ @files.each do |file|
+ @image = @album.gallery_images.new
+ @image.file = file
+ @image.save!
+ a << {"thumbnail_url"=>@image.file.thumb.url}
+ end
+ render :json=>a.to_json
+ end
+ def images_tags
+ album = GalleryAlbum.find(params[:album_id])
+ tags = Array.new
+ images = album.gallery_images.all
+ images.each do |image|
+ tags << {"id"=>image.id, "tags" => image.tag_ids}
+ end
+ render :json=>tags.to_json
+ end
+
+ def update
+ @album = GalleryAlbum.find(params[:id])
+ @album.update_attributes(params[:gallery_album])
+ if is_manager? || is_admin? || is_sub_manager?
+ @authenticated = true #turn this value to false for view only
+ else
+ @authenticated = false
+ end
+ if params['delete_cover'] == "true"
+ @album.update_attributes(:cover=>"default")
+ end
+ @tags = GalleryTag.all
+ render :action => :show
+ end
end
-
-
-
-
-
-
diff --git a/vendor/built_in_modules/gallery/config/routes.rb b/vendor/built_in_modules/gallery/config/routes.rb
index cb379d0b..df2e2b1c 100644
--- a/vendor/built_in_modules/gallery/config/routes.rb
+++ b/vendor/built_in_modules/gallery/config/routes.rb
@@ -1,4 +1,5 @@
Rails.application.routes.draw do
+
namespace :panel do
namespace :gallery do
namespace :back_end do
@@ -16,12 +17,11 @@ Rails.application.routes.draw do
match "album_images/#!/:id" => "album_images#show"
resources :album_images
-
-
- resources :gallery_categories
- resources :tags
- end
- namespace :front_end do
+ resources :gallery_categories
+ resources :tags
+ end
+
+ namespace :front_end do
match "get_albums" => "albums#get_albums"
# match "orbit_galleries" => "orbit_galleries#index"
# match "gallery_category_save" => "orbit_galleries#new_category"
@@ -51,6 +51,6 @@ Rails.application.routes.draw do
namespace :widget do
match "widget1" => "albums#widget1"
end
- end
+ end
end
end
diff --git a/vendor/built_in_modules/gprs/app/assets/javascripts/panel/gprs/back_end/locations.js b/vendor/built_in_modules/gprs/app/assets/javascripts/panel/gprs/back_end/locations.js
new file mode 100644
index 00000000..dee720fa
--- /dev/null
+++ b/vendor/built_in_modules/gprs/app/assets/javascripts/panel/gprs/back_end/locations.js
@@ -0,0 +1,2 @@
+// Place all the behaviors and hooks related to the matching controller here.
+// All this logic will automatically be available in application.js.
diff --git a/vendor/built_in_modules/gprs/app/assets/stylesheets/panel/gprs/back_end/locations.css b/vendor/built_in_modules/gprs/app/assets/stylesheets/panel/gprs/back_end/locations.css
new file mode 100644
index 00000000..afad32db
--- /dev/null
+++ b/vendor/built_in_modules/gprs/app/assets/stylesheets/panel/gprs/back_end/locations.css
@@ -0,0 +1,4 @@
+/*
+ Place all the styles related to the matching controller here.
+ They will automatically be included in application.css.
+*/
diff --git a/vendor/built_in_modules/gprs/app/controllers/panel/gprs/back_end/locations_controller.rb b/vendor/built_in_modules/gprs/app/controllers/panel/gprs/back_end/locations_controller.rb
index c09b1379..884e5d13 100644
--- a/vendor/built_in_modules/gprs/app/controllers/panel/gprs/back_end/locations_controller.rb
+++ b/vendor/built_in_modules/gprs/app/controllers/panel/gprs/back_end/locations_controller.rb
@@ -1,29 +1,77 @@
class Panel::Gprs::BackEnd::LocationsController < OrbitBackendController
-
- def index
- @newlocation = Location.new
- end
- def create
- debugger
- @newlocation = Location.new(params[:location])
- @newlocation.save!
- render :action => "index"
- end
+ #before_filter :clean_values, :only => [:create, :update]
- def get_locations
- locations = Location.all
- @data = Array.new
+ before_filter :force_order_for_visitor,:only => [:index, :new, :edit, :delete]
+ before_filter :force_order_for_user,:except => :get_locations
+ #before_filter :for_app_sub_manager,:except => [:index, :new, :edit, :delete, :get_locations]
- locations.each do |location|
- picurl = "http://"+request.host + location.file.url
- thumburl = "http://"+request.host + location.file.thumb.url
- @data << {"name"=>location.name,"pic_url"=>picurl,"thumb_url"=>thumburl,"description"=>location.description}
- end
- render :json => @data.to_json
- end
-
+ def index
+ @locations = Location.all
+ respond_to do |format|
+ format.html # new.html.erb
+ format.json { render json: @locations }
+ end
+ end
+
+ def new
+ @location = Location.new
+
+ respond_to do |format|
+ format.html # new.html.erb
+ format.json { render json: @location }
+ end
+ end
+
+ def edit
+ @location = Location.find(params[:id])
+ end
+
+ def show
+ @location = Location.find(params[:id])
+ respond_to do |format|
+ format.html
+ format.json { render json: @location }
+ end
+ end
+
+ def create
+ @location = Location.new(params[:location])
+ @location.save!
+ redirect_to panel_gprs_back_end_locations_url
+ end
+
+ def update
+ @location = Location.find(params[:id])
+ @location.update_attributes(params[:location])
+ redirect_to panel_gprs_back_end_locations_url
+ end
+
+ def destroy
+ @location = Location.find(params[:id])
+ @location.destroy
+ redirect_to panel_gprs_back_end_locations_url
+
+ end
+
+ def get_locations
+ locations = Location.all
+ @data = Array.new
+
+ locations.each do |location|
+ picurl = "http://#{request.host_with_port + location.file.url}",
+ thumburl = "http://#{request.host_with_port + location.file.thumb.url}"
+ @data << { name: location.name,
+ pic_url: picurl,
+ thumb_url: thumburl,
+ longitude: location.longitude,
+ latitude: location.latitude,
+ description: location.description }
+ end
+
+ #print readable json
+ render :json => JSON.pretty_generate({location: @data})
+
+ #render :json => {location: @data}.to_json
+ end
end
-
-
-
diff --git a/vendor/built_in_modules/gprs/app/helpers/panel/gprs/back_end/locations_helper.rb b/vendor/built_in_modules/gprs/app/helpers/panel/gprs/back_end/locations_helper.rb
new file mode 100644
index 00000000..50985d54
--- /dev/null
+++ b/vendor/built_in_modules/gprs/app/helpers/panel/gprs/back_end/locations_helper.rb
@@ -0,0 +1,2 @@
+module Panel::Gprs::BackEnd::LocationsHelper
+end
diff --git a/vendor/built_in_modules/gprs/app/models/location.rb b/vendor/built_in_modules/gprs/app/models/location.rb
index 2f955205..f6455920 100644
--- a/vendor/built_in_modules/gprs/app/models/location.rb
+++ b/vendor/built_in_modules/gprs/app/models/location.rb
@@ -1,12 +1,11 @@
class Location
- include Mongoid::Document
- include Mongoid::Timestamps
+ include Mongoid::Document
+ include Mongoid::Timestamps
- mount_uploader :file, GprsUploader
+ mount_uploader :file, GprsUploader
- field :name
- field :description
- field :longitude, type: Float
- field :latitude, type: Float
-
-end
\ No newline at end of file
+ field :name
+ field :description
+ field :longitude, type: Float
+ field :latitude, type: Float
+end
diff --git a/vendor/built_in_modules/gprs/app/views/panel/gprs/back_end/locations/_form.html.erb b/vendor/built_in_modules/gprs/app/views/panel/gprs/back_end/locations/_form.html.erb
new file mode 100644
index 00000000..62e8b21b
--- /dev/null
+++ b/vendor/built_in_modules/gprs/app/views/panel/gprs/back_end/locations/_form.html.erb
@@ -0,0 +1,30 @@
+
+
+
+
+ <%= f.text_field :name, :class=>"span4", :placeholder => "Area" %>
+
+
+
+
+
+ <%= f.file_field :file %>
+
+
+
+
+
+ <%= f.text_field :longitude, :class=>"span2", :placeholder => "Longitude" %>
+ <%= f.text_field :latitude, :class=>"span2", :placeholder => "Langitude" %>
+
+
+
+
+
+ <%= f.text_area :description, :class=>"span4", :cols=>"30", :row=>"5" %>
+
+
+
diff --git a/vendor/built_in_modules/gprs/app/views/panel/gprs/back_end/locations/edit.html.erb b/vendor/built_in_modules/gprs/app/views/panel/gprs/back_end/locations/edit.html.erb
new file mode 100644
index 00000000..82a59afa
--- /dev/null
+++ b/vendor/built_in_modules/gprs/app/views/panel/gprs/back_end/locations/edit.html.erb
@@ -0,0 +1,4 @@
+<%= form_for @location, :url=> panel_gprs_back_end_location_path(@location), :html => { :class=>"form-horizontal"} do |f| %>
+ <%= render :partial => 'form', :locals => {:f => f} %>
+<% end %>
+
diff --git a/vendor/built_in_modules/gprs/app/views/panel/gprs/back_end/locations/index.html.erb b/vendor/built_in_modules/gprs/app/views/panel/gprs/back_end/locations/index.html.erb
index 912c0184..6731688d 100644
--- a/vendor/built_in_modules/gprs/app/views/panel/gprs/back_end/locations/index.html.erb
+++ b/vendor/built_in_modules/gprs/app/views/panel/gprs/back_end/locations/index.html.erb
@@ -1,42 +1,28 @@
+
+ <%= f.submit "Save", :class=>"btn" %>
+
+
-
-
-
-
- <%= f.text_field :name, :class=>"span4", :placeholder => "Area" %>
-
-
-
-
-
-
- <%= f.file_field :file %>
-
-
-
-
-
-
- <%= f.text_field :longitude, :class=>"span2", :placeholder => "Longitude" %>
- <%= f.text_field :latitude, :class=>"span2", :placeholder => "Langitude" %>
-
-
-
-
-
-
-
-
- <%= f.text_area :description, :class=>"span4", :cols=>"30", :row=>"5" %>
-
-
-
- <% end %>
-
\ No newline at end of file
+
-
- <%= f.submit "Save", :class=>"btn" %>
-
- <%= link_to 'New', new_panel_gprs_back_end_location_path %> |
diff --git a/vendor/built_in_modules/gprs/app/views/panel/gprs/back_end/locations/new.html.erb b/vendor/built_in_modules/gprs/app/views/panel/gprs/back_end/locations/new.html.erb
new file mode 100644
index 00000000..4f911d83
--- /dev/null
+++ b/vendor/built_in_modules/gprs/app/views/panel/gprs/back_end/locations/new.html.erb
@@ -0,0 +1,3 @@
+<%= form_for @location, :url=> panel_gprs_back_end_locations_path, :html => { :class=>"form-horizontal"} do |f| %>
+ <%= render :partial => 'form', :locals => {:f => f} %>
+<% end %>
diff --git a/vendor/built_in_modules/gprs/app/views/panel/gprs/back_end/locations/show.html.erb b/vendor/built_in_modules/gprs/app/views/panel/gprs/back_end/locations/show.html.erb
new file mode 100644
index 00000000..e69de29b
diff --git a/vendor/built_in_modules/gprs/config/routes.rb b/vendor/built_in_modules/gprs/config/routes.rb
index 050b2cbd..0ba8a27c 100644
--- a/vendor/built_in_modules/gprs/config/routes.rb
+++ b/vendor/built_in_modules/gprs/config/routes.rb
@@ -1,14 +1,12 @@
Rails.application.routes.draw do
- namespace :panel do
- namespace :gprs do
- namespace :back_end do
+ namespace :panel do
+ namespace :gprs do
+ namespace :back_end do
- match "locations/get_locations" => "locations#get_locations"
-
- resources :locations
-
- end
- end
- end
+ match "locations/get_locations" => "locations#get_locations"
+ resources :locations
+ end
+ end
+ end
end
diff --git a/vendor/built_in_modules/gprs/test/functional/panel/gprs/back_end/locations_controller_test.rb b/vendor/built_in_modules/gprs/test/functional/panel/gprs/back_end/locations_controller_test.rb
new file mode 100644
index 00000000..bb6d0908
--- /dev/null
+++ b/vendor/built_in_modules/gprs/test/functional/panel/gprs/back_end/locations_controller_test.rb
@@ -0,0 +1,14 @@
+require 'test_helper'
+
+class Panel::Gprs::BackEnd::LocationsControllerTest < ActionController::TestCase
+ test "should get index" do
+ get :index
+ assert_response :success
+ end
+
+ test "should get edit" do
+ get :edit
+ assert_response :success
+ end
+
+end
diff --git a/vendor/built_in_modules/gprs/test/unit/helpers/panel/gprs/back_end/locations_helper_test.rb b/vendor/built_in_modules/gprs/test/unit/helpers/panel/gprs/back_end/locations_helper_test.rb
new file mode 100644
index 00000000..e1302ea2
--- /dev/null
+++ b/vendor/built_in_modules/gprs/test/unit/helpers/panel/gprs/back_end/locations_helper_test.rb
@@ -0,0 +1,4 @@
+require 'test_helper'
+
+class Panel::Gprs::BackEnd::LocationsHelperTest < ActionView::TestCase
+end
|
---|