Refactor OrderHelper.order_links: extract some logic from order_links to make it more simple and pass rubocop tests

This commit is contained in:
luisramos0
2019-06-19 15:50:37 +01:00
parent 67b5f08b07
commit ec2f99a467
2 changed files with 26 additions and 21 deletions

View File

@@ -68,7 +68,6 @@ Metrics/LineLength:
- app/helpers/shop_helper.rb
- app/helpers/spree/admin/base_helper_decorator.rb
- app/helpers/spree/admin/navigation_helper_decorator.rb
- app/helpers/spree/admin/orders_helper_decorator.rb
- app/helpers/spree/orders_helper.rb
- app/jobs/subscription_confirm_job.rb
- app/mailers/subscription_mailer.rb
@@ -429,7 +428,6 @@ Metrics/AbcSize:
- app/helpers/checkout_helper.rb
- app/helpers/i18n_helper.rb
- app/helpers/order_cycles_helper.rb
- app/helpers/spree/admin/orders_helper_decorator.rb
- app/helpers/spree/orders_helper.rb
- app/jobs/subscription_placement_job.rb
- app/mailers/producer_mailer.rb
@@ -570,7 +568,6 @@ Metrics/CyclomaticComplexity:
- app/helpers/checkout_helper.rb
- app/helpers/i18n_helper.rb
- app/helpers/order_cycles_helper.rb
- app/helpers/spree/admin/orders_helper_decorator.rb
- app/models/enterprise.rb
- app/models/enterprise_relationship.rb
- app/models/product_import/entry_processor.rb
@@ -600,7 +597,6 @@ Metrics/PerceivedComplexity:
- app/helpers/checkout_helper.rb
- app/helpers/i18n_helper.rb
- app/helpers/order_cycles_helper.rb
- app/helpers/spree/admin/orders_helper_decorator.rb
- app/models/enterprise_relationship.rb
- app/models/product_import/entry_processor.rb
- app/models/product_import/entry_validator.rb
@@ -646,7 +642,6 @@ Metrics/MethodLength:
- app/controllers/user_registrations_controller.rb
- app/helpers/checkout_helper.rb
- app/helpers/order_cycles_helper.rb
- app/helpers/spree/admin/orders_helper_decorator.rb
- app/jobs/subscription_placement_job.rb
- app/mailers/producer_mailer.rb
- app/models/column_preference.rb

View File

@@ -5,28 +5,38 @@ module Spree
@order ||= order
links = []
links << edit_order_link unless action_name == "edit"
if @order.complete?
links << resend_confirmation_link
if @order.distributor.can_invoice?
links << send_invoice_link_with_url
else
links << send_invoice_link_without_url
end
links << print_invoice_link
if Spree::Config.enable_receipt_printing?
links << print_ticket_link
links << select_ticket_printer_link
end
end
if @order.ready_to_ship?
links << ship_order_link
end
links << complete_order_links if @order.complete?
links << ship_order_link if @order.ready_to_ship?
links << cancel_order_link if @order.can_cancel?
links
end
private
def complete_order_links
complete_order_links = []
complete_order_links << resend_confirmation_link
complete_order_links << invoice_links
complete_order_links << ticket_links
complete_order_links
end
def invoice_links
invoice_links = []
invoice_links << if @order.distributor.can_invoice?
send_invoice_link_with_url
else
send_invoice_link_without_url
end
invoice_links << print_invoice_link
invoice_links
end
def ticket_links
return [] unless Spree::Config.enable_receipt_printing?
[print_ticket_link, select_ticket_printer_link]
end
def edit_order_link
{ name: t(:edit_order),
url: edit_admin_order_path(@order),