diff --git a/app/helpers/spree/admin/navigation_helper.rb b/app/helpers/spree/admin/navigation_helper.rb index 14aed35114..4a84b94f11 100644 --- a/app/helpers/spree/admin/navigation_helper.rb +++ b/app/helpers/spree/admin/navigation_helper.rb @@ -9,13 +9,14 @@ module Spree # /products would match /admin/products, /admin/products/5/variants etc. def tab(*args) options = { label: args.first.to_s } + if args.last.is_a?(Hash) + options = options.merge(args.last) + end # Return if resource is found and user is not allowed to :admin - return '' if klass = klass_for(options[:label]) && cannot?(:admin, klass) + klass = klass_for(options[:label]) + return '' if klass && cannot?(:admin, klass) - if args.last.is_a?(Hash) - options = options.merge(args.pop) - end options[:route] ||= "admin_#{args.first}" destination_url = options[:url] || spree.public_send("#{options[:route]}_path") @@ -45,17 +46,6 @@ module Spree content_tag('li', link, class: css_classes.join(' ')) end - def tab_with_cancan_check(*args) - options = { label: args.first.to_s } - if args.last.is_a?(Hash) - options = options.merge(args.last) - end - return '' if (klass = klass_for(options[:label])) && cannot?(:admin, klass) - - tab_without_cancan_check(*args) - end - alias_method_chain :tab, :cancan_check - # finds class for a given symbol / string # # Example :