From beb05baaf3b8be15b92c66202a2d3ac5ea2fe850 Mon Sep 17 00:00:00 2001
From: Javier Etxarri <javier.echarri@openbravo.com>
Date: Fri, 12 Feb 2021 09:46:57 +0100
Subject: [PATCH] =?UTF-8?q?Fixes=20issue=20NOE-2768:=20Probl=C3=A8mes=20de?=
 =?UTF-8?q?=20lenteur=20en=20caisse=20au=20login=3F=20One=20of=20the=20pro?=
 =?UTF-8?q?blems=20was=20that=20cache=20was=20initializing=20during=20the?=
 =?UTF-8?q?=20login.=20Now=20instead=20of=20initializing=20during=20the=20?=
 =?UTF-8?q?login,=20it=20is=20loaded=20after=20the=20ui=20is=20rendered?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../app/model/masterdata/MasterdataController.js           | 4 +++-
 .../source/data/ob-windowmodel.js                          | 1 +
 .../source/model/ob-terminal-model.js                      | 7 ++-----
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/web/org.openbravo.mobile.core/app/model/masterdata/MasterdataController.js b/web/org.openbravo.mobile.core/app/model/masterdata/MasterdataController.js
index 7b8c7691..38b5800b 100644
--- a/web/org.openbravo.mobile.core/app/model/masterdata/MasterdataController.js
+++ b/web/org.openbravo.mobile.core/app/model/masterdata/MasterdataController.js
@@ -259,7 +259,9 @@
             .build();
           this.models[model].isLoadingCache = true;
           // eslint-disable-next-line no-await-in-loop
-          this.models[model].searchCache = await this.find(model, criteria);
+          if (this.models[model].searchCache.length === 0) {
+            this.models[model].searchCache = await this.find(model, criteria);
+          }
           this.models[model].isLoadingCache = false;
           OB.info(`Finished loading cache for Model ${model}`);
         }
diff --git a/web/org.openbravo.mobile.core/source/data/ob-windowmodel.js b/web/org.openbravo.mobile.core/source/data/ob-windowmodel.js
index e041a078..a6d55a1e 100644
--- a/web/org.openbravo.mobile.core/source/data/ob-windowmodel.js
+++ b/web/org.openbravo.mobile.core/source/data/ob-windowmodel.js
@@ -51,6 +51,7 @@ OB.Model.WindowModel = Backbone.Model.extend({
               OB.MobileApp.view.currentWindowState = 'renderUI';
               OB.MobileApp.model.set('currentWindowState', 'renderUI');
               OB.MobileApp.model.set('isLoggingIn', false);
+              OB.App.MasterdataController.loadMasterdataCache();
             });
           });
         });
diff --git a/web/org.openbravo.mobile.core/source/model/ob-terminal-model.js b/web/org.openbravo.mobile.core/source/model/ob-terminal-model.js
index 99025bff..f942808d 100644
--- a/web/org.openbravo.mobile.core/source/model/ob-terminal-model.js
+++ b/web/org.openbravo.mobile.core/source/model/ob-terminal-model.js
@@ -197,7 +197,6 @@ OB.Model.Terminal = Backbone.Model.extend({
         this.loadRegisteredWindows(function() {
           if (!callbackAlreadyExecuted) {
             callbackAlreadyExecuted = true;
-            OB.App.MasterdataController.loadMasterdataCache();
             me.renderMain();
             me.postLoginActions();
           }
@@ -3295,7 +3294,7 @@ OB.Model.Terminal = Backbone.Model.extend({
       });
       rr.exec(ajaxRequest.url);
     }
-    
+
     // Check if the cashup is processed and then, go ahead
     function flushMessagesWhenSynchReady(iteration) {
       OB.Dal.find(
@@ -3335,10 +3334,8 @@ OB.Model.Terminal = Backbone.Model.extend({
         }
       );
     }
-    ;    
-        
     this.preLogoutActions(function() {
-    	flushMessagesWhenSynchReady(0); 
+      flushMessagesWhenSynchReady(0);
     });
   },
 
-- 
2.27.0

