Openbravo Issue Tracking System - Retail Modules
View Issue Details
0045923Retail ModulesWeb POSpublic2021-02-16 09:592021-02-24 11:56
gorka_gil 
gorka_gil 
urgentmajoralways
closedfixed 
5
 
RR21Q1RR21Q1 
https://gitlab.com/openbravo/product/pmods/org.openbravo.mobile.core/commit/87c3e6d251f0c8db080607ba3c4739a551bde0b9 [^]
No
0045923: The background Incremental refresh is silently launching a normal incremental background
There are 3 types of masterdata refresh:
- full
- incremental
- incremental in background (splitted in requests and in save into db)

There are some problems with the incremental in background:
- 1) Before start the requests, a normal incremental is launched,
It is not visible because it doesn't show anything in the UI, but it can be seen in the console.
- 2) In the background incremental, the models requested are not saved into indexeddb
- 3) In the background incremental, the last refresh time is not correctly saved, so it requests always the same data (from last full or normal incremental)
- 4) In the background incremental, the requested model changes are stored in a variable called modifiedMasterdataModels, but it is storing all the model, not just the modified ones.

Note that issues 2, 3 and 4 are hidden by the first one, since the normal incremental does all the update, then when the background starts, there is nothing to update.
In the pos, open the console and execute:
OB.UTIL.loadModelsIncFunc()

It should start with (background incremental):
[requestIncrementalMasterdata] Starting incremental Request RefreshMasterdata

But instead, before that, it is doing a normal incremental:
[incrementalMasterdataRefresh] Starting incremental RefreshMasterdata
No tags attached.
blocks defect 0045900 closed gorka_gil The background Incremental refresh is silently launching a normal incremental background 
Issue History
2021-02-19 10:50marvintmTypedefect => backport
2021-02-19 10:50marvintmTarget Version => RR21Q1
2021-02-24 11:51hgbotNote Added: 0126332
2021-02-24 11:51hgbotNote Added: 0126333
2021-02-24 11:56hgbotNote Added: 0126334
2021-02-24 11:56hgbotNote Added: 0126335
2021-02-24 11:56hgbotResolutionopen => fixed
2021-02-24 11:56hgbotStatusscheduled => closed
2021-02-24 11:56hgbotFixed in Version => RR21Q1
2021-02-24 11:56hgbotNote Added: 0126336
2021-02-24 11:56hgbotNote Added: 0126337

Notes
(0126332)
hgbot   
2021-02-24 11:51   
Merge Request created: https://gitlab.com/openbravo/product/pmods/org.openbravo.mobile.core/-/merge_requests/170 [^]
(0126333)
hgbot   
2021-02-24 11:51   
Merge Request created: https://gitlab.com/openbravo/product/pmods/org.openbravo.retail.posterminal/-/merge_requests/322 [^]
(0126334)
hgbot   
2021-02-24 11:56   
Repository: https://gitlab.com/openbravo/product/pmods/org.openbravo.retail.posterminal [^]
Changeset: 1c01b1a1ec423c6456480284d4121d95b31cb86a
Author: Gorka Gil <gorka.gil@openbravo.com>
Date: 2021-02-24T11:49:54+01:00
URL: https://gitlab.com/openbravo/product/pmods/org.openbravo.retail.posterminal/-/commit/1c01b1a1ec423c6456480284d4121d95b31cb86a [^]

Related to issue-45923: if the login was offline, avoid masterdata refresh on interval

Also fix OB.UTIL.masterdataRefreshStatus when there is no masterdata to update

---
M web/org.openbravo.retail.posterminal/js/utils/ob-utilitiesuipos.js
---
(0126335)
hgbot   
2021-02-24 11:56   
Merge request merged: https://gitlab.com/openbravo/product/pmods/org.openbravo.retail.posterminal/-/merge_requests/322 [^]
(0126336)
hgbot   
2021-02-24 11:56   
Directly closing issue as related merge request is already approved.

Repository: https://gitlab.com/openbravo/product/pmods/org.openbravo.mobile.core [^]
Changeset: 4669a93f00901ba6f069197d4c1ffa839b9561f5
Author: Gorka Gil <gorka.gil@openbravo.com>
Date: 2021-02-24T11:49:34+01:00
URL: https://gitlab.com/openbravo/product/pmods/org.openbravo.mobile.core/-/commit/4669a93f00901ba6f069197d4c1ffa839b9561f5 [^]

Fixes ISSUE-45923: Fix incremental refresh after indexeddb changes

1) Fixed the normal incremental done before the background requests
Move the indexeddb normal incremental and full, from the load models, to the login
after each of the websql full or incremental refresh is done.

This is consistent with the backgroud incremental, that also call to the
update of websql models, and when finish to the update of indexeddb models

2) Fix save into indexeddb of the background incremental
- Check for masterdataModel.data.length instead masterdataModel.length

3) Fix background incremental on indexeddb, to only load the new data
- Fixed removing the save in local store of requestTimestamp,
in a moment that we have the old request date, later is done another save
with the correct date

4) Fix background incremental on indexeddb, to only save in
 modifiedMasterdataModels only the modified models, instead all models.

5) when executig loadModels after an offline login, call to the parent callback
instead the callback, to avoid printng output of masterdata refresh done, when in
reallity it was canceled.

6) Skip load of masterdata on login, this was done in websql inside the loadModels,
but since indexeddb models are not loadded by loadModels, is needed to check
for offlineLogin also outside of loadModels

---
M web/org.openbravo.mobile.core/app/model/masterdata/MasterdataController.js
M web/org.openbravo.mobile.core/source/model/ob-terminal-model.js
---
(0126337)
hgbot   
2021-02-24 11:56   
Merge request merged: https://gitlab.com/openbravo/product/pmods/org.openbravo.mobile.core/-/merge_requests/170 [^]