# HG changeset patch
# User Mario Castello <mario.castello@peoplewalking.com>
# Date 1490626460 21600
#      lun mar 27 08:54:20 2017 -0600
# Node ID c863d696815b6a5d79c4c54f53c17ffe39fcd68a
# Parent  56572c1f0599ff652b1b2099eb9b4dbee358f8cb
Fixed issue 0035261: Necessary validation when result of the query return empty

- Added new messages
- Added new validation that prevent js error when the location not exits.

diff --git a/src-db/database/sourcedata/AD_MESSAGE.xml b/src-db/database/sourcedata/AD_MESSAGE.xml
--- a/src-db/database/sourcedata/AD_MESSAGE.xml
+++ b/src-db/database/sourcedata/AD_MESSAGE.xml
@@ -1454,6 +1454,18 @@
 <!--2B9EC1DC8B4E4C6FA08065F31A99A322-->  <ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N>
 <!--2B9EC1DC8B4E4C6FA08065F31A99A322--></AD_MESSAGE>
 
+<!--2BB151DA8D064440B52C3197E2066DF4--><AD_MESSAGE>
+<!--2BB151DA8D064440B52C3197E2066DF4-->  <AD_MESSAGE_ID><![CDATA[2BB151DA8D064440B52C3197E2066DF4]]></AD_MESSAGE_ID>
+<!--2BB151DA8D064440B52C3197E2066DF4-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--2BB151DA8D064440B52C3197E2066DF4-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--2BB151DA8D064440B52C3197E2066DF4-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--2BB151DA8D064440B52C3197E2066DF4-->  <VALUE><![CDATA[OBPOS_NoLoadedLocation]]></VALUE>
+<!--2BB151DA8D064440B52C3197E2066DF4-->  <MSGTEXT><![CDATA[The partner location cannot be loaded because the identifier is not valid or not exist the location.]]></MSGTEXT>
+<!--2BB151DA8D064440B52C3197E2066DF4-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--2BB151DA8D064440B52C3197E2066DF4-->  <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
+<!--2BB151DA8D064440B52C3197E2066DF4-->  <ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N>
+<!--2BB151DA8D064440B52C3197E2066DF4--></AD_MESSAGE>
+
 <!--2C22B357651D4E03B677D53159B763D0--><AD_MESSAGE>
 <!--2C22B357651D4E03B677D53159B763D0-->  <AD_MESSAGE_ID><![CDATA[2C22B357651D4E03B677D53159B763D0]]></AD_MESSAGE_ID>
 <!--2C22B357651D4E03B677D53159B763D0-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff --git a/web/org.openbravo.retail.posterminal/js/model/order.js b/web/org.openbravo.retail.posterminal/js/model/order.js
--- a/web/org.openbravo.retail.posterminal/js/model/order.js
+++ b/web/org.openbravo.retail.posterminal/js/model/order.js
@@ -2418,17 +2418,24 @@
               bpartnerId: businessPartner.id,
               bpLocationId: businessPartner.get('shipLocId')
             }, function (data) {
-              var bpLoc = OB.Dal.transform(OB.Model.BPLocation, data[1]);
-              OB.Dal.saveIfNew(bpLoc, function () {
-                businessPartner.set('locationModel', bpLoc);
-                me.set('bp', businessPartner);
-                me.save();
-                // copy the modelOrder again, as the get/save are async
-                OB.MobileApp.model.orderList.saveCurrent();
-                finishSaveData(callback);
-              }, function () {
-                OB.error(arguments);
-              });
+              if (data && data[1]) {
+                var bpLoc = OB.Dal.transform(OB.Model.BPLocation, data[1]);
+                OB.Dal.saveIfNew(bpLoc, function () {
+                  businessPartner.set('locationModel', bpLoc);
+                  me.set('bp', businessPartner);
+                  me.save();
+                  // copy the modelOrder again, as the get/save are async
+                  OB.MobileApp.model.orderList.saveCurrent();
+                  finishSaveData(callback);
+                }, function () {
+                  OB.error(arguments);
+                });
+              } else {
+                OB.UTIL.showConfirmation.display(OB.I18N.getLabel('OBPOS_InformationTitle'), OB.I18N.getLabel('OBPOS_NoLoadedLocation'), [{
+                  label: OB.I18N.getLabel('OBPOS_LblOk'),
+                  isConfirmButton: true
+                }]);
+              }
             }, function () {
               OB.UTIL.showConfirmation.display(OB.I18N.getLabel('OBPOS_InformationTitle'), OB.I18N.getLabel('OBPOS_NoReceiptLoadedLocation'), [{
                 label: OB.I18N.getLabel('OBPOS_LblOk'),
