# HG changeset patch
# User Ranjith S R <ranjith@qualiantech.com>
# Date 1450953630 -19800
# Node ID 3c9defa5c34408063cdc91d1a45a10b077e99116
# Parent  26730e72b2410660dbe6bdcd2914b87f60ba1e27
Related to issue 31765 : Open new ticket when Pay Ticket is opened

** Adding new method deleteMultiOrderList() under pointofsale-model.js
** Removing duplicate code for deleting multiOrder

diff --git a/web/org.openbravo.retail.posterminal/js/components/modalmultiorders.js b/web/org.openbravo.retail.posterminal/js/components/modalmultiorders.js
--- a/web/org.openbravo.retail.posterminal/js/components/modalmultiorders.js
+++ b/web/org.openbravo.retail.posterminal/js/components/modalmultiorders.js
@@ -345,6 +345,7 @@
     if (checkedMultiOrders.length === 0) {
       return true;
     }
+    me.owner.owner.model.deleteMultiOrderList();
     _.each(checkedMultiOrders, function (iter) {
       if (_.indexOf(me.owner.owner.model.get('orderList').models, iter) !== -1) {
         iter.save();
diff --git a/web/org.openbravo.retail.posterminal/js/pointofsale/model/pointofsale-model.js b/web/org.openbravo.retail.posterminal/js/pointofsale/model/pointofsale-model.js
--- a/web/org.openbravo.retail.posterminal/js/pointofsale/model/pointofsale-model.js
+++ b/web/org.openbravo.retail.posterminal/js/pointofsale/model/pointofsale-model.js
@@ -185,6 +185,21 @@
 
     modelToIncludePayment.addPayment(payment);
   },
+  deleteMultiOrderList: function () {
+    var i;
+    for (i = 0; this.get('multiOrders').get('multiOrdersList').length > i; i++) {
+      if (!this.get('multiOrders').get('multiOrdersList').at(i).get('isLayaway')) { //if it is not true, means that iti is a new order (not a loaded layaway)
+        this.get('multiOrders').get('multiOrdersList').at(i).unset('amountToLayaway');
+        this.get('multiOrders').get('multiOrdersList').at(i).set('orderType', 0);
+        continue;
+      }
+      this.get('orderList').current = this.get('multiOrders').get('multiOrdersList').at(i);
+      this.get('orderList').deleteCurrent();
+      if (!_.isNull(this.get('multiOrders').get('multiOrdersList').at(i).id)) {
+        this.get('orderList').deleteCurrentFromDatabase(this.get('multiOrders').get('multiOrdersList').at(i));
+      }
+    }
+  },
   init: function () {
     OB.error("This init method should never be called for this model. Call initModels and loadModels instead");
     this.initModels(function () {});
diff --git a/web/org.openbravo.retail.posterminal/js/pointofsale/view/toolbar-left.js b/web/org.openbravo.retail.posterminal/js/pointofsale/view/toolbar-left.js
--- a/web/org.openbravo.retail.posterminal/js/pointofsale/view/toolbar-left.js
+++ b/web/org.openbravo.retail.posterminal/js/pointofsale/view/toolbar-left.js
@@ -76,18 +76,7 @@
       if (!args.cancelOperation) {
         var i;
         if (me.model.get('leftColumnViewManager').isMultiOrder()) {
-          for (i = 0; me.model.get('multiOrders').get('multiOrdersList').length > i; i++) {
-            if (!me.model.get('multiOrders').get('multiOrdersList').at(i).get('isLayaway')) { //if it is not true, means that iti is a new order (not a loaded layaway)
-              me.model.get('multiOrders').get('multiOrdersList').at(i).unset('amountToLayaway');
-              me.model.get('multiOrders').get('multiOrdersList').at(i).set('orderType', 0);
-              continue;
-            }
-            me.model.get('orderList').current = me.model.get('multiOrders').get('multiOrdersList').at(i);
-            me.model.get('orderList').deleteCurrent();
-            if (!_.isNull(this.model.get('multiOrders').get('multiOrdersList').at(i).id)) {
-              me.model.get('orderList').deleteCurrentFromDatabase(me.model.get('multiOrders').get('multiOrdersList').at(i));
-            }
-          }
+          me.model.deleteMultiOrderList();
           me.model.get('multiOrders').resetValues();
           me.model.get('leftColumnViewManager').setOrderMode();
         } else {
@@ -132,18 +121,7 @@
     var i, me = this;
 
     if (me.model.get('leftColumnViewManager').isMultiOrder()) {
-      for (i = 0; me.model.get('multiOrders').get('multiOrdersList').length > i; i++) {
-        if (!me.model.get('multiOrders').get('multiOrdersList').at(i).get('isLayaway')) { //if it is not true, means that iti is a new order (not a loaded layaway)
-          me.model.get('multiOrders').get('multiOrdersList').at(i).unset('amountToLayaway');
-          me.model.get('multiOrders').get('multiOrdersList').at(i).set('orderType', 0);
-          continue;
-        }
-        me.model.get('orderList').current = me.model.get('multiOrders').get('multiOrdersList').at(i);
-        me.model.get('orderList').deleteCurrent();
-        if (!_.isNull(me.model.get('multiOrders').get('multiOrdersList').at(i).id)) {
-          me.model.get('orderList').deleteCurrentFromDatabase(me.model.get('multiOrders').get('multiOrdersList').at(i));
-        }
-      }
+      me.model.deleteMultiOrderList();
       me.model.get('multiOrders').resetValues();
       me.model.get('leftColumnViewManager').setOrderMode();
       return true;
