From 79f67208fae40f75a4c040790306d64c532fae84 Mon Sep 17 00:00:00 2001 From: "Matthew K. Fu JuYuan" Date: Tue, 22 May 2012 13:22:24 +0800 Subject: [PATCH] js for preventing user do stupid things durning ajax --- app/assets/images/ajax-loader.gif | Bin 0 -> 8238 bytes app/assets/javascripts/inc/ajax_setting.js | 14 ++++++++++ app/views/layouts/new_admin.html.erb | 1 + .../back_end/approvals_controller.rb | 2 +- .../back_end/news_approvals_controller.rb | 22 ++++++---------- .../back_end/news_approvals/setting.html.erb | 24 +++++++++++++----- .../back_end/news_approvals/setting.js.erb | 3 ++- 7 files changed, 44 insertions(+), 22 deletions(-) create mode 100644 app/assets/images/ajax-loader.gif create mode 100644 app/assets/javascripts/inc/ajax_setting.js diff --git a/app/assets/images/ajax-loader.gif b/app/assets/images/ajax-loader.gif new file mode 100644 index 0000000000000000000000000000000000000000..5f117fd81853bdfae799bef5cfedbec34ba407fb GIT binary patch literal 8238 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 literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/inc/ajax_setting.js b/app/assets/javascripts/inc/ajax_setting.js new file mode 100644 index 000000000..18d0da333 --- /dev/null +++ b/app/assets/javascripts/inc/ajax_setting.js @@ -0,0 +1,14 @@ +// $.ready(function(){ +// $('body').bind("ajaxSend", function(){ +// $('').appendTo('body'); +// }).bind("ajaxComplete", function(){ +// $('body > div.modal-backdrop').hide().remove(); +// }); +// }); +jQuery(document).ajaxStart(function(){ + $('').appendTo('body'); +}); + +jQuery(document).ajaxComplete(function(){ + $("#sys_modal").hide().remove(); +}); diff --git a/app/views/layouts/new_admin.html.erb b/app/views/layouts/new_admin.html.erb index 3a493a9d6..873b9f14b 100644 --- a/app/views/layouts/new_admin.html.erb +++ b/app/views/layouts/new_admin.html.erb @@ -9,6 +9,7 @@ <%= stylesheet_link_tag "new_admin" %> <%= javascript_include_tag "new_admin" %> + <%= javascript_include_tag "inc/ajax_setting" %> <%= yield :page_specific_css %> <%= yield :page_specific_javascript %> <%= csrf_meta_tag %> diff --git a/vendor/built_in_modules/announcement/app/controllers/panel/announcement/back_end/approvals_controller.rb b/vendor/built_in_modules/announcement/app/controllers/panel/announcement/back_end/approvals_controller.rb index 0177cd12f..cf966b24f 100644 --- a/vendor/built_in_modules/announcement/app/controllers/panel/announcement/back_end/approvals_controller.rb +++ b/vendor/built_in_modules/announcement/app/controllers/panel/announcement/back_end/approvals_controller.rb @@ -20,7 +20,7 @@ class Panel::Announcement::BackEnd::ApprovalsController < OrbitBackendControlle else @bulletin_category = @bulletin_categorys.first end - preload_object_auth = @bulletin_category.object_auths.where(title: 'fact_check').empty?? (@bulletin_category.object_auths.create! :title=> 'fact_check') : @bulletin_category.object_auths.where(title: 'fact_check') + preload_object_auth = @bulletin_category.get_object_auth_by_title('fact_check') @users_array = preload_object_auth.first.privilege_users rescue [] respond_to do |format| format.html diff --git a/vendor/built_in_modules/news/app/controllers/panel/news/back_end/news_approvals_controller.rb b/vendor/built_in_modules/news/app/controllers/panel/news/back_end/news_approvals_controller.rb index 20a3d3ebe..e9552141f 100644 --- a/vendor/built_in_modules/news/app/controllers/panel/news/back_end/news_approvals_controller.rb +++ b/vendor/built_in_modules/news/app/controllers/panel/news/back_end/news_approvals_controller.rb @@ -4,7 +4,7 @@ class Panel::News::BackEnd::NewsApprovalsController < OrbitBackendController include AdminHelper def preview_and_approve - @news_bulletin = NewsBulletin.find params[:news_bulletin_id] + @news_bulletin = NewsBulletin.find params[:news_category][:id] end def approve @@ -14,19 +14,13 @@ class Panel::News::BackEnd::NewsApprovalsController < OrbitBackendController def setting @sys_users = User.all(conditions: {admin: false}) @news_bulletin_categorys = NewsBulletinCategory.all - if params.has_key?(:category_id) - first_category = NewsBulletinCategory.find params[:category_id] - if params[:commit] == 'Update' - privilege_users = params[:users].collect{|key,value| User.find key } rescue [] - preload_object_auth_ary = first_category.object_auths.where(title: 'fact_check') || (first_category.object_auths.create :title=> 'fact_check') - preload_object_auth = preload_object_auth_ary.first - preload_object_auth.privilege_users = privilege_users - preload_object_auth.save! - end + @options_from_collection_for_select_news_bulletin_categorys = @news_bulletin_categorys.collect{|bc| [bc.i18n_variable[I18n.locale],bc.id] } + if params.has_key? :news_category + @news_bulletin_categorys = NewsBulletinCategory.find params[:news_category][:id] else - first_category = @news_bulletin_categorys.first + @news_bulletin_categorys = @news_bulletin_categorys.first end - preload_object_auth = first_category.object_auths.where(title: 'fact_check').empty?? (first_category.object_auths.create! :title=> 'fact_check') : first_category.object_auths.where(title: 'fact_check') + preload_object_auth = @news_bulletin_categorys.get_object_auth_by_title('fact_check') @users_array = preload_object_auth.first.privilege_users rescue [] respond_to do |format| format.html @@ -44,12 +38,12 @@ class Panel::News::BackEnd::NewsApprovalsController < OrbitBackendController end def user_list - @news_bulletin_category = NewsBulletinCategory.find params[:category_id] + @news_bulletin_category = NewsBulletinCategory.find params[:news_category][:id] end protected def update_setting_by_params - category = NewsBulletinCategory.find params[:category_id] + category = NewsBulletinCategory.find params[:news_category][:id] privilege_users = params[:users].collect{|key,value| User.find key } rescue [] object_auth_ary = category.object_auths.where(title: 'fact_check') || (category.object_auths.create :title=> 'fact_check') object_auth = object_auth_ary.first diff --git a/vendor/built_in_modules/news/app/views/panel/news/back_end/news_approvals/setting.html.erb b/vendor/built_in_modules/news/app/views/panel/news/back_end/news_approvals/setting.html.erb index f611154d6..7b8211b48 100644 --- a/vendor/built_in_modules/news/app/views/panel/news/back_end/news_approvals/setting.html.erb +++ b/vendor/built_in_modules/news/app/views/panel/news/back_end/news_approvals/setting.html.erb @@ -13,7 +13,7 @@
  • @@ -34,9 +34,21 @@ \ No newline at end of file diff --git a/vendor/built_in_modules/news/app/views/panel/news/back_end/news_approvals/setting.js.erb b/vendor/built_in_modules/news/app/views/panel/news/back_end/news_approvals/setting.js.erb index a01c9d6ab..0ca148da1 100644 --- a/vendor/built_in_modules/news/app/views/panel/news/back_end/news_approvals/setting.js.erb +++ b/vendor/built_in_modules/news/app/views/panel/news/back_end/news_approvals/setting.js.erb @@ -1 +1,2 @@ -$("#users_checkbox_ary").replaceWith('<%= (render :partial => 'privilege_user', :locals => {:users => @users_array}).html_safe%>'); \ No newline at end of file +$("#users_checkbox_ary").replaceWith('<%= escape_javascript(render :partial => "privilege_user", :locals => {:users => @users_array})%>'); +permissionCheckbox(); \ No newline at end of file