diff --git a/pos/services/service_order_engine.py b/pos/services/service_order_engine.py index 0a36e34..c5841c3 100644 --- a/pos/services/service_order_engine.py +++ b/pos/services/service_order_engine.py @@ -12,8 +12,7 @@ VALID_TRANSITIONS = { 'received': ['diagnosis', 'cancelled'], 'diagnosis': ['waiting_parts', 'repair', 'cancelled'], 'waiting_parts': ['repair', 'cancelled'], - 'repair': ['quality_check', 'cancelled'], - 'quality_check': ['ready', 'cancelled'], + 'repair': ['ready', 'cancelled'], 'ready': ['delivered', 'cancelled'], 'delivered': [], 'cancelled': [], @@ -455,9 +454,10 @@ def remove_labor(conn, labor_id): def update_service_order(conn, so_id, data): """Update general service order fields.""" cur = conn.cursor() - allowed = ['priority', 'reception_notes', 'diagnosis_notes', 'repair_notes', + allowed = ['customer_id', 'vehicle_id', 'branch_id', 'priority', + 'reception_notes', 'diagnosis_notes', 'repair_notes', 'delivery_notes', 'estimated_cost', 'estimated_completion', - 'employee_id', 'mileage_out', 'fuel_level', 'final_cost', + 'employee_id', 'mileage_in', 'mileage_out', 'fuel_level', 'final_cost', 'delivery_method', 'courier_id', 'is_direct'] sets = [] vals = [] diff --git a/pos/static/js/workshop.js b/pos/static/js/workshop.js index 15eeb1c..9ce9e10 100644 --- a/pos/static/js/workshop.js +++ b/pos/static/js/workshop.js @@ -18,6 +18,10 @@ var Workshop = (function() { var currentOrder = null; var selectedInventoryItem = null; var itemSearchTimer = null; + var customerSearchTimer = null; + var selectedEditCustomer = null; + var vehicleSearchTimer = null; + var selectedEditVehicle = null; var currentView = 'list'; var currentPage = 1; var perPage = 25; @@ -35,7 +39,6 @@ var Workshop = (function() { {key: 'diagnosis', label: 'Diagnóstico'}, {key: 'waiting_parts', label: 'Espera refacciones'}, {key: 'repair', label: 'En reparación'}, - {key: 'quality_check', label: 'Control calidad'}, {key: 'ready', label: 'Listo'}, {key: 'delivered', label: 'Entregado'}, ]; @@ -45,7 +48,6 @@ var Workshop = (function() { diagnosis: 'Diagnóstico', waiting_parts: 'Espera refacciones', repair: 'En reparación', - quality_check: 'Control calidad', ready: 'Listo', delivered: 'Entregado', cancelled: 'Cancelado' @@ -55,8 +57,7 @@ var Workshop = (function() { received: ['diagnosis', 'cancelled'], diagnosis: ['waiting_parts', 'repair', 'cancelled'], waiting_parts: ['repair', 'cancelled'], - repair: ['quality_check', 'cancelled'], - quality_check: ['ready', 'cancelled'], + repair: ['ready', 'cancelled'], ready: ['delivered', 'cancelled'], delivered: [], cancelled: [] @@ -100,6 +101,11 @@ var Workshop = (function() { return el.innerHTML; } + function escJs(s) { + if (s == null) return ''; + return String(s).replace(/\\/g, '\\\\').replace(/'/g, "\\'").replace(/"/g, '\\"'); + } + function api(method, url, body) { var opts = {method: method, headers: headers()}; if (body) opts.body = JSON.stringify(body); @@ -414,6 +420,7 @@ var Workshop = (function() { '' : ''; footer.innerHTML = statusHtml + '' + + (canEdit ? '' : '') + (canDelete ? '' : '') + '