From 4b3a41d79f3476d71e2cfdac03f87e71d87ac8d1 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Boily Date: Thu, 2 Aug 2012 11:06:06 -0400 Subject: [PATCH] now reloading image listing and shows a flash message --- .../javascript/refinery/images.js.coffee.erb | 18 ++++++++++++++++-- .../refinery/admin/images_controller.rb | 5 +++++ images/config/routes.rb | 1 + 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/images/app/assets/javascript/refinery/images.js.coffee.erb b/images/app/assets/javascript/refinery/images.js.coffee.erb index 56fac1cd50..f12a3682c5 100644 --- a/images/app/assets/javascript/refinery/images.js.coffee.erb +++ b/images/app/assets/javascript/refinery/images.js.coffee.erb @@ -51,8 +51,7 @@ class Images if getParameterByName("modal") == "true" window.parent.document.getElementById("dialog_frame").contentDocument.location.reload(true); else - $('#flash_container', window.parent.document).html($("#inner_flash_container").html()) - parent.$(".ui-icon-closethick").trigger("click") + @set_flash_and_reload($("#inner_flash_container").html()) validate: (file) -> max_file_size = <%= Refinery::Images.max_image_size %> @@ -84,6 +83,21 @@ class Images error: (data) -> _this.post_error(file, data.responseText) + set_flash_and_reload: (message) -> + form = new FormData(); + form.append "notice", message + _this = @ # save current scope so we can use current object methods within $.ajax + $.ajax + type: 'POST' + url: "/refinery/images/set_flash" + data: form + contentType: false + processData: false + success: (data) -> + window.parent.location.reload(true) + error: (data) -> + window.parent.location.reload(true) + after_do_upload: (file) -> @files.remove file @upload_next() diff --git a/images/app/controllers/refinery/admin/images_controller.rb b/images/app/controllers/refinery/admin/images_controller.rb index 38000dbe13..f4d4634574 100644 --- a/images/app/controllers/refinery/admin/images_controller.rb +++ b/images/app/controllers/refinery/admin/images_controller.rb @@ -75,6 +75,11 @@ def create end end + def set_flash + flash.notice = t('uploaded_successfully', :scope => 'refinery.admin.images.form') + render :nothing => true, :layout => false + end + protected def init_dialog diff --git a/images/config/routes.rb b/images/config/routes.rb index f0751a15f3..ad6ccf3d0e 100644 --- a/images/config/routes.rb +++ b/images/config/routes.rb @@ -5,5 +5,6 @@ resources :images, :except => :show do get :insert, :on => :collection end + post "images/set_flash" => "images#set_flash" end end