Openbravo Issue Tracking System - Retail Modules
View Issue Details
0039462Retail ModulesWeb POSpublic2018-07-20 12:462018-10-18 13:05
migueldejuana 
migueldejuana 
normalminoralways
closedfixed 
5
 
RR18Q2.4RR18Q2.4 
marvintm
No
0039462: Do not set terminalName with empty value
Since we added localStorage API, we save items in localStorage with the appName as prefix (WEBPOS.terminalName).
There is a case where we try to getItem but appName is not yet defined in OB.MobileApp.model, so we cannot get it from localStorage and we get null value.
Put a breakpoint in login-model.js in the line:

      me.setTerminalName(OB.UTIL.localStorage.getItem('terminalAuthentication', me.get('appName')) === 'Y' ? OB.UTIL.localStorage.getItem('terminalName', me.get('appName')) : OB.UTIL.getParameterByName("terminal"));

just before the line:

      OB.UTIL.HookManager.registerHook('OBMOBC_InitActions', function (args, c) {

Load web Pos and see that:

- OB.MobileApp.model is undefined so we cannot get the appName
- OB.UTIL.localStorage.getItem('terminalAuthentication') is null
- OB.UTIL.localStorage.getItem('terminalName')
Change the localStorage API adding the ability pass the appName. After this fix, we will be able to load items from localStorage before appName is defined in OB.MobileApp.model.

Example:
      me.setTerminalName(OB.UTIL.localStorage.getItem('terminalAuthentication', me.get('appName')) === 'Y' ? OB.UTIL.localStorage.getItem('terminalName', me.get('appName')) : OB.UTIL.getParameterByName("terminal"));

No tags attached.
blocks defect 0039009 closed migueldejuana Do not set terminalName with empty value 
Issue History
2018-10-16 16:28migueldejuanaTypedefect => backport
2018-10-16 16:28migueldejuanaTarget Version => RR18Q2.4
2018-10-16 16:30hgbotCheckin
2018-10-16 16:30hgbotNote Added: 0107343
2018-10-16 16:30hgbotStatusscheduled => resolved
2018-10-16 16:30hgbotResolutionopen => fixed
2018-10-16 16:30hgbotFixed in SCM revisionhttp://code.openbravo.com/erp/pmods/org.openbravo.retail.posterminal/rev/196db31bb02f702c89cbca0778f4f6edd04f1684 [^] => http://code.openbravo.com/retail/backports/3.0RR18Q2.4/org.openbravo.mobile.core/rev/52cdba1acbb71c362cf34eaf4f975f7e0d00ba03 [^]
2018-10-16 16:31hgbotCheckin
2018-10-16 16:31hgbotNote Added: 0107344
2018-10-16 16:31hgbotFixed in SCM revisionhttp://code.openbravo.com/retail/backports/3.0RR18Q2.4/org.openbravo.mobile.core/rev/52cdba1acbb71c362cf34eaf4f975f7e0d00ba03 [^] => http://code.openbravo.com/retail/backports/3.0RR18Q2.4/org.openbravo.retail.posterminal/rev/d00466c4832ea47c4a4373dd9193e2d683b594fa [^]
2018-10-18 13:05marvintmStatusresolved => closed
2018-10-18 13:05marvintmFixed in Version => RR18Q2.4

Notes
(0107343)
hgbot   
2018-10-16 16:30   
Repository: retail/backports/3.0RR18Q2.4/org.openbravo.mobile.core
Changeset: 52cdba1acbb71c362cf34eaf4f975f7e0d00ba03
Author: Miguel de Juana <miguel.dejuana <at> openbravo.com>
Date: Tue Oct 16 16:30:35 2018 +0200
URL: http://code.openbravo.com/retail/backports/3.0RR18Q2.4/org.openbravo.mobile.core/rev/52cdba1acbb71c362cf34eaf4f975f7e0d00ba03 [^]

Fixed issue 0039462: Do not set terminalName with empty value

- Add the ability to pass appName in case OB.MobileApp.model is not defined yet

---
M web/org.openbravo.mobile.core/source/utils/ob-localStorage.js
---
(0107344)
hgbot   
2018-10-16 16:31   
Repository: retail/backports/3.0RR18Q2.4/org.openbravo.retail.posterminal
Changeset: d00466c4832ea47c4a4373dd9193e2d683b594fa
Author: Miguel de Juana <miguel.dejuana <at> openbravo.com>
Date: Tue Oct 16 16:30:06 2018 +0200
URL: http://code.openbravo.com/retail/backports/3.0RR18Q2.4/org.openbravo.retail.posterminal/rev/d00466c4832ea47c4a4373dd9193e2d683b594fa [^]

Fixed issue 0039462: Do not set terminalName with empty value

- At this point OB.MobileApp.model is not defined so we cannot get appName to get items from localStorage. All localStoragegetItem will return null because this problem(until OB.MobileApp.model is defined) As we already know the appName, pass it as parameter to loscalStorage API.

---
M web/org.openbravo.retail.posterminal/js/login/model/login-model.js
---