fix(workshop): restrict workshop/mechanic views to only 'autorizada' status
This commit is contained in:
@@ -196,6 +196,14 @@ var Workshop = (function() {
|
||||
document.querySelectorAll('.restricted-hide').forEach(function(el) { el.style.display = 'none'; });
|
||||
var searchInput = document.getElementById('filterSearch');
|
||||
if (searchInput) searchInput.placeholder = 'Buscar orden';
|
||||
// Limit status filter to the only status taller accounts can see.
|
||||
var statusSel = document.getElementById('filterStatus');
|
||||
if (statusSel) {
|
||||
Array.from(statusSel.options).forEach(function(opt) {
|
||||
if (opt.value && opt.value !== 'autorizada') opt.remove();
|
||||
});
|
||||
statusSel.value = 'autorizada';
|
||||
}
|
||||
}
|
||||
if (hidePrices) {
|
||||
var btnCatalog = document.getElementById('btnCatalog');
|
||||
@@ -251,6 +259,22 @@ var Workshop = (function() {
|
||||
fetch(API + '/kanban/summary', {headers: headers()})
|
||||
.then(function(r) { return r.json(); })
|
||||
.then(function(d) {
|
||||
var cards = document.querySelectorAll('#statsRow .summary-card');
|
||||
if (isRestricted) {
|
||||
// Taller accounts only see authorized orders.
|
||||
cards.forEach(function(card, idx) {
|
||||
if (idx === 0) {
|
||||
card.style.display = '';
|
||||
var label = card.querySelector('.summary-card__label');
|
||||
if (label) label.textContent = 'Autorizadas';
|
||||
} else {
|
||||
card.style.display = 'none';
|
||||
}
|
||||
});
|
||||
document.getElementById('statReceived').textContent = fmt(d.autorizada || 0);
|
||||
return;
|
||||
}
|
||||
cards.forEach(function(card) { card.style.display = ''; });
|
||||
document.getElementById('statReceived').textContent = fmt(d.por_revisar || 0);
|
||||
document.getElementById('statRepair').textContent = fmt((d.en_reparacion || 0) + (d.en_revision || 0) + (d.revisada || 0) + (d.cotizada || 0) + (d.por_autorizar || 0));
|
||||
document.getElementById('statReady').textContent = fmt(d.por_entregar || 0);
|
||||
@@ -379,7 +403,13 @@ var Workshop = (function() {
|
||||
function renderKanban() {
|
||||
var board = document.getElementById('kanbanBoard');
|
||||
board.innerHTML = '';
|
||||
var hiddenCols = isMechanic ? ['cotizada','por_autorizar','autorizada','autorizacion_parcial','por_facturar','facturada'] : [];
|
||||
var hiddenCols = [];
|
||||
if (isRestricted) {
|
||||
// Taller accounts only see the "autorizada" column.
|
||||
hiddenCols = COLUMNS.filter(function(c) { return c.key !== 'autorizada'; }).map(function(c) { return c.key; });
|
||||
} else if (isMechanic) {
|
||||
hiddenCols = ['cotizada','por_autorizar','autorizada','autorizacion_parcial','por_facturar','facturada'];
|
||||
}
|
||||
COLUMNS.filter(function(col) { return hiddenCols.indexOf(col.key) === -1; }).forEach(function(col) {
|
||||
var colOrders = orders.filter(function(o) { return o.status === col.key; });
|
||||
var colEl = document.createElement('div');
|
||||
|
||||
Reference in New Issue
Block a user