mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-08-29 10:40:58 +00:00
Merge branch 'dev' into freight/nati-2
Conflict in ClearanceDocumentsPage: this branch migrated the page to the pill FilterBar, dev added filters to the Select stack it replaced. Kept the FilterBar and carried dev's additions across as a "Booked by" (customerKind) FilterDef plus the shipping-line search placeholder; dev's startOfDayIso/endOfDayIso went away because dateRangeParams already does that. The Ship icon import is needed by dev's shipping-line customer cell, which merged cleanly on its own.
This commit is contained in:
@@ -569,6 +569,14 @@ export const FINANCE_PERMISSIONS: FreightPermissionSeed[] = [
|
||||
"edr_freight_app:invoices:eims_receipt_register",
|
||||
"Register a sales or withholding receipt with MoR EIMS",
|
||||
),
|
||||
// Issuing a credit/debit memo is itself filing-equivalent — auto-submit picks it up like any
|
||||
// other issued invoice — so it carries the same restricted grant as the eims_* actions above,
|
||||
// not invoices:export.
|
||||
perm(
|
||||
"d2b00001-0001-4000-8000-00000000000a",
|
||||
"edr_freight_app:invoices:memo_issue",
|
||||
"Issue a credit or debit memo against a registered invoice",
|
||||
),
|
||||
// USD bookings are paid by bank transfer; Finance uploads the slip and settles
|
||||
// the invoice. Moves money state, so it is its own grant, not part of view.
|
||||
perm(
|
||||
@@ -1874,6 +1882,7 @@ export const FREIGHT_PERMS = {
|
||||
eimsResolve: "edr_freight_app:invoices:eims_resolve",
|
||||
eimsCancel: "edr_freight_app:invoices:eims_cancel",
|
||||
eimsReceiptRegister: "edr_freight_app:invoices:eims_receipt_register",
|
||||
memoIssue: "edr_freight_app:invoices:memo_issue",
|
||||
confirmOffline: "edr_freight_app:invoices:confirm_offline",
|
||||
},
|
||||
firstMile: {
|
||||
@@ -2405,10 +2414,14 @@ export const ROLE_PERMISSION_PRESETS = {
|
||||
FREIGHT_PERMS.bookings.view,
|
||||
FREIGHT_PERMS.invoices.view,
|
||||
FREIGHT_PERMS.invoices.export,
|
||||
// Manual settlement (bank transfer / counter) of USD and ETB invoices.
|
||||
FREIGHT_PERMS.invoices.confirmOffline,
|
||||
// Deliberately NOT granted here: invoices:eims_register, eims_resolve, eims_cancel,
|
||||
// eims_receipt_register. Invoices are filed with MoR by the workflow, not by a person, so
|
||||
// filing is not a Finance job function — the endpoints exist for controlled testing and
|
||||
// exceptional operations, and are assigned to named admins rather than a role preset.
|
||||
// eims_receipt_register, eims:memo_issue. Automatic filing needs no human permission at all
|
||||
// (the cron sweep runs as the system); these are the *manual* exceptional-operations
|
||||
// endpoints, and stay off the general Finance role. They are granted to the `chief` position
|
||||
// instead — see below — the same maker–checker split already used for shipping-line credit
|
||||
// mark-paid/cancel (Finance raises, chief decides).
|
||||
FREIGHT_PERMS.payments.view,
|
||||
FREIGHT_PERMS.bookings.wagonCancellationView,
|
||||
// Shipping-line credit ledger is a Finance surface: bill batches into
|
||||
@@ -2525,6 +2538,14 @@ export const POSITION_PERMISSION_PRESETS = {
|
||||
FREIGHT_PERMS.bookings.governmentExpedite,
|
||||
FREIGHT_PERMS.invoices.view,
|
||||
FREIGHT_PERMS.invoices.export,
|
||||
// Manual MoR EIMS actions and credit/debit memo issuance: kept off the general Finance role
|
||||
// (see that preset's comment) and granted here instead — the chief is already the decision
|
||||
// side of every other sensitive finance action (mark-paid/cancel approval below), and these
|
||||
// are irreversible-at-MoR or receivable-creating in the same way.
|
||||
FREIGHT_PERMS.invoices.eimsCancel,
|
||||
FREIGHT_PERMS.invoices.eimsResolve,
|
||||
FREIGHT_PERMS.invoices.eimsReceiptRegister,
|
||||
FREIGHT_PERMS.invoices.memoIssue,
|
||||
FREIGHT_PERMS.payments.view,
|
||||
// Decision side of the credit-invoice two-step: finance raises
|
||||
// mark-paid/cancel requests, the chief approves or rejects them.
|
||||
|
||||
Reference in New Issue
Block a user