feat: cashier/counter reports, service-order & remission flows, Rached migration utils
- Add "Mis cortes de caja" report for cashiers/counters with sales detail. - Cash register history scoped to own cuts for non-admin roles; new /register/<id>/sales endpoint. - Remove dashboard from cashier menu; add Reports to cashier/counter. - Service orders: assign mechanic, budget field, invoice flag, counter/cashier can add items/remissions, convert to remission. - Remission notes module (UI, CSS, courier, counter remissions). - Customer hard-delete and vehicle/customer linkage in workshop. - POS: always show search results, compact payment grid, credit validation, tier pricing (5%/10%), ticket with customer/folio. - Inventory: CSV template with sku_secondary, alias import. - Rached migration scripts and DB migrations. - Version-bump cached JS/CSS query strings. Excludes local Rached session tokens/captures (rached_*.json / rached_*.txt).
This commit is contained in:
18
pos/migrations/v4.20_cashier_sell_permissions.sql
Normal file
18
pos/migrations/v4.20_cashier_sell_permissions.sql
Normal file
@@ -0,0 +1,18 @@
|
||||
-- v4.20 — Ensure existing cashier employees can sell and view quotations.
|
||||
-- The cashier default set already includes these permissions, but employees
|
||||
-- created before the fix may be missing them.
|
||||
INSERT INTO employee_permissions (employee_id, permission)
|
||||
SELECT e.id, p.perm
|
||||
FROM employees e
|
||||
CROSS JOIN (VALUES
|
||||
('pos.sell'),
|
||||
('pos.discount'),
|
||||
('pos.cancel'),
|
||||
('pos.view')
|
||||
) AS p(perm)
|
||||
WHERE e.role = 'cashier'
|
||||
AND e.is_active = true
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM employee_permissions ep
|
||||
WHERE ep.employee_id = e.id AND ep.permission = p.perm
|
||||
);
|
||||
Reference in New Issue
Block a user