From bbb3748d3c296c581eb2944887f73b8ec88ab42d Mon Sep 17 00:00:00 2001 From: luisramos0 Date: Sun, 15 Dec 2019 16:11:42 +0000 Subject: [PATCH] Simplify orders events logic --- .rubocop_todo.yml | 1 + .../spree/admin/orders_controller.rb | 5 ---- app/helpers/spree/admin/orders_helper.rb | 23 ++++++++++--------- 3 files changed, 13 insertions(+), 16 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index bc0d0d90c4..33970eb805 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -335,6 +335,7 @@ Rails/OutputSafety: - 'app/helpers/spree/admin/zones_helper.rb' - 'app/helpers/spree/reports_helper.rb' - 'app/helpers/spree/admin/navigation_helper.rb' + - 'app/helpers/spree/admin/orders_helper.rb' - 'app/serializers/api/product_serializer.rb' - 'lib/spree/money_decorator.rb' - 'spec/features/admin/orders_spec.rb' diff --git a/app/controllers/spree/admin/orders_controller.rb b/app/controllers/spree/admin/orders_controller.rb index a6d8e250b7..2ddc9dccc7 100644 --- a/app/controllers/spree/admin/orders_controller.rb +++ b/app/controllers/spree/admin/orders_controller.rb @@ -7,7 +7,6 @@ module Spree include OpenFoodNetwork::SpreeApiKeyLoader helper CheckoutHelper - before_filter :initialize_order_events before_filter :load_order, only: [:edit, :update, :fire, :resend, :invoice, :print, :print_ticket] before_filter :load_distribution_choices, only: [:new, :edit, :update] @@ -114,10 +113,6 @@ module Spree authorize! action, @order end - def initialize_order_events - @order_events = %w{cancel resume} - end - def model_class Spree::Order end diff --git a/app/helpers/spree/admin/orders_helper.rb b/app/helpers/spree/admin/orders_helper.rb index 324e73fd51..6f464f63fb 100644 --- a/app/helpers/spree/admin/orders_helper.rb +++ b/app/helpers/spree/admin/orders_helper.rb @@ -1,22 +1,15 @@ module Spree module Admin module OrdersHelper - # Renders all the extension partials that may have been specified in the extensions def event_links links = [] - @order_events.sort.each do |event| - if @order.send("can_#{event}?") - links << button_link_to(Spree.t(event), fire_admin_order_url(@order, :e => event), - :method => :put, - :icon => "icon-#{event}", - :data => { :confirm => Spree.t(:order_sure_want_to, :event => Spree.t(event)) }) - end - end + links << event_link("cancel") if @order.can_cancel? + links << event_link("resume") if @order.can_resume? links.join(' ').html_safe end def line_item_shipment_price(line_item, quantity) - Spree::Money.new(line_item.price * quantity, { currency: line_item.currency }) + Spree::Money.new(line_item.price * quantity, currency: line_item.currency) end def order_links(order) @@ -117,7 +110,15 @@ module Spree url: fire_admin_order_path(@order.number, e: 'cancel'), icon: 'icon-trash', confirm: t(:are_you_sure) } - end + end + + def event_link(event) + button_link_to(Spree.t(event), + fire_admin_order_url(@order, e: event), + method: :put, + icon: "icon-#{event}", + data: { confirm: Spree.t(:order_sure_want_to, event: Spree.t(event)) }) + end end end end