From 425a320c022d7f01ff625c553877e27e06f23b52 Mon Sep 17 00:00:00 2001 From: "Matt K. Fu" Date: Tue, 2 Apr 2013 18:39:46 +0800 Subject: [PATCH] fix widget and fronted setting interface. checked with Spen --- app/assets/javascripts/inc/update_cates_and_tags.js | 4 ++-- app/controllers/admin/page_parts_controller.rb | 2 +- app/controllers/admin/pages_controller.rb | 3 +-- app/helpers/admin/frontend_widget_interface.rb | 5 ++--- app/helpers/admin/page_parts_helper.rb | 1 - app/models/module_app.rb | 11 +++++++++-- .../page_parts/_default_widget_style_panel.html.erb | 1 - app/views/admin/page_parts/reload_widgets.js.erb | 4 ++-- app/views/admin/pages/reload_frontend_pages.js.erb | 6 +++--- 9 files changed, 20 insertions(+), 17 deletions(-) diff --git a/app/assets/javascripts/inc/update_cates_and_tags.js b/app/assets/javascripts/inc/update_cates_and_tags.js index 223cd8d7..229273c1 100644 --- a/app/assets/javascripts/inc/update_cates_and_tags.js +++ b/app/assets/javascripts/inc/update_cates_and_tags.js @@ -2,11 +2,11 @@ function update_cates_and_tags() { $('.select_option,.select_all').removeAttr('disabled'); $(".select_all:checked").each(function( obj ) { - $(this).parent().siblings('label').find('.select_option').attr('disabled',true); + // $(this).parent().siblings('label').find('.select_option').attr('disabled',"disabled"); $(this).parent().siblings('label').find('.select_option').removeAttr('checked'); }); $(".select_option:checked").each(function( obj ) { - $(this).parent().siblings('label').find('.select_all').attr('disabled',true); + // $(this).parent().siblings('label').find('.select_all').attr('disabled',"disabled"); $(this).parent().siblings('label').find('.select_all').removeAttr('checked'); }); } diff --git a/app/controllers/admin/page_parts_controller.rb b/app/controllers/admin/page_parts_controller.rb index d4f439c9..de212e50 100644 --- a/app/controllers/admin/page_parts_controller.rb +++ b/app/controllers/admin/page_parts_controller.rb @@ -31,7 +31,7 @@ class Admin::PagePartsController < OrbitBackendController @selected={ :module_app=> @part.module_app ? @part.module_app : nil, - :app_frontend_url=> @part.widget_path, #@module_apps.first + :app_frontend_url=> @part.widget_path || "default_widget", #@module_apps.first :category=>nil, #fetch by method: get_categories_and_tags :tag=>nil, #fetch by method: get_categories_and_tags :page_frontend_data_count=>nil, diff --git a/app/controllers/admin/pages_controller.rb b/app/controllers/admin/pages_controller.rb index 424a3ae4..837994e9 100644 --- a/app/controllers/admin/pages_controller.rb +++ b/app/controllers/admin/pages_controller.rb @@ -121,7 +121,7 @@ include Admin::FrontendWidgetInterface @index = params[:field_seri].to_i @item = Page.find(params[:id]) rescue Page.new @selected = { - :module_app=> (@item.module_app || ModuleApp.find(params[:module_app_id]) ), + :module_app=> (ModuleApp.find(params[:module_app_id]) || @item.module_app ), :default_widget_field=>params[:widget_field_value] } # @choosen_field = params[:widget_field_value] @@ -160,7 +160,6 @@ include Admin::FrontendWidgetInterface if @item.module_app && @item.module_app.key == 'page_content' && @item.page_contexts.blank? @item.page_contexts.build(:create_user_id => current_user.id, :update_user_id => current_user.id ) end - if @item.update_attributes(params[:page]) flash[:notice] = t('update.success.page') respond_to do |format| diff --git a/app/helpers/admin/frontend_widget_interface.rb b/app/helpers/admin/frontend_widget_interface.rb index 66061ae8..a9efe45b 100644 --- a/app/helpers/admin/frontend_widget_interface.rb +++ b/app/helpers/admin/frontend_widget_interface.rb @@ -21,15 +21,14 @@ protected def clean_tags_and_category_params field_name = set_field_name - if self.class==Admin::PagePartsController and params[field_name][:module_app].blank? params[field_name][:module_app] = nil end - if params[field_name][:tag].nil? || params[:page][:tag].include?("nil") + if params[field_name][:tag].nil? || params[field_name][:tag].include?("nil") params[field_name][:tag] = [] end - if params[field_name][:category].nil? || params[:page][:category].include?("nil") + if params[field_name][:category].nil? || params[field_name][:category].include?("nil") params[field_name][:category] = [] end end #of clean_tags_and_category_params diff --git a/app/helpers/admin/page_parts_helper.rb b/app/helpers/admin/page_parts_helper.rb index 4d78ef4c..59eb9971 100644 --- a/app/helpers/admin/page_parts_helper.rb +++ b/app/helpers/admin/page_parts_helper.rb @@ -33,7 +33,6 @@ module Admin::PagePartsHelper unless field_is_checked.nil? and assign_field_name_value.nil? origin_field = nil - origin_field = @selected[:module_app].widget_fields.select{|t| t.first.to_s==(assign_field_name_value || local_item.default_widget_field_name[i])}.first if origin_field and origin_field[2]==:link #choosen_field_is_link diff --git a/app/models/module_app.rb b/app/models/module_app.rb index d185b50c..80b21613 100644 --- a/app/models/module_app.rb +++ b/app/models/module_app.rb @@ -20,10 +20,17 @@ class ModuleApp end - scope :for_frontend_select,where(:key.in => OrbitApp::Module::FrontendUtility.all.keys).excludes(widgets: nil).where(enable_frontend: true).order_by(:title, :asc) - scope :for_widget_select,where(:key.in=>OrbitApp::Module::WidgetUtility.all.keys).order_by(:title, :asc) + # scope :for_frontend_select, scope :standard_sorting ,order_by(:title, :asc) + def self.for_widget_select + where(:key.in=>OrbitApp::Module::WidgetUtility.all.keys).order_by(:title, :asc) + end + + def self.for_frontend_select + where(:key.in => OrbitApp::Module::FrontendUtility.all.keys).excludes(widgets: nil).where(enable_frontend: true).order_by(:title, :asc) + end + def enable_frontend? self[:enable_frontend] end diff --git a/app/views/admin/page_parts/_default_widget_style_panel.html.erb b/app/views/admin/page_parts/_default_widget_style_panel.html.erb index 13892655..1c1d9ba8 100644 --- a/app/views/admin/page_parts/_default_widget_style_panel.html.erb +++ b/app/views/admin/page_parts/_default_widget_style_panel.html.erb @@ -5,7 +5,6 @@ <% when PagePart %> <% field_name = "page_part[widget_style]" %> <% end %> -