mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-02-27 01:43:22 +00:00
Simplify orders events logic
This commit is contained in:
@@ -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'
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user