From e537bda9b792471e3a8b6b5fad5d13fb4f65e9b5 Mon Sep 17 00:00:00 2001 From: Abdul Aziz Ali Date: Wed, 12 Jun 2024 08:29:34 +0800 Subject: [PATCH 01/14] Display only per_item fees for oc incoming exchange #11326 Add per_item param to EnterpriseFee angular service and rails controller --- .../admin/order_cycles/controllers/edit.js.coffee | 4 ++-- .../admin/order_cycles/services/enterprise_fee.js.coffee | 2 ++ app/controllers/admin/enterprise_fees_controller.rb | 6 +++++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/app/assets/javascripts/admin/order_cycles/controllers/edit.js.coffee b/app/assets/javascripts/admin/order_cycles/controllers/edit.js.coffee index 32e2b63912..6019a77f75 100644 --- a/app/assets/javascripts/admin/order_cycles/controllers/edit.js.coffee +++ b/app/assets/javascripts/admin/order_cycles/controllers/edit.js.coffee @@ -5,7 +5,7 @@ angular.module('admin.orderCycles') order_cycle_id = $location.absUrl().match(/\/admin\/order_cycles\/(\d+)/)[1] $scope.order_cycle = OrderCycle.load(order_cycle_id) $scope.enterprises = Enterprise.index(order_cycle_id: order_cycle_id) - $scope.enterprise_fees = EnterpriseFee.index(order_cycle_id: order_cycle_id) + $scope.enterprise_fees = EnterpriseFee.index(order_cycle_id: order_cycle_id, per_item: true) $scope.removeCoordinatorFee = ($event, index) -> $event.preventDefault() @@ -25,4 +25,4 @@ angular.module('admin.orderCycles') if $scope.order_cycle_form?.$dirty t('admin.unsaved_confirm_leave') - NavigationCheck.register(warnAboutUnsavedChanges) \ No newline at end of file + NavigationCheck.register(warnAboutUnsavedChanges) diff --git a/app/assets/javascripts/admin/order_cycles/services/enterprise_fee.js.coffee b/app/assets/javascripts/admin/order_cycles/services/enterprise_fee.js.coffee index 5d8ebf6d59..c223b0d5a8 100644 --- a/app/assets/javascripts/admin/order_cycles/services/enterprise_fee.js.coffee +++ b/app/assets/javascripts/admin/order_cycles/services/enterprise_fee.js.coffee @@ -6,6 +6,8 @@ angular.module('admin.orderCycles').factory('EnterpriseFee', ($resource) -> params: order_cycle_id: '@order_cycle_id' coordinator_id: '@coordinator_id' + per_item: '@per_item' + per_order: '@per_order' }) { diff --git a/app/controllers/admin/enterprise_fees_controller.rb b/app/controllers/admin/enterprise_fees_controller.rb index ebe62dc10b..67b76d41b8 100644 --- a/app/controllers/admin/enterprise_fees_controller.rb +++ b/app/controllers/admin/enterprise_fees_controller.rb @@ -65,7 +65,11 @@ module Admin order_cycle ||= OrderCycle.new(coordinator:) if coordinator.present? enterprises = OpenFoodNetwork::OrderCyclePermissions.new(spree_current_user, order_cycle).visible_enterprises - EnterpriseFee.for_enterprises(enterprises).order('enterprise_id', 'fee_type', 'name') + + EnterpriseFee.for_enterprises(enterprises) + .order('enterprise_id', 'fee_type', 'name') + .yield_self { |fees| params[:per_item] ? fees.per_item : fees } + .yield_self { |fees| params[:per_order] ? fees.per_order : fees } else collection = EnterpriseFee.managed_by(spree_current_user).order('enterprise_id', 'fee_type', 'name') From e2aca63fff0d2332ce52c947065cdf09ae50e1a6 Mon Sep 17 00:00:00 2001 From: Abdul Aziz Ali Date: Wed, 12 Jun 2024 08:52:43 +0800 Subject: [PATCH 02/14] Rubocop. Change yield_self to then #11326 --- app/controllers/admin/enterprise_fees_controller.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/controllers/admin/enterprise_fees_controller.rb b/app/controllers/admin/enterprise_fees_controller.rb index 67b76d41b8..4d8c01594d 100644 --- a/app/controllers/admin/enterprise_fees_controller.rb +++ b/app/controllers/admin/enterprise_fees_controller.rb @@ -67,9 +67,9 @@ module Admin order_cycle).visible_enterprises EnterpriseFee.for_enterprises(enterprises) - .order('enterprise_id', 'fee_type', 'name') - .yield_self { |fees| params[:per_item] ? fees.per_item : fees } - .yield_self { |fees| params[:per_order] ? fees.per_order : fees } + .order('enterprise_id', 'fee_type', 'name') + .then { |fees| params[:per_item] ? fees.per_item : fees } + .then { |fees| params[:per_order] ? fees.per_order : fees } else collection = EnterpriseFee.managed_by(spree_current_user).order('enterprise_id', 'fee_type', 'name') From b3570991f4aed4995768c3eef416cf74d5d194c9 Mon Sep 17 00:00:00 2001 From: Abdul Aziz Ali Date: Wed, 26 Jun 2024 06:36:42 +0800 Subject: [PATCH 03/14] Rubocop. Fix cyclomatic complexity in fees controller #11326 --- app/controllers/admin/enterprise_fees_controller.rb | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/app/controllers/admin/enterprise_fees_controller.rb b/app/controllers/admin/enterprise_fees_controller.rb index 4d8c01594d..6b1dbcbbde 100644 --- a/app/controllers/admin/enterprise_fees_controller.rb +++ b/app/controllers/admin/enterprise_fees_controller.rb @@ -66,10 +66,8 @@ module Admin enterprises = OpenFoodNetwork::OrderCyclePermissions.new(spree_current_user, order_cycle).visible_enterprises - EnterpriseFee.for_enterprises(enterprises) - .order('enterprise_id', 'fee_type', 'name') - .then { |fees| params[:per_item] ? fees.per_item : fees } - .then { |fees| params[:per_order] ? fees.per_order : fees } + fees = EnterpriseFee.for_enterprises(enterprises).order('enterprise_id', 'fee_type', 'name') + filter_fees(fees) else collection = EnterpriseFee.managed_by(spree_current_user).order('enterprise_id', 'fee_type', 'name') @@ -78,6 +76,12 @@ module Admin end end + def filter_fees(fees) + fees = fees.per_item if params[:per_item] + fees = fees.per_order if params[:per_order] + fees + end + def collection_actions [:index, :for_order_cycle, :bulk_update] end From 9d12e55bd714cc201e3e32e855079b405b06b91b Mon Sep 17 00:00:00 2001 From: Abdul Aziz Ali Date: Wed, 26 Jun 2024 06:36:57 +0800 Subject: [PATCH 04/14] Add enterprise fees controller spec #11326 --- .../admin/enterprise_fees_controller_spec.rb | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 spec/controllers/admin/enterprise_fees_controller_spec.rb diff --git a/spec/controllers/admin/enterprise_fees_controller_spec.rb b/spec/controllers/admin/enterprise_fees_controller_spec.rb new file mode 100644 index 0000000000..ba6aa0f306 --- /dev/null +++ b/spec/controllers/admin/enterprise_fees_controller_spec.rb @@ -0,0 +1,40 @@ +# frozen_string_literal: false + +require 'spec_helper' +require 'open_food_network/order_cycle_permissions' + +RSpec.describe Admin::EnterpriseFeesController do + before { @request.env['HTTP_REFERER'] = 'http://test.com/' } + + before do + allow(controller).to receive_messages spree_current_user: super_admin + end + + describe "for_order_cycle" do + context "as super admin" do + let(:super_admin) { create(:admin_user) } + let!(:enterprise){ create(:distributor_enterprise_with_tax, name: 'Enterprise') } + let!(:fee1) { create(:enterprise_fee, :flat_rate, enterprise:) } + let!(:fee2) { create(:enterprise_fee, :per_item, enterprise:) } + let!(:fee3) { create(:enterprise_fee, :flat_rate, enterprise:) } + let!(:fee4) { create(:enterprise_fee, :per_item, enterprise:) } + let!(:order_cycle){ + create(:simple_order_cycle, name: "oc1", suppliers: [enterprise], + distributors: [enterprise]) + } + + it 'returns only per item enterprise fees of enterprise' do + get :for_order_cycle, format: :json, + params: { for_order_cycle: true, order_cycle_id: order_cycle.id, + per_item: true } + expect(assigns(:collection)).to include fee2, fee4 + end + it 'returns only per order enterprise fees of enterprise' do + get :for_order_cycle, format: :json, + params: { for_order_cycle: true, order_cycle_id: order_cycle.id, + per_order: true } + expect(assigns(:collection)).to include fee1, fee3 + end + end + end +end From 5fe5804b561b5b2f0ba2ca0d6067d293e8e21d45 Mon Sep 17 00:00:00 2001 From: Abdul Aziz Ali Date: Tue, 9 Jul 2024 08:49:45 +0800 Subject: [PATCH 05/14] Add enterprise fee check in system admin ordercycles simple spec #11326 --- spec/system/admin/order_cycles/simple_spec.rb | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/spec/system/admin/order_cycles/simple_spec.rb b/spec/system/admin/order_cycles/simple_spec.rb index 087665d92d..c3a57c5cc4 100644 --- a/spec/system/admin/order_cycles/simple_spec.rb +++ b/spec/system/admin/order_cycles/simple_spec.rb @@ -138,6 +138,18 @@ describe ' let!(:distributor_managed_fee) { create(:enterprise_fee, enterprise: distributor_managed, name: 'Managed distributor fee') } + let!(:supplier_permitted_fee1) { + create(:enterprise_fee, :per_item, enterprise: supplier_permitted, name: 'Supplier distributor fee1') + } + let!(:supplier_permitted_fee2) { + create(:enterprise_fee, :flat_rate, enterprise: supplier_permitted, name: 'Supplier distributor fee2') + } + let!(:supplier_permitted_fee3) { + create(:enterprise_fee, :per_item, enterprise: supplier_permitted, name: 'Supplier distributor fee3') + } + let!(:supplier_permitted_fee4) { + create(:enterprise_fee, :flat_rate, enterprise: supplier_permitted, name: 'Supplier distributor fee4') + } let!(:shipping_method) { create(:shipping_method, distributors: [distributor_managed, distributor_unmanaged, distributor_permitted]) @@ -258,6 +270,12 @@ describe ' click_button 'Add supplier' expect(page).to have_content "Permitted supplier" + within("tr.supplier-#{supplier_permitted.id}") { click_button 'Add fee' } + expect(page).to have_select("order_cycle_incoming_exchange_1_enterprise_fees_0_enterprise_id", minimum: 1) + page.find("select#order_cycle_incoming_exchange_1_enterprise_fees_0_enterprise_id").all('option[label]').first.select_option + sleep 1 + expect(page).to have_select("order_cycle_incoming_exchange_1_enterprise_fees_0_enterprise_fee_id", options: ["", supplier_permitted_fee1.name, supplier_permitted_fee3.name]) + select_incoming_variant supplier_managed, 0, variant_managed select_incoming_variant supplier_permitted, 1, variant_permitted From 8955972b05e0554eeea081ba53f51eea4ad09785 Mon Sep 17 00:00:00 2001 From: Abdul Aziz Ali Date: Tue, 9 Jul 2024 08:56:54 +0800 Subject: [PATCH 06/14] Rubocop. fix formatting #11326 --- spec/system/admin/order_cycles/simple_spec.rb | 24 +++++++++++++------ 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/spec/system/admin/order_cycles/simple_spec.rb b/spec/system/admin/order_cycles/simple_spec.rb index c3a57c5cc4..89208a35cf 100644 --- a/spec/system/admin/order_cycles/simple_spec.rb +++ b/spec/system/admin/order_cycles/simple_spec.rb @@ -139,16 +139,20 @@ describe ' create(:enterprise_fee, enterprise: distributor_managed, name: 'Managed distributor fee') } let!(:supplier_permitted_fee1) { - create(:enterprise_fee, :per_item, enterprise: supplier_permitted, name: 'Supplier distributor fee1') + create(:enterprise_fee, :per_item, enterprise: supplier_permitted, + name: 'Supplier distributor fee1') } let!(:supplier_permitted_fee2) { - create(:enterprise_fee, :flat_rate, enterprise: supplier_permitted, name: 'Supplier distributor fee2') + create(:enterprise_fee, :flat_rate, enterprise: supplier_permitted, + name: 'Supplier distributor fee2') } let!(:supplier_permitted_fee3) { - create(:enterprise_fee, :per_item, enterprise: supplier_permitted, name: 'Supplier distributor fee3') + create(:enterprise_fee, :per_item, enterprise: supplier_permitted, + name: 'Supplier distributor fee3') } let!(:supplier_permitted_fee4) { - create(:enterprise_fee, :flat_rate, enterprise: supplier_permitted, name: 'Supplier distributor fee4') + create(:enterprise_fee, :flat_rate, enterprise: supplier_permitted, + name: 'Supplier distributor fee4') } let!(:shipping_method) { create(:shipping_method, @@ -271,10 +275,16 @@ describe ' expect(page).to have_content "Permitted supplier" within("tr.supplier-#{supplier_permitted.id}") { click_button 'Add fee' } - expect(page).to have_select("order_cycle_incoming_exchange_1_enterprise_fees_0_enterprise_id", minimum: 1) - page.find("select#order_cycle_incoming_exchange_1_enterprise_fees_0_enterprise_id").all('option[label]').first.select_option + expect(page).to have_select( + "order_cycle_incoming_exchange_1_enterprise_fees_0_enterprise_id", minimum: 1 + ) + page.find("select#order_cycle_incoming_exchange_1_enterprise_fees_0_enterprise_id") + .all('option[label]').first.select_option sleep 1 - expect(page).to have_select("order_cycle_incoming_exchange_1_enterprise_fees_0_enterprise_fee_id", options: ["", supplier_permitted_fee1.name, supplier_permitted_fee3.name]) + expect(page).to have_select( + "order_cycle_incoming_exchange_1_enterprise_fees_0_enterprise_fee_id", + options: ["", supplier_permitted_fee1.name, supplier_permitted_fee3.name] + ) select_incoming_variant supplier_managed, 0, variant_managed select_incoming_variant supplier_permitted, 1, variant_permitted From 1e08f2713ed42e8d1b795044500d389d588357f7 Mon Sep 17 00:00:00 2001 From: Abdul Aziz Ali Date: Wed, 10 Jul 2024 08:12:19 +0800 Subject: [PATCH 07/14] Remove sleep. Use Capybara select helper #11326 --- spec/system/admin/order_cycles/simple_spec.rb | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/spec/system/admin/order_cycles/simple_spec.rb b/spec/system/admin/order_cycles/simple_spec.rb index 89208a35cf..bcd096aae5 100644 --- a/spec/system/admin/order_cycles/simple_spec.rb +++ b/spec/system/admin/order_cycles/simple_spec.rb @@ -278,9 +278,7 @@ describe ' expect(page).to have_select( "order_cycle_incoming_exchange_1_enterprise_fees_0_enterprise_id", minimum: 1 ) - page.find("select#order_cycle_incoming_exchange_1_enterprise_fees_0_enterprise_id") - .all('option[label]').first.select_option - sleep 1 + select "Permitted supplier", from: "order_cycle_incoming_exchange_1_enterprise_fees_0_enterprise_id" expect(page).to have_select( "order_cycle_incoming_exchange_1_enterprise_fees_0_enterprise_fee_id", options: ["", supplier_permitted_fee1.name, supplier_permitted_fee3.name] From 31d49ee99ec9adb2b5fabf958cab44f794072174 Mon Sep 17 00:00:00 2001 From: Abdul Aziz Ali Date: Wed, 10 Jul 2024 08:18:00 +0800 Subject: [PATCH 08/14] Rubocop. Fix simple spec long line #11326 --- spec/system/admin/order_cycles/simple_spec.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/spec/system/admin/order_cycles/simple_spec.rb b/spec/system/admin/order_cycles/simple_spec.rb index bcd096aae5..a546b25fbd 100644 --- a/spec/system/admin/order_cycles/simple_spec.rb +++ b/spec/system/admin/order_cycles/simple_spec.rb @@ -278,7 +278,8 @@ describe ' expect(page).to have_select( "order_cycle_incoming_exchange_1_enterprise_fees_0_enterprise_id", minimum: 1 ) - select "Permitted supplier", from: "order_cycle_incoming_exchange_1_enterprise_fees_0_enterprise_id" + select "Permitted supplier", + from: "order_cycle_incoming_exchange_1_enterprise_fees_0_enterprise_id" expect(page).to have_select( "order_cycle_incoming_exchange_1_enterprise_fees_0_enterprise_fee_id", options: ["", supplier_permitted_fee1.name, supplier_permitted_fee3.name] From 718e6765e1f9b4db5485a322947cc88b1578ae3e Mon Sep 17 00:00:00 2001 From: Abdul Aziz Ali Date: Wed, 10 Jul 2024 19:42:47 +0800 Subject: [PATCH 09/14] Enterprise fee controller: Add all fees scenario #11326 --- spec/controllers/admin/enterprise_fees_controller_spec.rb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/spec/controllers/admin/enterprise_fees_controller_spec.rb b/spec/controllers/admin/enterprise_fees_controller_spec.rb index ba6aa0f306..de79434db5 100644 --- a/spec/controllers/admin/enterprise_fees_controller_spec.rb +++ b/spec/controllers/admin/enterprise_fees_controller_spec.rb @@ -35,6 +35,11 @@ RSpec.describe Admin::EnterpriseFeesController do per_order: true } expect(assigns(:collection)).to include fee1, fee3 end + it 'returns all enterprise fees of enterprise' do + get :for_order_cycle, format: :json, + params: { for_order_cycle: true, order_cycle_id: order_cycle.id } + expect(assigns(:collection)).to include fee1, fee2, fee3, fee4 + end end end end From 29aa3a8059f3830832f4140eac7101e2796e9203 Mon Sep 17 00:00:00 2001 From: Gaetan Craig-Riou Date: Fri, 12 Jul 2024 10:34:42 +1000 Subject: [PATCH 10/14] Remove useless code --- spec/controllers/admin/enterprise_fees_controller_spec.rb | 3 --- 1 file changed, 3 deletions(-) diff --git a/spec/controllers/admin/enterprise_fees_controller_spec.rb b/spec/controllers/admin/enterprise_fees_controller_spec.rb index de79434db5..9205d808d7 100644 --- a/spec/controllers/admin/enterprise_fees_controller_spec.rb +++ b/spec/controllers/admin/enterprise_fees_controller_spec.rb @@ -1,11 +1,8 @@ # frozen_string_literal: false require 'spec_helper' -require 'open_food_network/order_cycle_permissions' RSpec.describe Admin::EnterpriseFeesController do - before { @request.env['HTTP_REFERER'] = 'http://test.com/' } - before do allow(controller).to receive_messages spree_current_user: super_admin end From 2bcf84d9a9e3b3699f6cf4bfe38953e05e3c6bbc Mon Sep 17 00:00:00 2001 From: Abdul Aziz Ali Date: Wed, 24 Jul 2024 17:38:10 +0800 Subject: [PATCH 11/14] Add outgoing exchange scenario spec #11326 --- spec/system/admin/order_cycles/simple_spec.rb | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/spec/system/admin/order_cycles/simple_spec.rb b/spec/system/admin/order_cycles/simple_spec.rb index a546b25fbd..0c48f28f3d 100644 --- a/spec/system/admin/order_cycles/simple_spec.rb +++ b/spec/system/admin/order_cycles/simple_spec.rb @@ -154,6 +154,22 @@ describe ' create(:enterprise_fee, :flat_rate, enterprise: supplier_permitted, name: 'Supplier distributor fee4') } + let!(:distributor_permitted_fee1) { + create(:enterprise_fee, :per_item, enterprise: distributor_permitted, + name: 'Distributor distributor fee1') + } + let!(:distributor_permitted_fee2) { + create(:enterprise_fee, :flat_rate, enterprise: distributor_permitted, + name: 'Distributor distributor fee2') + } + let!(:distributor_permitted_fee3) { + create(:enterprise_fee, :per_item, enterprise: distributor_permitted, + name: 'Distributor distributor fee3') + } + let!(:distributor_permitted_fee4) { + create(:enterprise_fee, :flat_rate, enterprise: distributor_permitted, + name: 'Distributor distributor fee4') + } let!(:shipping_method) { create(:shipping_method, distributors: [distributor_managed, distributor_unmanaged, distributor_permitted]) @@ -301,6 +317,18 @@ describe ' click_button 'Add distributor' expect(page).to have_content "Permitted distributor" + within("tr.distributor-#{distributor_permitted.id}") { click_button 'Add fee' } + expect(page).to have_select( + "order_cycle_outgoing_exchange_1_enterprise_fees_0_enterprise_id", minimum: 1 + ) + select "Permitted distributor", + from: "order_cycle_outgoing_exchange_1_enterprise_fees_0_enterprise_id" + expect(page).to have_select( + "order_cycle_outgoing_exchange_1_enterprise_fees_0_enterprise_fee_id", + options: ["", distributor_permitted_fee1.name, distributor_permitted_fee2.name, + distributor_permitted_fee3.name, distributor_permitted_fee4.name] + ) + expect(page).to have_input 'order_cycle_outgoing_exchange_0_pickup_time' fill_in 'order_cycle_outgoing_exchange_0_pickup_time', with: 'pickup time' fill_in 'order_cycle_outgoing_exchange_0_pickup_instructions', with: 'pickup instructions' From baf38b6b30c4cca9fbb7f01667280424759a0b2a Mon Sep 17 00:00:00 2001 From: Abdul Aziz Ali Date: Sat, 27 Jul 2024 16:12:26 +0800 Subject: [PATCH 12/14] Only set per_item flag in order_cycle incoming controller #11326 --- .../javascripts/admin/order_cycles/controllers/edit.js.coffee | 3 ++- .../order_cycles/controllers/incoming_controller.js.coffee | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/app/assets/javascripts/admin/order_cycles/controllers/edit.js.coffee b/app/assets/javascripts/admin/order_cycles/controllers/edit.js.coffee index 6019a77f75..0034d7a22e 100644 --- a/app/assets/javascripts/admin/order_cycles/controllers/edit.js.coffee +++ b/app/assets/javascripts/admin/order_cycles/controllers/edit.js.coffee @@ -4,8 +4,9 @@ angular.module('admin.orderCycles') order_cycle_id = $location.absUrl().match(/\/admin\/order_cycles\/(\d+)/)[1] $scope.order_cycle = OrderCycle.load(order_cycle_id) + $scope.order_cycle_id = order_cycle_id $scope.enterprises = Enterprise.index(order_cycle_id: order_cycle_id) - $scope.enterprise_fees = EnterpriseFee.index(order_cycle_id: order_cycle_id, per_item: true) + $scope.enterprise_fees = EnterpriseFee.index(order_cycle_id: order_cycle_id) $scope.removeCoordinatorFee = ($event, index) -> $event.preventDefault() diff --git a/app/assets/javascripts/admin/order_cycles/controllers/incoming_controller.js.coffee b/app/assets/javascripts/admin/order_cycles/controllers/incoming_controller.js.coffee index 112c6107bb..8ce0b59d9f 100644 --- a/app/assets/javascripts/admin/order_cycles/controllers/incoming_controller.js.coffee +++ b/app/assets/javascripts/admin/order_cycles/controllers/incoming_controller.js.coffee @@ -1,8 +1,9 @@ -angular.module('admin.orderCycles').controller 'AdminOrderCycleIncomingCtrl', ($scope, $rootScope, $controller, $location, Enterprise, OrderCycle, ExchangeProduct, ocInstance) -> +angular.module('admin.orderCycles').controller 'AdminOrderCycleIncomingCtrl', ($scope, $rootScope, $controller, $location, Enterprise, EnterpriseFee, OrderCycle, ExchangeProduct, ocInstance) -> $controller('AdminOrderCycleExchangesCtrl', {$scope: $scope, ocInstance: ocInstance, $location: $location}) $scope.view = 'incoming' + $scope.enterprise_fees = EnterpriseFee.index(order_cycle_id: $scope.order_cycle_id, per_item: true) $scope.exchangeTotalVariants = (exchange) -> return unless $scope.enterprises? && $scope.enterprises[exchange.enterprise_id]? From 8a1e61fd60080a481f1b4bce5f25cbf5f9739523 Mon Sep 17 00:00:00 2001 From: Abdul Aziz Ali Date: Sat, 27 Jul 2024 17:54:39 +0800 Subject: [PATCH 13/14] Fix incoming_controller_spec. Remove .order_cycle_id usage #11326 --- .../javascripts/admin/order_cycles/controllers/edit.js.coffee | 1 - .../order_cycles/controllers/incoming_controller_spec.js.coffee | 2 ++ 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/app/assets/javascripts/admin/order_cycles/controllers/edit.js.coffee b/app/assets/javascripts/admin/order_cycles/controllers/edit.js.coffee index 0034d7a22e..18d267074a 100644 --- a/app/assets/javascripts/admin/order_cycles/controllers/edit.js.coffee +++ b/app/assets/javascripts/admin/order_cycles/controllers/edit.js.coffee @@ -4,7 +4,6 @@ angular.module('admin.orderCycles') order_cycle_id = $location.absUrl().match(/\/admin\/order_cycles\/(\d+)/)[1] $scope.order_cycle = OrderCycle.load(order_cycle_id) - $scope.order_cycle_id = order_cycle_id $scope.enterprises = Enterprise.index(order_cycle_id: order_cycle_id) $scope.enterprise_fees = EnterpriseFee.index(order_cycle_id: order_cycle_id) diff --git a/spec/javascripts/unit/admin/order_cycles/controllers/incoming_controller_spec.js.coffee b/spec/javascripts/unit/admin/order_cycles/controllers/incoming_controller_spec.js.coffee index 73deb77adc..6d7af8985f 100644 --- a/spec/javascripts/unit/admin/order_cycles/controllers/incoming_controller_spec.js.coffee +++ b/spec/javascripts/unit/admin/order_cycles/controllers/incoming_controller_spec.js.coffee @@ -17,6 +17,8 @@ describe 'AdminOrderCycleIncomingCtrl', -> preventDefault: jasmine.createSpy('preventDefault') OrderCycle = addSupplier: jasmine.createSpy('addSupplier') + EnterpriseFee = + index: jasmine.createSpy('index').and.returnValue('enterprise fees list') ocInstance = {} module('admin.orderCycles') From ac8caf771030447769f5ba723ed1f59e43219568 Mon Sep 17 00:00:00 2001 From: Abdul Aziz Ali Date: Sun, 28 Jul 2024 17:57:56 +0800 Subject: [PATCH 14/14] Revert to use .order_cycle_id #11326 --- .../javascripts/admin/order_cycles/controllers/edit.js.coffee | 1 + .../order_cycles/controllers/incoming_controller.js.coffee | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/app/assets/javascripts/admin/order_cycles/controllers/edit.js.coffee b/app/assets/javascripts/admin/order_cycles/controllers/edit.js.coffee index 18d267074a..ab5cb51249 100644 --- a/app/assets/javascripts/admin/order_cycles/controllers/edit.js.coffee +++ b/app/assets/javascripts/admin/order_cycles/controllers/edit.js.coffee @@ -3,6 +3,7 @@ angular.module('admin.orderCycles') $controller('AdminOrderCycleBasicCtrl', {$scope: $scope, ocInstance: ocInstance}) order_cycle_id = $location.absUrl().match(/\/admin\/order_cycles\/(\d+)/)[1] + $scope.order_cycle_id = order_cycle_id $scope.order_cycle = OrderCycle.load(order_cycle_id) $scope.enterprises = Enterprise.index(order_cycle_id: order_cycle_id) $scope.enterprise_fees = EnterpriseFee.index(order_cycle_id: order_cycle_id) diff --git a/app/assets/javascripts/admin/order_cycles/controllers/incoming_controller.js.coffee b/app/assets/javascripts/admin/order_cycles/controllers/incoming_controller.js.coffee index 8ce0b59d9f..f108413372 100644 --- a/app/assets/javascripts/admin/order_cycles/controllers/incoming_controller.js.coffee +++ b/app/assets/javascripts/admin/order_cycles/controllers/incoming_controller.js.coffee @@ -2,7 +2,7 @@ angular.module('admin.orderCycles').controller 'AdminOrderCycleIncomingCtrl', ($ $controller('AdminOrderCycleExchangesCtrl', {$scope: $scope, ocInstance: ocInstance, $location: $location}) $scope.view = 'incoming' - + # NB: weirdly at this next line $scope.order_cycle.id comes out undefined so we use $scope.order_cycle_id instead $scope.enterprise_fees = EnterpriseFee.index(order_cycle_id: $scope.order_cycle_id, per_item: true) $scope.exchangeTotalVariants = (exchange) -> return unless $scope.enterprises? && $scope.enterprises[exchange.enterprise_id]?