feat(permissions): add dashboard.view permission for cashier/counter/workshop
This commit is contained in:
@@ -46,6 +46,9 @@ _DEFAULT_ROLE_PERMISSIONS = {
|
|||||||
|
|
||||||
|
|
||||||
_AVAILABLE_PERMISSIONS = [
|
_AVAILABLE_PERMISSIONS = [
|
||||||
|
{'module': 'Dashboard', 'permissions': [
|
||||||
|
{'key': 'dashboard.view', 'label': 'Ver Dashboard'},
|
||||||
|
]},
|
||||||
{'module': 'Punto de Venta', 'permissions': [
|
{'module': 'Punto de Venta', 'permissions': [
|
||||||
{'key': 'pos.sell', 'label': 'Realizar ventas'},
|
{'key': 'pos.sell', 'label': 'Realizar ventas'},
|
||||||
{'key': 'pos.view', 'label': 'Ver ventas/cotizaciones'},
|
{'key': 'pos.view', 'label': 'Ver ventas/cotizaciones'},
|
||||||
|
|||||||
@@ -201,7 +201,8 @@
|
|||||||
'accounting.view': '/pos/accounting',
|
'accounting.view': '/pos/accounting',
|
||||||
'reports.view': '/pos/reports',
|
'reports.view': '/pos/reports',
|
||||||
'config.view': '/pos/config',
|
'config.view': '/pos/config',
|
||||||
'config.edit': '/pos/config'
|
'config.edit': '/pos/config',
|
||||||
|
'dashboard.view': '/pos/dashboard'
|
||||||
};
|
};
|
||||||
for (var p in permMap) {
|
for (var p in permMap) {
|
||||||
if (userPerms.indexOf(p) !== -1 && allowed.indexOf(permMap[p]) === -1) {
|
if (userPerms.indexOf(p) !== -1 && allowed.indexOf(permMap[p]) === -1) {
|
||||||
@@ -211,14 +212,18 @@
|
|||||||
return allowed.indexOf(pagePath) !== -1;
|
return allowed.indexOf(pagePath) !== -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Counter: fixed module set (no dashboard).
|
// Counter: fixed module set. Dashboard only if explicitly granted.
|
||||||
if (userRole === 'counter') {
|
if (userRole === 'counter') {
|
||||||
return ['/pos/sale','/pos/catalog','/pos/inventory','/pos/customers','/pos/workshop','/pos/remission-notes','/pos/reports'].indexOf(pagePath) !== -1;
|
var allowed = ['/pos/sale','/pos/catalog','/pos/inventory','/pos/customers','/pos/workshop','/pos/remission-notes','/pos/reports'];
|
||||||
|
if (userPerms.indexOf('dashboard.view') !== -1) allowed.push('/pos/dashboard');
|
||||||
|
return allowed.indexOf(pagePath) !== -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Cashier: fixed module set (no dashboard).
|
// Cashier: fixed module set. Dashboard only if explicitly granted.
|
||||||
if (userRole === 'cashier') {
|
if (userRole === 'cashier') {
|
||||||
return ['/pos/sale','/pos/catalog','/pos/inventory','/pos/customers','/pos/workshop','/pos/remission-notes','/pos/invoicing','/pos/reports'].indexOf(pagePath) !== -1;
|
var allowed = ['/pos/sale','/pos/catalog','/pos/inventory','/pos/customers','/pos/workshop','/pos/remission-notes','/pos/invoicing','/pos/reports'];
|
||||||
|
if (userPerms.indexOf('dashboard.view') !== -1) allowed.push('/pos/dashboard');
|
||||||
|
return allowed.indexOf(pagePath) !== -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Always allow login/logout pages so users can sign out without hitting the guard.
|
// Always allow login/logout pages so users can sign out without hitting the guard.
|
||||||
@@ -287,8 +292,9 @@
|
|||||||
(function hideBackToSystemForRestrictedRoles() {
|
(function hideBackToSystemForRestrictedRoles() {
|
||||||
var backBtn = document.getElementById('backToSystemBtn');
|
var backBtn = document.getElementById('backToSystemBtn');
|
||||||
if (!backBtn) return;
|
if (!backBtn) return;
|
||||||
// owner/admin are the only roles that should see the dashboard shortcut from POS.
|
// owner/admin always see it; others only if they have dashboard.view.
|
||||||
if (role === 'owner' || role === 'admin') return;
|
if (role === 'owner' || role === 'admin') return;
|
||||||
|
if ((window.POS_USER.permissions || []).indexOf('dashboard.view') !== -1) return;
|
||||||
backBtn.style.display = 'none';
|
backBtn.style.display = 'none';
|
||||||
})();
|
})();
|
||||||
|
|
||||||
|
|||||||
@@ -53,7 +53,8 @@ window.renderSidebar = function(modulesOverride) {
|
|||||||
'invoicing.view': 'invoicing',
|
'invoicing.view': 'invoicing',
|
||||||
'quotations.view': 'quotations',
|
'quotations.view': 'quotations',
|
||||||
'accounting.view': 'accounting',
|
'accounting.view': 'accounting',
|
||||||
'reports.view': 'reports'
|
'reports.view': 'reports',
|
||||||
|
'dashboard.view': 'dashboard'
|
||||||
};
|
};
|
||||||
for (var p in permMap) {
|
for (var p in permMap) {
|
||||||
if (perms.indexOf(p) !== -1 && allowed.indexOf(permMap[p]) === -1) {
|
if (perms.indexOf(p) !== -1 && allowed.indexOf(permMap[p]) === -1) {
|
||||||
@@ -63,10 +64,14 @@ window.renderSidebar = function(modulesOverride) {
|
|||||||
return allowed.indexOf(id) !== -1;
|
return allowed.indexOf(id) !== -1;
|
||||||
}
|
}
|
||||||
if (role === 'counter') {
|
if (role === 'counter') {
|
||||||
return ['pos','catalog','inventory','customers','workshop','remission_notes','reports'].indexOf(id) !== -1;
|
var allowed = ['pos','catalog','inventory','customers','workshop','remission_notes','reports'];
|
||||||
|
if (hasPerm('dashboard.view')) allowed.push('dashboard');
|
||||||
|
return allowed.indexOf(id) !== -1;
|
||||||
}
|
}
|
||||||
if (role === 'cashier') {
|
if (role === 'cashier') {
|
||||||
return ['pos','catalog','inventory','customers','workshop','remission_notes','invoicing','reports'].indexOf(id) !== -1;
|
var allowed = ['pos','catalog','inventory','customers','workshop','remission_notes','invoicing','reports'];
|
||||||
|
if (hasPerm('dashboard.view')) allowed.push('dashboard');
|
||||||
|
return allowed.indexOf(id) !== -1;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -493,10 +493,10 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="/pos/static/js/i18n.js?v=39" defer></script>
|
<script src="/pos/static/js/i18n.js?v=39" defer></script>
|
||||||
<script src="/pos/static/js/app-init.js?v=6" defer></script>
|
<script src="/pos/static/js/app-init.js?v=7" defer></script>
|
||||||
<script src="/pos/static/js/splash-loader.js?v=33" defer></script>
|
<script src="/pos/static/js/splash-loader.js?v=33" defer></script>
|
||||||
<script src="/pos/static/js/pos-utils.js?v=33" defer></script>
|
<script src="/pos/static/js/pos-utils.js?v=33" defer></script>
|
||||||
<script src="/pos/static/js/sidebar.js?v=44" defer></script>
|
<script src="/pos/static/js/sidebar.js?v=45" defer></script>
|
||||||
<script src="/pos/static/js/accounting.v9.js?v=33" defer></script>
|
<script src="/pos/static/js/accounting.v9.js?v=33" defer></script>
|
||||||
<script src="/pos/static/js/sync-engine.js" defer></script>
|
<script src="/pos/static/js/sync-engine.js" defer></script>
|
||||||
<script>if('serviceWorker' in navigator){navigator.serviceWorker.register('/pos/sw.js',{scope:'/pos/'});}</script>
|
<script>if('serviceWorker' in navigator){navigator.serviceWorker.register('/pos/sw.js',{scope:'/pos/'});}</script>
|
||||||
|
|||||||
@@ -316,10 +316,10 @@
|
|||||||
|
|
||||||
<script src="/pos/static/js/i18n.js?v=39" defer></script>
|
<script src="/pos/static/js/i18n.js?v=39" defer></script>
|
||||||
<script src="/pos/static/js/kiosk.js" defer></script>
|
<script src="/pos/static/js/kiosk.js" defer></script>
|
||||||
<script src="/pos/static/js/app-init.js?v=6" defer></script>
|
<script src="/pos/static/js/app-init.js?v=7" defer></script>
|
||||||
<script src="/pos/static/js/splash-loader.js?v=33" defer></script>
|
<script src="/pos/static/js/splash-loader.js?v=33" defer></script>
|
||||||
<script src="/pos/static/js/pos-utils.js?v=33" defer></script>
|
<script src="/pos/static/js/pos-utils.js?v=33" defer></script>
|
||||||
<script src="/pos/static/js/sidebar.js?v=44" defer></script>
|
<script src="/pos/static/js/sidebar.js?v=45" defer></script>
|
||||||
<script src="/pos/static/js/catalog.js?v=33" defer></script>
|
<script src="/pos/static/js/catalog.js?v=33" defer></script>
|
||||||
<script src="/pos/static/js/offline-banner.js" defer></script>
|
<script src="/pos/static/js/offline-banner.js" defer></script>
|
||||||
<script src="/pos/static/js/chat.js" defer></script>
|
<script src="/pos/static/js/chat.js" defer></script>
|
||||||
|
|||||||
@@ -1016,10 +1016,10 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="/pos/static/js/i18n.js?v=39" defer></script>
|
<script src="/pos/static/js/i18n.js?v=39" defer></script>
|
||||||
<script src="/pos/static/js/app-init.js?v=6" defer></script>
|
<script src="/pos/static/js/app-init.js?v=7" defer></script>
|
||||||
<script src="/pos/static/js/splash-loader.js?v=33" defer></script>
|
<script src="/pos/static/js/splash-loader.js?v=33" defer></script>
|
||||||
<script src="/pos/static/js/pos-utils.js?v=33" defer></script>
|
<script src="/pos/static/js/pos-utils.js?v=33" defer></script>
|
||||||
<script src="/pos/static/js/sidebar.js?v=44" defer></script>
|
<script src="/pos/static/js/sidebar.js?v=45" defer></script>
|
||||||
<script src="/pos/static/js/kiosk.js" defer></script>
|
<script src="/pos/static/js/kiosk.js" defer></script>
|
||||||
<script src="/pos/static/js/config.js?v=39" defer></script>
|
<script src="/pos/static/js/config.js?v=39" defer></script>
|
||||||
<script src="/pos/static/js/sync-engine.js" defer></script>
|
<script src="/pos/static/js/sync-engine.js" defer></script>
|
||||||
|
|||||||
@@ -651,10 +651,10 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="/pos/static/js/i18n.js?v=39" defer></script>
|
<script src="/pos/static/js/i18n.js?v=39" defer></script>
|
||||||
<script src="/pos/static/js/app-init.js?v=6" defer></script>
|
<script src="/pos/static/js/app-init.js?v=7" defer></script>
|
||||||
<script src="/pos/static/js/splash-loader.js?v=33" defer></script>
|
<script src="/pos/static/js/splash-loader.js?v=33" defer></script>
|
||||||
<script src="/pos/static/js/pos-utils.js?v=33" defer></script>
|
<script src="/pos/static/js/pos-utils.js?v=33" defer></script>
|
||||||
<script src="/pos/static/js/sidebar.js?v=44" defer></script>
|
<script src="/pos/static/js/sidebar.js?v=45" defer></script>
|
||||||
<script src="/pos/static/js/virtual-scroll.js" defer></script>
|
<script src="/pos/static/js/virtual-scroll.js" defer></script>
|
||||||
<script src="/pos/static/js/customers.js?v=35" defer></script>
|
<script src="/pos/static/js/customers.js?v=35" defer></script>
|
||||||
<script src="/pos/static/js/offline-banner.js" defer></script>
|
<script src="/pos/static/js/offline-banner.js" defer></script>
|
||||||
|
|||||||
@@ -606,10 +606,10 @@
|
|||||||
|
|
||||||
<script src="/pos/static/js/chart.umd.min.js" defer></script>
|
<script src="/pos/static/js/chart.umd.min.js" defer></script>
|
||||||
<script src="/pos/static/js/i18n.js?v=39" defer></script>
|
<script src="/pos/static/js/i18n.js?v=39" defer></script>
|
||||||
<script src="/pos/static/js/app-init.js?v=6" defer></script>
|
<script src="/pos/static/js/app-init.js?v=7" defer></script>
|
||||||
<script src="/pos/static/js/splash-loader.js?v=33" defer></script>
|
<script src="/pos/static/js/splash-loader.js?v=33" defer></script>
|
||||||
<script src="/pos/static/js/pos-utils.js?v=33" defer></script>
|
<script src="/pos/static/js/pos-utils.js?v=33" defer></script>
|
||||||
<script src="/pos/static/js/sidebar.js?v=44" defer></script>
|
<script src="/pos/static/js/sidebar.js?v=45" defer></script>
|
||||||
<script src="/pos/static/js/dashboard-stats.js?v=33" defer></script>
|
<script src="/pos/static/js/dashboard-stats.js?v=33" defer></script>
|
||||||
<script src="/pos/static/js/dashboard.js?v=33" defer></script>
|
<script src="/pos/static/js/dashboard.js?v=33" defer></script>
|
||||||
<script src="/pos/static/js/sync-engine.js" defer></script>
|
<script src="/pos/static/js/sync-engine.js" defer></script>
|
||||||
|
|||||||
@@ -150,10 +150,10 @@
|
|||||||
|
|
||||||
<script src="/pos/static/js/i18n.js?v=39" defer></script>
|
<script src="/pos/static/js/i18n.js?v=39" defer></script>
|
||||||
<script src="/pos/static/js/kiosk.js" defer></script>
|
<script src="/pos/static/js/kiosk.js" defer></script>
|
||||||
<script src="/pos/static/js/app-init.js?v=6" defer></script>
|
<script src="/pos/static/js/app-init.js?v=7" defer></script>
|
||||||
<script src="/pos/static/js/splash-loader.js?v=33" defer></script>
|
<script src="/pos/static/js/splash-loader.js?v=33" defer></script>
|
||||||
<script src="/pos/static/js/pos-utils.js?v=33" defer></script>
|
<script src="/pos/static/js/pos-utils.js?v=33" defer></script>
|
||||||
<script src="/pos/static/js/sidebar.js?v=44" defer></script>
|
<script src="/pos/static/js/sidebar.js?v=45" defer></script>
|
||||||
<script src="/pos/static/js/diagrams.js" defer></script>
|
<script src="/pos/static/js/diagrams.js" defer></script>
|
||||||
<script>if('serviceWorker' in navigator){navigator.serviceWorker.register('/pos/sw.js',{scope:'/pos/'});}</script>
|
<script>if('serviceWorker' in navigator){navigator.serviceWorker.register('/pos/sw.js',{scope:'/pos/'});}</script>
|
||||||
<script src="/pos/static/js/pwa-install.js" defer></script>
|
<script src="/pos/static/js/pwa-install.js" defer></script>
|
||||||
|
|||||||
@@ -303,10 +303,10 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="/pos/static/js/i18n.js?v=39" defer></script>
|
<script src="/pos/static/js/i18n.js?v=39" defer></script>
|
||||||
<script src="/pos/static/js/app-init.js?v=6" defer></script>
|
<script src="/pos/static/js/app-init.js?v=7" defer></script>
|
||||||
<script src="/pos/static/js/splash-loader.js?v=33" defer></script>
|
<script src="/pos/static/js/splash-loader.js?v=33" defer></script>
|
||||||
<script src="/pos/static/js/pos-utils.js?v=33" defer></script>
|
<script src="/pos/static/js/pos-utils.js?v=33" defer></script>
|
||||||
<script src="/pos/static/js/sidebar.js?v=44" defer></script>
|
<script src="/pos/static/js/sidebar.js?v=45" defer></script>
|
||||||
<script src="/pos/static/js/fleet.js" defer></script>
|
<script src="/pos/static/js/fleet.js" defer></script>
|
||||||
<script src="/pos/static/js/offline-banner.js" defer></script>
|
<script src="/pos/static/js/offline-banner.js" defer></script>
|
||||||
<script>if('serviceWorker' in navigator){navigator.serviceWorker.register('/pos/sw.js',{scope:'/pos/'});}</script>
|
<script>if('serviceWorker' in navigator){navigator.serviceWorker.register('/pos/sw.js',{scope:'/pos/'});}</script>
|
||||||
|
|||||||
@@ -1062,10 +1062,10 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="/pos/static/js/i18n.js?v=39" defer></script>
|
<script src="/pos/static/js/i18n.js?v=39" defer></script>
|
||||||
<script src="/pos/static/js/app-init.js?v=6" defer></script>
|
<script src="/pos/static/js/app-init.js?v=7" defer></script>
|
||||||
<script src="/pos/static/js/splash-loader.js?v=33" defer></script>
|
<script src="/pos/static/js/splash-loader.js?v=33" defer></script>
|
||||||
<script src="/pos/static/js/pos-utils.js?v=33" defer></script>
|
<script src="/pos/static/js/pos-utils.js?v=33" defer></script>
|
||||||
<script src="/pos/static/js/sidebar.js?v=44" defer></script>
|
<script src="/pos/static/js/sidebar.js?v=45" defer></script>
|
||||||
<script src="/pos/static/js/virtual-scroll.js?v=33" defer></script>
|
<script src="/pos/static/js/virtual-scroll.js?v=33" defer></script>
|
||||||
<script src="/pos/static/js/inventory.js?v=38" defer></script>
|
<script src="/pos/static/js/inventory.js?v=38" defer></script>
|
||||||
<script src="/pos/static/js/offline-banner.js" defer></script>
|
<script src="/pos/static/js/offline-banner.js" defer></script>
|
||||||
|
|||||||
@@ -1064,10 +1064,10 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="/pos/static/js/i18n.js?v=39" defer></script>
|
<script src="/pos/static/js/i18n.js?v=39" defer></script>
|
||||||
<script src="/pos/static/js/app-init.js?v=6" defer></script>
|
<script src="/pos/static/js/app-init.js?v=7" defer></script>
|
||||||
<script src="/pos/static/js/splash-loader.js?v=33" defer></script>
|
<script src="/pos/static/js/splash-loader.js?v=33" defer></script>
|
||||||
<script src="/pos/static/js/pos-utils.js?v=33" defer></script>
|
<script src="/pos/static/js/pos-utils.js?v=33" defer></script>
|
||||||
<script src="/pos/static/js/sidebar.js?v=44" defer></script>
|
<script src="/pos/static/js/sidebar.js?v=45" defer></script>
|
||||||
<script src="/pos/static/js/invoicing.js?v=33" defer></script>
|
<script src="/pos/static/js/invoicing.js?v=33" defer></script>
|
||||||
<script src="/pos/static/js/sync-engine.js" defer></script>
|
<script src="/pos/static/js/sync-engine.js" defer></script>
|
||||||
<script>if('serviceWorker' in navigator){navigator.serviceWorker.register('/pos/sw.js',{scope:'/pos/'});}</script>
|
<script>if('serviceWorker' in navigator){navigator.serviceWorker.register('/pos/sw.js',{scope:'/pos/'});}</script>
|
||||||
|
|||||||
@@ -343,10 +343,10 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="/pos/static/js/i18n.js?v=39" defer></script>
|
<script src="/pos/static/js/i18n.js?v=39" defer></script>
|
||||||
<script src="/pos/static/js/app-init.js?v=6" defer></script>
|
<script src="/pos/static/js/app-init.js?v=7" defer></script>
|
||||||
<script src="/pos/static/js/splash-loader.js?v=33" defer></script>
|
<script src="/pos/static/js/splash-loader.js?v=33" defer></script>
|
||||||
<script src="/pos/static/js/pos-utils.js?v=33" defer></script>
|
<script src="/pos/static/js/pos-utils.js?v=33" defer></script>
|
||||||
<script src="/pos/static/js/sidebar.js?v=44" defer></script>
|
<script src="/pos/static/js/sidebar.js?v=45" defer></script>
|
||||||
<script src="/pos/static/js/marketplace_external.js?v=33" defer></script>
|
<script src="/pos/static/js/marketplace_external.js?v=33" defer></script>
|
||||||
<script>if('serviceWorker' in navigator){navigator.serviceWorker.register('/pos/sw.js',{scope:'/pos/'});}</script>
|
<script>if('serviceWorker' in navigator){navigator.serviceWorker.register('/pos/sw.js',{scope:'/pos/'});}</script>
|
||||||
</body>
|
</body>
|
||||||
|
|||||||
@@ -729,7 +729,7 @@
|
|||||||
<script src="/pos/static/js/i18n.js?v=39" defer></script>
|
<script src="/pos/static/js/i18n.js?v=39" defer></script>
|
||||||
<script src="/pos/static/js/kiosk.js" defer></script>
|
<script src="/pos/static/js/kiosk.js" defer></script>
|
||||||
<script src="/pos/static/js/pos-utils.js?v=33" defer></script>
|
<script src="/pos/static/js/pos-utils.js?v=33" defer></script>
|
||||||
<script src="/pos/static/js/app-init.js?v=6" defer></script>
|
<script src="/pos/static/js/app-init.js?v=7" defer></script>
|
||||||
<script src="/pos/static/js/splash-loader.js?v=33" defer></script>
|
<script src="/pos/static/js/splash-loader.js?v=33" defer></script>
|
||||||
<script src="/pos/static/js/push.js" defer></script>
|
<script src="/pos/static/js/push.js" defer></script>
|
||||||
<script src="/pos/static/js/printer.js" defer></script>
|
<script src="/pos/static/js/printer.js" defer></script>
|
||||||
|
|||||||
@@ -15,9 +15,9 @@
|
|||||||
<body>
|
<body>
|
||||||
<script src="/pos/static/js/pos-utils.js?v=33" defer></script>
|
<script src="/pos/static/js/pos-utils.js?v=33" defer></script>
|
||||||
<script src="/pos/static/js/i18n.js?v=39" defer></script>
|
<script src="/pos/static/js/i18n.js?v=39" defer></script>
|
||||||
<script src="/pos/static/js/app-init.js?v=6" defer></script>
|
<script src="/pos/static/js/app-init.js?v=7" defer></script>
|
||||||
<script src="/pos/static/js/splash-loader.js?v=33" defer></script>
|
<script src="/pos/static/js/splash-loader.js?v=33" defer></script>
|
||||||
<script src="/pos/static/js/sidebar.js?v=44" defer></script>
|
<script src="/pos/static/js/sidebar.js?v=45" defer></script>
|
||||||
|
|
||||||
<div class="page">
|
<div class="page">
|
||||||
<h1 class="page-title">Cotizaciones</h1>
|
<h1 class="page-title">Cotizaciones</h1>
|
||||||
|
|||||||
@@ -227,8 +227,8 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="/pos/static/js/i18n.js?v=39" defer></script>
|
<script src="/pos/static/js/i18n.js?v=39" defer></script>
|
||||||
<script src="/pos/static/js/app-init.js?v=6" defer></script>
|
<script src="/pos/static/js/app-init.js?v=7" defer></script>
|
||||||
<script src="/pos/static/js/sidebar.js?v=44" defer></script>
|
<script src="/pos/static/js/sidebar.js?v=45" defer></script>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
const token = localStorage.getItem('pos_token') || '';
|
const token = localStorage.getItem('pos_token') || '';
|
||||||
|
|||||||
@@ -406,10 +406,10 @@
|
|||||||
<!-- End app-shell -->
|
<!-- End app-shell -->
|
||||||
|
|
||||||
<script src="/pos/static/js/i18n.js?v=39" defer></script>
|
<script src="/pos/static/js/i18n.js?v=39" defer></script>
|
||||||
<script src="/pos/static/js/app-init.js?v=6" defer></script>
|
<script src="/pos/static/js/app-init.js?v=7" defer></script>
|
||||||
<script src="/pos/static/js/splash-loader.js?v=33" defer></script>
|
<script src="/pos/static/js/splash-loader.js?v=33" defer></script>
|
||||||
<script src="/pos/static/js/pos-utils.js?v=33" defer></script>
|
<script src="/pos/static/js/pos-utils.js?v=33" defer></script>
|
||||||
<script src="/pos/static/js/sidebar.js?v=44" defer></script>
|
<script src="/pos/static/js/sidebar.js?v=45" defer></script>
|
||||||
<script src="/pos/static/js/reports.js?v=35" defer></script>
|
<script src="/pos/static/js/reports.js?v=35" defer></script>
|
||||||
<script src="/pos/static/js/sync-engine.js" defer></script>
|
<script src="/pos/static/js/sync-engine.js" defer></script>
|
||||||
<script>if('serviceWorker' in navigator){navigator.serviceWorker.register('/pos/sw.js',{scope:'/pos/'});}</script>
|
<script>if('serviceWorker' in navigator){navigator.serviceWorker.register('/pos/sw.js',{scope:'/pos/'});}</script>
|
||||||
|
|||||||
@@ -126,8 +126,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="/pos/static/js/app-init.js?v=6" defer></script>
|
<script src="/pos/static/js/app-init.js?v=7" defer></script>
|
||||||
<script src="/pos/static/js/sidebar.js?v=44" defer></script>
|
<script src="/pos/static/js/sidebar.js?v=45" defer></script>
|
||||||
<script src="/pos/static/js/supplier_catalog.js?v=33" defer></script>
|
<script src="/pos/static/js/supplier_catalog.js?v=33" defer></script>
|
||||||
<script>if('serviceWorker' in navigator){navigator.serviceWorker.register('/pos/sw.js',{scope:'/pos/'});}</script>
|
<script>if('serviceWorker' in navigator){navigator.serviceWorker.register('/pos/sw.js',{scope:'/pos/'});}</script>
|
||||||
</body>
|
</body>
|
||||||
|
|||||||
@@ -132,11 +132,11 @@ function posLogout(){localStorage.removeItem('pos_token');window.location.href='
|
|||||||
|
|
||||||
<!-- Sidebar -->
|
<!-- Sidebar -->
|
||||||
<script src="/pos/static/js/i18n.js?v=39" defer></script>
|
<script src="/pos/static/js/i18n.js?v=39" defer></script>
|
||||||
<script src="/pos/static/js/app-init.js?v=6" defer></script>
|
<script src="/pos/static/js/app-init.js?v=7" defer></script>
|
||||||
<script src="/pos/static/js/splash-loader.js?v=33" defer></script>
|
<script src="/pos/static/js/splash-loader.js?v=33" defer></script>
|
||||||
<script src="/pos/static/js/whatsapp2.js?v=33" defer></script>
|
<script src="/pos/static/js/whatsapp2.js?v=33" defer></script>
|
||||||
<script src="/pos/static/js/pos-utils.js?v=33" defer></script>
|
<script src="/pos/static/js/pos-utils.js?v=33" defer></script>
|
||||||
<script src="/pos/static/js/sidebar.js?v=44" defer></script>
|
<script src="/pos/static/js/sidebar.js?v=45" defer></script>
|
||||||
|
|
||||||
<script src="/pos/static/js/chat.js" defer></script>
|
<script src="/pos/static/js/chat.js" defer></script>
|
||||||
</body>
|
</body>
|
||||||
|
|||||||
@@ -494,10 +494,10 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="/pos/static/js/i18n.js?v=39" defer></script>
|
<script src="/pos/static/js/i18n.js?v=39" defer></script>
|
||||||
<script src="/pos/static/js/app-init.js?v=6" defer></script>
|
<script src="/pos/static/js/app-init.js?v=7" defer></script>
|
||||||
<script src="/pos/static/js/splash-loader.js?v=33" defer></script>
|
<script src="/pos/static/js/splash-loader.js?v=33" defer></script>
|
||||||
<script src="/pos/static/js/pos-utils.js?v=33" defer></script>
|
<script src="/pos/static/js/pos-utils.js?v=33" defer></script>
|
||||||
<script src="/pos/static/js/sidebar.js?v=44" defer></script>
|
<script src="/pos/static/js/sidebar.js?v=45" defer></script>
|
||||||
<script src="/pos/static/js/offline-banner.js" defer></script>
|
<script src="/pos/static/js/offline-banner.js" defer></script>
|
||||||
<script src="/pos/static/js/workshop.js?v=56" defer></script>
|
<script src="/pos/static/js/workshop.js?v=56" defer></script>
|
||||||
<script>if('serviceWorker' in navigator){navigator.serviceWorker.register('/pos/sw.js',{scope:'/pos/'});}</script>
|
<script>if('serviceWorker' in navigator){navigator.serviceWorker.register('/pos/sw.js',{scope:'/pos/'});}</script>
|
||||||
|
|||||||
Reference in New Issue
Block a user