mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-08-30 04:08:11 +00:00
shipping line
This commit is contained in:
@@ -595,6 +595,28 @@ export const FINANCE_PERMISSIONS: FreightPermissionSeed[] = [
|
||||
"edr_freight_app:shipping_line_credits:cancel",
|
||||
"Cancel (write off) an unbilled shipping-line credit",
|
||||
),
|
||||
// Two-step manual actions on credit invoices: request grants per action,
|
||||
// decision grants that apply to any pending request.
|
||||
perm(
|
||||
"d2c00001-0001-4000-8000-000000000004",
|
||||
"edr_freight_app:shipping_line_credits:invoice_mark_paid",
|
||||
"Request marking a shipping-line credit invoice paid (offline payment)",
|
||||
),
|
||||
perm(
|
||||
"d2c00001-0001-4000-8000-000000000005",
|
||||
"edr_freight_app:shipping_line_credits:invoice_approve",
|
||||
"Approve any pending shipping-line credit invoice request",
|
||||
),
|
||||
perm(
|
||||
"d2c00001-0001-4000-8000-000000000006",
|
||||
"edr_freight_app:shipping_line_credits:invoice_cancel",
|
||||
"Request cancelling a shipping-line credit invoice",
|
||||
),
|
||||
perm(
|
||||
"d2c00001-0001-4000-8000-000000000007",
|
||||
"edr_freight_app:shipping_line_credits:invoice_reject",
|
||||
"Reject any pending shipping-line credit invoice request",
|
||||
),
|
||||
];
|
||||
|
||||
// E. First / last mile operations
|
||||
@@ -1829,6 +1851,18 @@ export const FREIGHT_PERMS = {
|
||||
invoice: "edr_freight_app:shipping_line_credits:invoice",
|
||||
/** Write off an unbilled credit — separate grant: it erases a debt. */
|
||||
cancel: "edr_freight_app:shipping_line_credits:cancel",
|
||||
// Two-step manual actions on credit invoices, gated purely by permission:
|
||||
// finance-level REQUEST grants (per action) and decision grants that apply
|
||||
// to ANY pending request — including the holder's own.
|
||||
/** Request recording an offline payment against a credit invoice. */
|
||||
invoiceMarkPaid:
|
||||
"edr_freight_app:shipping_line_credits:invoice_mark_paid",
|
||||
/** Request voiding a credit invoice (credits return to unbilled). */
|
||||
invoiceCancel: "edr_freight_app:shipping_line_credits:invoice_cancel",
|
||||
/** Approve any pending invoice request (mark-paid or cancel). */
|
||||
invoiceApprove: "edr_freight_app:shipping_line_credits:invoice_approve",
|
||||
/** Reject any pending invoice request. */
|
||||
invoiceReject: "edr_freight_app:shipping_line_credits:invoice_reject",
|
||||
},
|
||||
payments: {
|
||||
view: "edr_freight_app:payments:view",
|
||||
@@ -2377,6 +2411,13 @@ export const ROLE_PERMISSION_PRESETS = {
|
||||
// exceptional operations, and are assigned to named admins rather than a role preset.
|
||||
FREIGHT_PERMS.payments.view,
|
||||
FREIGHT_PERMS.bookings.wagonCancellationView,
|
||||
// Shipping-line credit ledger is a Finance surface: bill batches into
|
||||
// invoices and RAISE manual invoice actions. Approval of those actions is
|
||||
// deliberately absent — it sits with the chief (maker–checker).
|
||||
FREIGHT_PERMS.shippingLineCredits.view,
|
||||
FREIGHT_PERMS.shippingLineCredits.invoice,
|
||||
FREIGHT_PERMS.shippingLineCredits.invoiceMarkPaid,
|
||||
FREIGHT_PERMS.shippingLineCredits.invoiceCancel,
|
||||
],
|
||||
// Global Logistics: manages ONLY the customs-clearance queue. Scoped out of
|
||||
// the general booking-request list (no bookings:view) — instead a dedicated
|
||||
@@ -2479,6 +2520,11 @@ export const POSITION_PERMISSION_PRESETS = {
|
||||
FREIGHT_PERMS.invoices.view,
|
||||
FREIGHT_PERMS.invoices.export,
|
||||
FREIGHT_PERMS.payments.view,
|
||||
// Decision side of the credit-invoice two-step: finance raises
|
||||
// mark-paid/cancel requests, the chief approves or rejects them.
|
||||
FREIGHT_PERMS.shippingLineCredits.view,
|
||||
FREIGHT_PERMS.shippingLineCredits.invoiceApprove,
|
||||
FREIGHT_PERMS.shippingLineCredits.invoiceReject,
|
||||
]),
|
||||
// Director additionally manages train scheduling + rail fleet (same block the
|
||||
// operation officer/chief hold), on top of the approval-chain role preset,
|
||||
|
||||
Reference in New Issue
Block a user