feat: implement Freigabesystem for payment approval workflow
Adds a dedicated approval view for PM_Freigabe users to release documents for payment by setting Paperless custom field 15 to a predefined value. - Backend: VIEW_FREIGABE permission mapped to PM_Freigabe OIDC group - Backend: FreigabeErforderlich flag on DocumentType entity (auto-migrated) - Backend: FreigabeModule with endpoints to list documents, fetch field options dynamically from Paperless, and set the approval custom field - Frontend: /freigabe route with filter (default: nicht freigegeben), paginated table, and modal to select approval value - Frontend: Settings checkbox to mark document types as requiring approval - Frontend: Freigabe menu item visible only to PM_Freigabe/PM_Admin users Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -579,6 +579,12 @@ function DocTypesTab() {
|
||||
{ title: 'Titel-Template', dataIndex: 'TitelTemplate', key: 'template', ellipsis: true },
|
||||
{ title: 'Tag (nicht bereit)', dataIndex: 'TagNotReady', key: 'tagNR', render: getTagName },
|
||||
{ title: 'Tag (bereit)', dataIndex: 'TagReady', key: 'tagR', render: getTagName },
|
||||
{
|
||||
title: 'Freigabe erf.',
|
||||
dataIndex: 'FreigabeErforderlich',
|
||||
key: 'freigabe',
|
||||
render: (v: boolean | null) => v ? <Tag color="blue">Ja</Tag> : '—',
|
||||
},
|
||||
{
|
||||
title: '',
|
||||
key: 'actions',
|
||||
@@ -624,6 +630,9 @@ function DocTypesTab() {
|
||||
{tags.map(t => <Select.Option key={t.id} value={t.id}>{t.name}</Select.Option>)}
|
||||
</Select>
|
||||
</Form.Item>
|
||||
<Form.Item name="FreigabeErforderlich" valuePropName="checked" label="Freigabe erforderlich">
|
||||
<Checkbox />
|
||||
</Form.Item>
|
||||
</Form>
|
||||
|
||||
{editing && (
|
||||
|
||||
Reference in New Issue
Block a user