Attached Files | 47499_selfcheckout_19Q3.diff [^] (4,729 bytes) 2021-08-09 07:04 [Show Content] [Hide Content]diff --git a/web/org.openbravo.retail.selfcheckout/source/models/orderAPI.js b/web/org.openbravo.retail.selfcheckout/source/models/orderAPI.js
index b19b907..3cd0e80 100644
--- a/web/org.openbravo.retail.selfcheckout/source/models/orderAPI.js
+++ b/web/org.openbravo.retail.selfcheckout/source/models/orderAPI.js
@@ -45,6 +45,10 @@ OB.POS.ORDER.print = function(data) {
OB.POS.ORDER.addProduct = function(data) {
// in: {order, product, qty, options, attrs, context}
// out: {order, product, orderline}
+ if (data.order.get('productToBeAdded') || data.order.get('toBeDeleted')) {
+ return Promise.resolve();
+ }
+ data.order.set('productToBeAdded', true);
return new Promise(function(resolve, reject) {
var ungroupedProduct;
if (data.product.get('groupProduct')) {
@@ -66,6 +70,7 @@ OB.POS.ORDER.addProduct = function(data) {
},
function(args) {
if (args.cancelOperation && args.cancelOperation === true) {
+ args.receipt.unset('productToBeAdded');
reject({
cancelled: true,
cause: 'Cancelled AddProduct function.'
@@ -87,6 +92,7 @@ OB.POS.ORDER.addProduct = function(data) {
orderLine.get('hasMandatoryServices') === false &&
args.receipt.addProcess.hasProduct === true
) {
+ args.receipt.unset('productToBeAdded');
reject({
cancelled: false,
cause: 'Cannot manage services.'
@@ -94,10 +100,12 @@ OB.POS.ORDER.addProduct = function(data) {
} else {
args.receipt.calculateReceipt(function() {
data.orderLine = orderLine;
+ args.receipt.unset('productToBeAdded');
resolve(data);
});
}
} else {
+ args.receipt.unset('productToBeAdded');
reject({
cancelled: false,
cause: 'Failed AddProduct function.'
@@ -114,8 +122,13 @@ OB.POS.ORDER.addProduct = function(data) {
OB.POS.ORDER.removeLine = function(data) {
// in: {order, line}
// out: {order}
+ if (data.order.get('productToBeAdded') || data.order.get('toBeDeleted')) {
+ return Promise.resolve();
+ }
+ data.order.set('toBeDeleted', true);
return new Promise(function(resolve, reject) {
data.order.deleteLinesFromOrder([data.line], function() {
+ data.order.unset('toBeDeleted');
resolve(data);
});
});
@@ -163,6 +176,10 @@ OB.POS.ORDER.load = function(data) {
OB.POS.ORDER.remove = function(data) {
// in: {order}
// out: {order}
+ if (data.order.get('productToBeAdded') || data.order.get('toBeDeleted')) {
+ return Promise.resolve();
+ }
+ data.order.set('toBeDeleted', true);
return new Promise(function(resolve, reject) {
if (OB.UTIL.RfidController.isRfidConfigured()) {
OB.UTIL.RfidController.eraseEpcOrder(data.order);
@@ -170,9 +187,13 @@ OB.POS.ORDER.remove = function(data) {
OB.Dal.remove(
data.order,
function() {
+ data.order.unset('toBeDeleted');
resolve(data);
},
- reject
+ function() {
+ data.order.unset('toBeDeleted');
+ reject();
+ }
);
});
};
diff --git a/web/org.openbravo.retail.selfcheckout/source/panels/welcomePanel.js b/web/org.openbravo.retail.selfcheckout/source/panels/welcomePanel.js
index 3e1b938..5dcb6b0 100644
--- a/web/org.openbravo.retail.selfcheckout/source/panels/welcomePanel.js
+++ b/web/org.openbravo.retail.selfcheckout/source/panels/welcomePanel.js
@@ -43,11 +43,28 @@ enyo.kind({
order: this.receipt
}) //
.then(OB.POS.ORDER.remove) //
- .then(OB.POS.ORDER.create) //
- .then(OB.POS.ORDER.load) //
- .then(function() {
- // success
- OB.SCO.Utils.hideLoading();
+ .then(function(result) {
+ if (result) {
+ Promise.resolve(result)
+ .then(OB.POS.ORDER.create) //
+ .then(OB.POS.ORDER.load) //
+ .then(function() {
+ // success
+ OB.SCO.Utils.hideLoading();
+ })
+ ['catch'](
+ function() {
+ // exception
+ OB.SCO.Utils.hideLoading();
+ OB.SCO.Utils.showTechnicalError();
+ }.bind(this)
+ );
+ } else {
+ OB.SCO.Utils.hideLoading();
+ OB.MobileApp.model.get('scoView').applicationEngine.executeEvent({
+ name: 'GoScanProduct'
+ });
+ }
})
['catch'](
function() {
47499_selfcheckout_crm_19Q3.diff [^] (3,594 bytes) 2021-08-26 13:34 [Show Content] [Hide Content]diff --git a/web/com.openbravo.decathlon.retail.selfcheckout.crm/source/panels/scoConfirmExitPanel.js b/web/com.openbravo.decathlon.retail.selfcheckout.crm/source/panels/scoConfirmExitPanel.js
index 239dc3c..90d2918 100644
--- a/web/com.openbravo.decathlon.retail.selfcheckout.crm/source/panels/scoConfirmExitPanel.js
+++ b/web/com.openbravo.decathlon.retail.selfcheckout.crm/source/panels/scoConfirmExitPanel.js
@@ -15,6 +15,7 @@
OB.SCO.APP.PANELRIGHT.ConfirmExitPanel.extend({
clearReceipt: function() {
if (this.receipt.get('lines').length > 0) {
+ const me = this;
this.receipt.set('decscDecathlonid', '');
this.receipt.set('crmInfo', {});
@@ -22,11 +23,25 @@
order: this.receipt
}) //
.then(OB.POS.ORDER.remove) //
- .then(OB.POS.ORDER.create) //
- .then(OB.POS.ORDER.load) //
- .then(function() {
- // success
- OB.SCO.Utils.hideLoading();
+ .then(function(result) {
+ if (result) {
+ Promise.resolve(result)
+ .then(OB.POS.ORDER.create) //
+ .then(OB.POS.ORDER.load) //
+ .then(function() {
+ // success
+ OB.SCO.Utils.hideLoading();
+ })
+ ['catch'](
+ function() {
+ // exception
+ OB.SCO.Utils.hideLoading();
+ OB.SCO.Utils.showTechnicalError();
+ }.bind(me)
+ );
+ } else {
+ OB.SCO.Utils.hideLoading();
+ }
})
['catch'](
function() {
@@ -51,12 +66,9 @@
*/
me.clearReceipt().then(result => {
OB.info(result);
- });
- me.executeEvent({
- name: 'GoStartNew',
- args: {
- clearReceipt: true
- }
+ me.executeEvent({
+ name: 'GoStartNew'
+ });
});
});
});
diff --git a/web/com.openbravo.decathlon.retail.selfcheckout.crm/source/steps/startWelcome.js b/web/com.openbravo.decathlon.retail.selfcheckout.crm/source/steps/startWelcome.js
index 05f52be..d4e53ae 100644
--- a/web/com.openbravo.decathlon.retail.selfcheckout.crm/source/steps/startWelcome.js
+++ b/web/com.openbravo.decathlon.retail.selfcheckout.crm/source/steps/startWelcome.js
@@ -39,6 +39,7 @@ enyo.kind({
});
}
if (data.event.args && data.event.args.clearReceipt) {
+ const me = this;
OB.SCO.Utils.showLoading({
timeout: 0
});
@@ -46,11 +47,25 @@ enyo.kind({
order: data.receipt
}) //
.then(OB.POS.ORDER.remove) //
- .then(OB.POS.ORDER.create) //
- .then(OB.POS.ORDER.load) //
- .then(function() {
- // success
- OB.SCO.Utils.hideLoading();
+ .then(function(result) {
+ if (result) {
+ Promise.resolve(result)
+ .then(OB.POS.ORDER.create) //
+ .then(OB.POS.ORDER.load) //
+ .then(function() {
+ // success
+ OB.SCO.Utils.hideLoading();
+ })
+ ['catch'](
+ function() {
+ // exception
+ OB.SCO.Utils.hideLoading();
+ OB.SCO.Utils.showTechnicalError();
+ }.bind(me)
+ );
+ } else {
+ OB.SCO.Utils.hideLoading();
+ }
})
['catch'](
function() {
47499_selfcheckout_crm_dev_19Q3.diff [^] (3,675 bytes) 2021-08-27 14:44 [Show Content] [Hide Content]diff --git a/web/com.openbravo.decathlon.retail.selfcheckout.crm/source/panels/scoConfirmExitPanel.js b/web/com.openbravo.decathlon.retail.selfcheckout.crm/source/panels/scoConfirmExitPanel.js
index fde04cf..c1061a6 100644
--- a/web/com.openbravo.decathlon.retail.selfcheckout.crm/source/panels/scoConfirmExitPanel.js
+++ b/web/com.openbravo.decathlon.retail.selfcheckout.crm/source/panels/scoConfirmExitPanel.js
@@ -15,6 +15,7 @@
OB.SCO.APP.PANELRIGHT.ConfirmExitPanel.extend({
clearReceipt: function() {
if (this.receipt.get('lines').length > 0) {
+ const me = this;
this.receipt.set('decscDecathlonid', '');
this.receipt.set('crmInfo', {});
@@ -22,11 +23,25 @@
order: this.receipt
}) //
.then(OB.POS.ORDER.remove) //
- .then(OB.POS.ORDER.create) //
- .then(OB.POS.ORDER.load) //
- .then(function() {
- // success
- OB.SCO.Utils.hideLoading();
+ .then(function(result) {
+ if (result) {
+ Promise.resolve(result)
+ .then(OB.POS.ORDER.create) //
+ .then(OB.POS.ORDER.load) //
+ .then(function() {
+ // success
+ OB.SCO.Utils.hideLoading();
+ })
+ ['catch'](
+ function() {
+ // exception
+ OB.SCO.Utils.hideLoading();
+ OB.SCO.Utils.showTechnicalError();
+ }.bind(me)
+ );
+ } else {
+ OB.SCO.Utils.hideLoading();
+ }
})
['catch'](
function() {
@@ -54,13 +69,10 @@
*/
me.clearReceipt().then(result => {
OB.info(result);
- });
- OB.SCO.Utils.hideLoading();
- me.executeEvent({
- name: 'GoStartNew',
- args: {
- clearReceipt: true
- }
+ OB.SCO.Utils.hideLoading();
+ me.executeEvent({
+ name: 'GoStartNew'
+ });
});
});
});
diff --git a/web/com.openbravo.decathlon.retail.selfcheckout.crm/source/steps/startWelcome.js b/web/com.openbravo.decathlon.retail.selfcheckout.crm/source/steps/startWelcome.js
index 96d3408..c924803 100644
--- a/web/com.openbravo.decathlon.retail.selfcheckout.crm/source/steps/startWelcome.js
+++ b/web/com.openbravo.decathlon.retail.selfcheckout.crm/source/steps/startWelcome.js
@@ -41,6 +41,7 @@ enyo.kind({
});
}
if (data.event.args && data.event.args.clearReceipt) {
+ const me = this;
OB.SCO.Utils.showLoading({
timeout: 0
});
@@ -48,11 +49,25 @@ enyo.kind({
order: data.receipt
}) //
.then(OB.POS.ORDER.remove) //
- .then(OB.POS.ORDER.create) //
- .then(OB.POS.ORDER.load) //
- .then(function() {
- // success
- OB.SCO.Utils.hideLoading();
+ .then(function(result) {
+ if (result) {
+ Promise.resolve(result)
+ .then(OB.POS.ORDER.create) //
+ .then(OB.POS.ORDER.load) //
+ .then(function() {
+ // success
+ OB.SCO.Utils.hideLoading();
+ })
+ ['catch'](
+ function() {
+ // exception
+ OB.SCO.Utils.hideLoading();
+ OB.SCO.Utils.showTechnicalError();
+ }.bind(me)
+ );
+ } else {
+ OB.SCO.Utils.hideLoading();
+ }
})
['catch'](
function() {
47499_selfcheckout_crm_dev_19Q3_v2.diff [^] (2,634 bytes) 2021-09-03 13:50 [Show Content] [Hide Content]diff --git a/web/com.openbravo.decathlon.retail.selfcheckout.crm/source/panels/scoConfirmExitPanel.js b/web/com.openbravo.decathlon.retail.selfcheckout.crm/source/panels/scoConfirmExitPanel.js
index c1061a6..1f13be8 100644
--- a/web/com.openbravo.decathlon.retail.selfcheckout.crm/source/panels/scoConfirmExitPanel.js
+++ b/web/com.openbravo.decathlon.retail.selfcheckout.crm/source/panels/scoConfirmExitPanel.js
@@ -19,42 +19,43 @@
this.receipt.set('decscDecathlonid', '');
this.receipt.set('crmInfo', {});
- return Promise.resolve({
- order: this.receipt
- }) //
- .then(OB.POS.ORDER.remove) //
- .then(function(result) {
- if (result) {
- Promise.resolve(result)
- .then(OB.POS.ORDER.create) //
- .then(OB.POS.ORDER.load) //
- .then(function() {
- // success
- OB.SCO.Utils.hideLoading();
- })
- ['catch'](
- function() {
+ return new Promise(function(resolve, reject) {
+ Promise.resolve({
+ order: me.receipt
+ }) //
+ .then(OB.POS.ORDER.remove) //
+ .then(function(result) {
+ if (result) {
+ Promise.resolve(result)
+ .then(OB.POS.ORDER.create) //
+ .then(OB.POS.ORDER.load) //
+ .then(function() {
+ // success
+ OB.SCO.Utils.hideLoading();
+ resolve();
+ })
+ .catch(function() {
// exception
OB.SCO.Utils.hideLoading();
OB.SCO.Utils.showTechnicalError();
- }.bind(me)
- );
- } else {
- OB.SCO.Utils.hideLoading();
- }
- })
- ['catch'](
- function() {
+ reject();
+ });
+ } else {
+ OB.SCO.Utils.hideLoading();
+ reject();
+ }
+ })
+ .catch(function() {
// exception
OB.SCO.Utils.hideLoading();
- this.executeEvent({
+ me.executeEvent({
name: 'GoTechnicalError'
});
- }.bind(this)
- );
- } else {
- return Promise.resolve({});
+ reject();
+ });
+ });
}
+ return Promise.resolve({});
},
actionConfirmExitYes: function(inSender, inEvent) {
47499_selfcheckout_ticketdematerialization.diff [^] (1,120 bytes) 2021-09-03 13:50 [Show Content] [Hide Content]diff --git a/web/com.openbravo.decathlon.retail.selfcheckout.ticketdematerialization/js/hooks/preClearReceiptSCO.js b/web/com.openbravo.decathlon.retail.selfcheckout.ticketdematerialization/js/hooks/preClearReceiptSCO.js
index 6467ae7..73fc7fa 100644
--- a/web/com.openbravo.decathlon.retail.selfcheckout.ticketdematerialization/js/hooks/preClearReceiptSCO.js
+++ b/web/com.openbravo.decathlon.retail.selfcheckout.ticketdematerialization/js/hooks/preClearReceiptSCO.js
@@ -10,7 +10,7 @@
/*
* Creation of hook that is executed before receipt cleaning in SCO.
*/
-var decstdOriginalClearReceipt =
+const decstdOriginalClearReceipt =
OB.SCO.APP.PANELRIGHT.ConfirmExitPanel.prototype.clearReceipt;
OB.SCO.APP.PANELRIGHT.ConfirmExitPanel.prototype.clearReceipt = _.wrap(
OB.SCO.APP.PANELRIGHT.ConfirmExitPanel.prototype.clearReceipt,
@@ -35,7 +35,8 @@ OB.SCO.APP.PANELRIGHT.ConfirmExitPanel.prototype.clearReceipt = _.wrap(
return new Promise(async (resolve, reject) => {
await executeAsyncHook();
- return await clearReceipt();
+ await clearReceipt();
+ resolve();
});
}
);
47499_SCO_19Q3-fr-dev_AddMultipleProducts.diff [^] (1,393 bytes) 2021-09-24 07:56 [Show Content] [Hide Content]diff --git a/web/org.openbravo.retail.selfcheckout/source/models/orderAPI.js b/web/org.openbravo.retail.selfcheckout/source/models/orderAPI.js
index 72711d7..7f04662 100644
--- a/web/org.openbravo.retail.selfcheckout/source/models/orderAPI.js
+++ b/web/org.openbravo.retail.selfcheckout/source/models/orderAPI.js
@@ -45,7 +45,7 @@ OB.POS.ORDER.print = function(data) {
OB.POS.ORDER.addProduct = function(data) {
// in: {order, product, qty, options, attrs, context}
// out: {order, product, orderline}
- if (data.order.get('productToBeAdded') || data.order.get('toBeDeleted')) {
+ if (data.order.get('toBeDeleted')) {
return Promise.resolve();
}
data.order.set('productToBeAdded', true);
@@ -122,7 +122,7 @@ OB.POS.ORDER.addProduct = function(data) {
OB.POS.ORDER.removeLine = function(data) {
// in: {order, line}
// out: {order}
- if (data.order.get('productToBeAdded') || data.order.get('toBeDeleted')) {
+ if (data.order.get('productToBeAdded')) {
return Promise.resolve();
}
data.order.set('toBeDeleted', true);
@@ -174,7 +174,7 @@ OB.POS.ORDER.load = function(data) {
OB.POS.ORDER.remove = function(data) {
// in: {order}
// out: {order}
- if (data.order.get('productToBeAdded') || data.order.get('toBeDeleted')) {
+ if (data.order.get('productToBeAdded')) {
return Promise.resolve();
}
data.order.set('toBeDeleted', true);
|