# HG changeset patch
# User Adrián Romero <adrianromero@openbravo.com>
# Date 1583319611 -3600
#      Wed Mar 04 12:00:11 2020 +0100
# Node ID 499efc4bfad1157e7e2105b64e9623ba4c32bace
# Parent  ed8705b5a49287e257ac42be3f3b686bceaa7a97
Fixed ISSUE-0043413: Add hook for POS Logout: OBPOS_PreLogoutAction

diff --git a/web/org.openbravo.retail.posterminal/js/login/model/login-model.js b/web/org.openbravo.retail.posterminal/js/login/model/login-model.js
--- a/web/org.openbravo.retail.posterminal/js/login/model/login-model.js
+++ b/web/org.openbravo.retail.posterminal/js/login/model/login-model.js
@@ -960,11 +960,16 @@
     },
 
     cleanSessionInfo: function () {
-      this.cleanTerminalData();
+      return new Promise(resolve => {
+        OB.UTIL.HookManager.executeHooks('OBPOS_PreLogoutAction', {}, () => {
+          this.cleanTerminalData();
+          resolve();
+        });
+      });
     },
 
     preLoginActions: function () {
-      this.cleanSessionInfo();
+      this.cleanTerminalData();
     },
 
     preLogoutActions: function (finalCallback) {
@@ -974,8 +979,7 @@
       function removeOneModel(model, collection, callback) {
         if (collection.length === 0) {
           if (callback && callback instanceof Function) {
-            me.cleanSessionInfo();
-            callback();
+            me.cleanSessionInfo().then(() => callback());
           }
           return;
         }
@@ -994,8 +998,7 @@
           removeOneModel(collection.at(0), collection, finalCallback);
         } else {
           if (finalCallback && finalCallback instanceof Function) {
-            me.cleanSessionInfo();
-            finalCallback();
+            me.cleanSessionInfo().then(() => finalCallback());
           }
         }
       }
