diff --git a/app/assets/javascripts/admin/order_cycles/controllers/simple.js.coffee b/app/assets/javascripts/admin/order_cycles/controllers/simple.js.coffee index cdc8947f25..03f4128923 100644 --- a/app/assets/javascripts/admin/order_cycles/controllers/simple.js.coffee +++ b/app/assets/javascripts/admin/order_cycles/controllers/simple.js.coffee @@ -25,3 +25,6 @@ angular.module('admin.order_cycles').controller "AdminSimpleCreateOrderCycleCtrl $scope.enterpriseFeesForEnterprise = (enterprise_id) -> EnterpriseFee.forEnterprise(parseInt(enterprise_id)) + $scope.submit = -> + OrderCycle.mirrorIncomingToOutgoingProducts() + OrderCycle.create() diff --git a/app/assets/javascripts/admin/order_cycles/services/order_cycle.js.coffee b/app/assets/javascripts/admin/order_cycles/services/order_cycle.js.coffee index 5e46fdda50..b53c91257e 100644 --- a/app/assets/javascripts/admin/order_cycles/services/order_cycle.js.coffee +++ b/app/assets/javascripts/admin/order_cycles/services/order_cycle.js.coffee @@ -164,5 +164,14 @@ angular.module('admin.order_cycles').factory('OrderCycle', ($resource, $window) exchange.enterprise_fee_ids = (fee.id for fee in exchange.enterprise_fees) delete exchange.enterprise_fees order_cycle - }) + # In the simple UI, we don't list outgoing products. Instead, all products are considered + # part of both incoming and outgoing enterprises. This method mirrors the former to the + # latter **for order cycles with a single incoming and outgoing exchange only**. + mirrorIncomingToOutgoingProducts: -> + incoming = this.order_cycle.incoming_exchanges[0] + outgoing = this.order_cycle.outgoing_exchanges[0] + + for id, active of incoming.variants + outgoing.variants[id] = active + })