feat: Enhance invoice file backup procedure to include JSON snapshots
Playwright Tests / test (push) Canceled after 0s
Playwright Tests / test (push) Canceled after 0s
- Updated the stored procedure `fds__admin_backupAndClearInvoiceFile.sql` to back up not only the invoice file but also JSON snapshots of related data (invoices, items, details, service requests) to ensure consistency and traceability. - Modified the table structure of `fds__invoice_file_backups` to accommodate new JSON columns for storing these snapshots. - Added an ADR (0030) document to outline the decision and rationale behind these changes, emphasizing the importance of maintaining a consistent set of data alongside the backed-up file.
This commit is contained in:
@@ -22,6 +22,14 @@ rest of the Administration menu (`fds_sys > 4`), and reachable both from the
|
||||
menu (Administration → Spezialfunktionen) and by opening the URL
|
||||
`/specialties` directly.
|
||||
|
||||
The menu entry is deliberately hidden: it only appears when the Administration
|
||||
dropdown is opened with **Shift** held (Shift+click, or Shift+Enter/Space on
|
||||
the focused toggle); a plain open hides it again
|
||||
(`$fis.bindShiftOnlyMenuItems` in `fis_main_menu.js`, driven by the item's
|
||||
`lclass: 'shift-only'`). This keeps the maintenance actions out of casual
|
||||
reach without adding another authorization level — the item is still part of
|
||||
the menu array, so the `/specialties` deep link is unaffected.
|
||||
|
||||
## How it works
|
||||
|
||||
- **Module load** follows the standard contract (see
|
||||
|
||||
@@ -32,7 +32,10 @@ Access is restricted to users whose `fds_sys` module authorization is greater th
|
||||
does it push a single "Administration" dropdown entry into `$ocms.ocmsmenu` — containing this
|
||||
module's "Systemüberwachung" (`init:admin`) item alongside `usr`'s "Benutzerverwaltung"
|
||||
(`init:usr`) item — and re-render `#mainmenu`. Users below the threshold never see the
|
||||
dropdown and never fetch either module's script.
|
||||
dropdown and never fetch either module's script. Within the dropdown, "Systemüberwachung"
|
||||
(like "Spezialfunktionen") is a `shift-only` item: it is listed only when the dropdown is
|
||||
opened with **Shift** held (`$fis.bindShiftOnlyMenuItems`); the `/admin` deep link is
|
||||
unaffected. This is a convenience/accident guard, not an authorization level.
|
||||
2. **Server-side gate** — every `/do/admin/*` endpoint resolves
|
||||
`fis_getModuleAuth('fds_sys', authuser)` and returns 401 unless it is > 4. The only
|
||||
exception is `admin/auth`, which returns `{ manage: 0 }` for unauthorized users so the
|
||||
|
||||
Reference in New Issue
Block a user