diff --git a/app/models/spree/order.rb b/app/models/spree/order.rb index 6ba226f222..f9007012a5 100644 --- a/app/models/spree/order.rb +++ b/app/models/spree/order.rb @@ -357,6 +357,10 @@ module Spree complete? || resumed? || awaiting_return? || returned? end + def can_show_invoice? + complete? || resumed? || canceled? + end + # Finalizes an in progress order after checkout is complete. # Called after transition to complete state when payments will have been processed def finalize! diff --git a/app/views/spree/admin/shared/_order_tabs.html.haml b/app/views/spree/admin/shared/_order_tabs.html.haml index 78d6b18c95..5a630cc72d 100644 --- a/app/views/spree/admin/shared/_order_tabs.html.haml +++ b/app/views/spree/admin/shared/_order_tabs.html.haml @@ -61,10 +61,11 @@ %li{ class: adjustments_classes } = link_to_with_icon 'icon-cogs', t(:adjustments), spree.admin_order_adjustments_url(@order) - - if feature?(:invoices) - - invoices_classes = "active" if current == 'Invoices' - %li{ class: invoices_classes } - = link_to_with_icon 'icon-cogs', t(:invoices), spree.admin_order_invoices_url(@order) + - if feature?(:invoices, spree_current_user) + - if @order.can_show_invoice? + - invoices_classes = "active" if current == 'Invoices' + %li{ class: invoices_classes } + = link_to_with_icon 'icon-cogs', t(:invoices), spree.admin_order_invoices_url(@order) - if @order.completed? - authorizations_classes = "active" if current == "Return Authorizations"