# HG changeset patch
# User Prakash M <prakash@qualiantech.com>
# Date 1496841869 -19800
#      Wed Jun 07 18:54:29 2017 +0530
# Node ID 7793b64e0101935b6577f604a7526e23866645ff
# Parent  4fea06bcfe67ae38c5bacd60964d5dcbec6ba2ec
Fixed multiple StoreDetailedStock execution

diff --git a/web/org.openbravo.retail.posterminal/js/pointofsale/view/pointofsale.js b/web/org.openbravo.retail.posterminal/js/pointofsale/view/pointofsale.js
--- a/web/org.openbravo.retail.posterminal/js/pointofsale/view/pointofsale.js
+++ b/web/org.openbravo.retail.posterminal/js/pointofsale/view/pointofsale.js
@@ -620,17 +620,21 @@
             }
           }
         }, this);
-        if (this.$.multiColumn.$.leftPanel.$[inEvent.leftSubWindow].mainBeforeSetShowing(inEvent) && allHidden) {
-          OB.UTIL.HookManager.executeHooks('OBPOS_LeftSubWindow_beforeSetShowing', {
-            context: this.$.multiColumn.$.leftPanel.$[inEvent.leftSubWindow],
-            params: inEvent
-          }, function (args) {
-            if (args && !args.cancelOperation) {
-              me.$.multiColumn.$.leftPanel.$.receiptview.setShowing(false);
-              me.$.multiColumn.$.leftPanel.$[inEvent.leftSubWindow].setShowing(true);
-              me.$.multiColumn.$.leftPanel.$[inEvent.leftSubWindow].inEvent = inEvent;
-            }
-          });
+        if (allHidden) {
+          inEvent.checkStockCallback = function () {
+            OB.UTIL.HookManager.executeHooks('OBPOS_LeftSubWindow_beforeSetShowing', {
+              context: me.$.multiColumn.$.leftPanel.$[inEvent.leftSubWindow],
+              params: inEvent
+            }, function (args) {
+              if (args && !args.cancelOperation) {
+                me.$.multiColumn.$.leftPanel.$.receiptview.setShowing(false);
+                me.$.multiColumn.$.leftPanel.$[inEvent.leftSubWindow].setShowing(true);
+                me.$.multiColumn.$.leftPanel.$[inEvent.leftSubWindow].inEvent = inEvent;
+              }
+            });
+          };
+
+          this.$.multiColumn.$.leftPanel.$[inEvent.leftSubWindow].mainBeforeSetShowing(inEvent);
         }
       }
     }
diff --git a/web/org.openbravo.retail.posterminal/js/pointofsale/view/ps-productdetailsview.js b/web/org.openbravo.retail.posterminal/js/pointofsale/view/ps-productdetailsview.js
--- a/web/org.openbravo.retail.posterminal/js/pointofsale/view/ps-productdetailsview.js
+++ b/web/org.openbravo.retail.posterminal/js/pointofsale/view/ps-productdetailsview.js
@@ -299,7 +299,7 @@
       this.bodyComponent.$.warehouseToGet.setContent(OB.I18N.getLabel('OBPOS_warehouseSelected', [OB.MobileApp.model.get('warehouses')[0].warehousename, '0']));
     }
   },
-  getStoreStock: function () {
+  getStoreStock: function (params) {
     var serverCallStoreDetailedStock = new OB.DS.Process('org.openbravo.retail.posterminal.stock.StoreDetailedStock'),
         me = this;
     this.bodyComponent.$.stockHere.setContent(OB.I18N.getLabel('OBPOS_loadingStock'));
@@ -327,6 +327,9 @@
         }
         me.bodyComponent.$.productAddToReceipt.setDisabled(false);
       }
+      if (params.checkStockCallback) {
+        params.checkStockCallback();
+      }
     });
   },
   getOtherStock: function () {
@@ -387,7 +390,7 @@
     this.bodyComponent.$.descriptionArea.setContent(params.product.get('description'));
     this.bodyComponent.$.productAddToReceipt.setLabel();
     this.getOtherStock();
-    this.getStoreStock();
+    this.getStoreStock(params);
     return true;
   },
   header: {
