From 71ea2eb2dd5f7cc2e5b8e64eb7114a71e558f11b Mon Sep 17 00:00:00 2001 From: JiangRu Date: Fri, 26 Dec 2014 10:26:40 +0800 Subject: [PATCH] fix menu tag --- app/controllers/pages_controller.rb | 46 +++++++++++++---------------- 1 file changed, 21 insertions(+), 25 deletions(-) diff --git a/app/controllers/pages_controller.rb b/app/controllers/pages_controller.rb index 48ef10f..5cfca10 100644 --- a/app/controllers/pages_controller.rb +++ b/app/controllers/pages_controller.rb @@ -11,7 +11,7 @@ class PagesController < ApplicationController before_filter :set_edit_mode def index - @pages = Page.all + @pages = Page.all # render json: @pages end @@ -75,26 +75,13 @@ class PagesController < ApplicationController end params[:url] = page.url categories = [] - if page.module == "member" - if page.categories.first == "all" - categories = ["all"] - else - page.categories.each do |c| - category = Role.find(c) rescue nil - if !category.nil? && !category.disabled - categories << c - end - end + page.categories.each do |c| + category = Category.find(c) rescue nil + if !category.nil? && !category.disable + categories << c end - else - page.categories.each do |c| - category = Category.find(c) rescue nil - if !category.nil? && !category.disable - categories << c - end - end - categories = ["all"] if categories.blank? end + categories = ["all"] if categories.blank? @manifest = @key OrbitHelper.set_params params,current_user OrbitHelper.set_site_locale locale @@ -190,30 +177,38 @@ class PagesController < ApplicationController "id" => cat.id.to_s } end + tags = module_app.tags.collect do |t| + { + "name" => t.name, + "id" => t.id.to_s + } + end else categories = [] + tags = [] end end roles = roles.nil? ? [] : roles categories = categories.nil? ? [] : categories + tags = tags.nil? ? [] : tags if module_app.data_count.nil? - render :json => {"categories" => categories, "tags" => module_app.tags,"roles" => roles,"layouts" => (get_layouts module_app.key),"data_count" => {"present"=>false}, "locale" => I18n.locale.to_s}.to_json + render :json => {"categories" => categories, "tags" => tags,"roles" => roles,"layouts" => (get_layouts module_app.key),"data_count" => {"present"=>false}, "locale" => I18n.locale.to_s}.to_json else - render :json => {"categories" => categories, "tags" => module_app.tags,"roles" => roles,"layouts" => (get_layouts module_app.key),"data_count" => {"present"=>true,"start"=>module_app.data_count.begin, "end" => module_app.data_count.end}, "locale" => I18n.locale.to_s}.to_json + render :json => {"categories" => categories, "tags" => tags,"roles" => roles,"layouts" => (get_layouts module_app.key),"data_count" => {"present"=>true,"start"=>module_app.data_count.begin, "end" => module_app.data_count.end}, "locale" => I18n.locale.to_s}.to_json end end def new - @page = Page.new( + @page = Page.new( :enabled_for_mobile=>true, :menu_enabled_for=>["en", "zh_tw"], :enabled_for=>["en", "zh_tw"], :enabled_for_sitemap=>["en", "zh_tw"] ) - @pages = Page.where(:page_id.ne => "" , :page_id.exists => true) - @modules = ModuleApp.all.frontend_enabled.order_by(:key=>'asc') + @pages = Page.where(:page_id.ne => "" , :page_id.exists => true) + @modules = ModuleApp.all.frontend_enabled.order_by(:key=>'asc') end @@ -264,7 +259,7 @@ class PagesController < ApplicationController end end - private + private def get_layouts(module_app) layout_types = [] @@ -436,6 +431,7 @@ class PagesController < ApplicationController p = params.require(:page).permit(:number, :page_type, :page_id, :module, :layout, :parent_page, :data_count, :enabled_for_mobile, :member_sort_position, enabled_for_sitemap: [], enabled_for: [],menu_enabled_for: [], categories: [], tags: [], role_status: [], name_translations: valid_locales, external_url_translations: valid_locales) p["role_status"] = p["role_status"] || [] p["categories"] = p["categories"] || [] + p["tags"] = p["tags"] || [] p["enabled_for"] = p["enabled_for"] || [] p["menu_enabled_for"] = p["menu_enabled_for"] || [] p["enabled_for_sitemap"] = p["enabled_for_sitemap"] || []