From 23317eb0fbc2c5f59d796b229222864f6d2fbd6a Mon Sep 17 00:00:00 2001 From: Michael Bianco Date: Thu, 1 Nov 2012 17:36:47 -0400 Subject: [PATCH] Adding button to order admin to reset digital downloads * Resets expire time * Resets download count --- .../spree/admin/orders_controller_decorator.rb | 7 +++++++ app/overrides/add_reset_digitals_to_admin_orders.rb | 7 +++++++ config/locales/en.yml | 2 ++ config/routes.rb | 9 +++++++-- 4 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 app/controllers/spree/admin/orders_controller_decorator.rb create mode 100644 app/overrides/add_reset_digitals_to_admin_orders.rb diff --git a/app/controllers/spree/admin/orders_controller_decorator.rb b/app/controllers/spree/admin/orders_controller_decorator.rb new file mode 100644 index 0000000..8f80716 --- /dev/null +++ b/app/controllers/spree/admin/orders_controller_decorator.rb @@ -0,0 +1,7 @@ +Spree::Admin::OrdersController.class_eval do + def reset_digitals + @order.reset_digital_links! + flash[:notice] = t(:downloads_reset) + redirect_to admin_order_url(@order) + end +end diff --git a/app/overrides/add_reset_digitals_to_admin_orders.rb b/app/overrides/add_reset_digitals_to_admin_orders.rb new file mode 100644 index 0000000..47c9b41 --- /dev/null +++ b/app/overrides/add_reset_digitals_to_admin_orders.rb @@ -0,0 +1,7 @@ +Deface::Override.new(:virtual_path => "spree/admin/shared/_order_tabs", + :name => "add_reset_}digitals_to_admin_orders", + :insert_after => ".sidebar", + :text => %q{ +<%= content_tag(:p, button_link_to(t(:reset_downloads), reset_digitals_admin_order_url(@order)), class: 'clear') if @order.digital? or true %> + }, + :disabled => false) \ No newline at end of file diff --git a/config/locales/en.yml b/config/locales/en.yml index cf62fd6..2126a3b 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1,5 +1,7 @@ en: digital_versions: Digital Versions + reset_downloads: Reset Digital Downloads + downloads_reset: Digital Downloads Reset current_file: Current File new_file: New File delete_file: Delete this file diff --git a/config/routes.rb b/config/routes.rb index 4c65727..cee532f 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -3,8 +3,13 @@ Spree::Core::Engine.routes.draw do resources :products do resources :digitals end + + resources :orders do + member do + get :reset_digitals + end + end end get '/digital/:secret', :to => 'digitals#show', :via => :get, :as => 'digital', :constraints => { :secret => /[a-zA-Z0-9]{30}/ } - -end \ No newline at end of file +end