From 6fe2357ca0886fd53cdafe1dd26e9f028443d503 Mon Sep 17 00:00:00 2001 From: David Cook Date: Tue, 3 Feb 2026 12:54:04 +1100 Subject: [PATCH] Add enterprise permission create_sourced_variants --- .../admin/services/enterprise_relationships.js.coffee | 2 ++ config/locales/en.yml | 1 + .../services/enterprise_relationships_spec.js.coffee | 1 + spec/system/admin/enterprise_relationships_spec.rb | 9 +++++++-- 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/app/assets/javascripts/admin/services/enterprise_relationships.js.coffee b/app/assets/javascripts/admin/services/enterprise_relationships.js.coffee index 9d4668a8cc..1e57018e99 100644 --- a/app/assets/javascripts/admin/services/enterprise_relationships.js.coffee +++ b/app/assets/javascripts/admin/services/enterprise_relationships.js.coffee @@ -6,6 +6,7 @@ angular.module("ofn.admin").factory 'EnterpriseRelationships', ($http, enterpris 'manage_products' 'edit_profile' 'create_variant_overrides' + 'create_sourced_variants' ] constructor: -> @@ -30,3 +31,4 @@ angular.module("ofn.admin").factory 'EnterpriseRelationships', ($http, enterpris when "manage_products" then t('js.services.manage_products') when "edit_profile" then t('js.services.edit_profile') when "create_variant_overrides" then t('js.services.add_products_to_inventory') + when "create_sourced_variants" then t('js.services.create_sourced_variants') diff --git a/config/locales/en.yml b/config/locales/en.yml index f2f0e77c7c..4d84655ab1 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -3902,6 +3902,7 @@ en: manage_products: "manage products" edit_profile: "edit profile" add_products_to_inventory: "add products to inventory" + create_sourced_variants: "create sourced variants" resources: could_not_delete_customer: 'Could not delete customer' product_import: diff --git a/spec/javascripts/unit/admin/services/enterprise_relationships_spec.js.coffee b/spec/javascripts/unit/admin/services/enterprise_relationships_spec.js.coffee index 96ac4a8905..4a5907c681 100644 --- a/spec/javascripts/unit/admin/services/enterprise_relationships_spec.js.coffee +++ b/spec/javascripts/unit/admin/services/enterprise_relationships_spec.js.coffee @@ -16,3 +16,4 @@ describe "enterprise relationships", -> expect(EnterpriseRelationships.permission_presentation("manage_products")).toEqual "manage products" expect(EnterpriseRelationships.permission_presentation("edit_profile")).toEqual "edit profile" expect(EnterpriseRelationships.permission_presentation("create_variant_overrides")).toEqual "add products to inventory" + expect(EnterpriseRelationships.permission_presentation("create_sourced_variants")).toEqual "create sourced variants" diff --git a/spec/system/admin/enterprise_relationships_spec.rb b/spec/system/admin/enterprise_relationships_spec.rb index 1e86c9d229..03584eb516 100644 --- a/spec/system/admin/enterprise_relationships_spec.rb +++ b/spec/system/admin/enterprise_relationships_spec.rb @@ -47,18 +47,23 @@ create(:enterprise) uncheck 'to manage products' check 'to edit profile' check 'to add products to inventory' + check 'to create sourced variants' select2_select 'Two', from: 'enterprise_relationship_child_id' click_button 'Create' # Wait for row to appear since have_relationship doesn't wait expect(page).to have_selector 'tr', count: 2 + # Permissions appear.. in a different order for some reason. expect_relationship_with_permissions e1, e2, ['to add to order cycle', - 'to add products to inventory', 'to edit profile'] + 'to create sourced variants', + 'to add products to inventory', + 'to edit profile'] er = EnterpriseRelationship.where(parent_id: e1, child_id: e2).first expect(er).to be_present expect(er.permissions.map(&:name)).to match_array ['add_to_order_cycle', 'edit_profile', - 'create_variant_overrides'] + 'create_variant_overrides', + 'create_sourced_variants'] end it "attempting to create a relationship with invalid data" do