diff --git a/app/helpers/link_helper.rb b/app/helpers/link_helper.rb index 98a0f43e5c..dde2433446 100644 --- a/app/helpers/link_helper.rb +++ b/app/helpers/link_helper.rb @@ -15,4 +15,12 @@ module LinkHelper prefix + url end end + + def new_tab_option + if feature?(:open_in_same_tab, spree_current_user) + {} + else + { target: "_blank" } + end + end end diff --git a/app/views/shared/menu/_signed_in.html.haml b/app/views/shared/menu/_signed_in.html.haml index 059580c1a2..8d5fec0fae 100644 --- a/app/views/shared/menu/_signed_in.html.haml +++ b/app/views/shared/menu/_signed_in.html.haml @@ -9,7 +9,7 @@ - if admin_user? or enterprise_user? %li - %a{href: spree.admin_dashboard_path, target:'_blank'} + %a{href: spree.admin_dashboard_path, **new_tab_option} %i.ofn-i_021-tools = t 'label_administration' diff --git a/app/views/shared/menu/_signed_in_offcanvas.html.haml b/app/views/shared/menu/_signed_in_offcanvas.html.haml index e5ec28bef4..1aa438391b 100644 --- a/app/views/shared/menu/_signed_in_offcanvas.html.haml +++ b/app/views/shared/menu/_signed_in_offcanvas.html.haml @@ -1,6 +1,6 @@ - if admin_user? or enterprise_user? %li - %a{href: spree.admin_dashboard_path, target:'_blank'} + %a{href: spree.admin_dashboard_path, **new_tab_option} %i.ofn-i_021-tools = t 'label_admin' diff --git a/lib/open_food_network/feature_toggle.rb b/lib/open_food_network/feature_toggle.rb index bac5fa61db..13c07573b2 100644 --- a/lib/open_food_network/feature_toggle.rb +++ b/lib/open_food_network/feature_toggle.rb @@ -58,6 +58,9 @@ module OpenFoodNetwork Activated for a user. The user (INRAE researcher) has access to anonymised sales. DESC + "open_in_same_tab" => <<~DESC, + Open the admin dashboard in the same tab instead of a new tab. + DESC }.merge(conditional_features).freeze; # Features you would like to be enabled to start with.