From 2444821c9e8f822acd828ddf0b649100ad425d22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20P=C3=B6ttker?= Date: Tue, 26 May 2026 22:17:01 +0200 Subject: [PATCH] refactor: rename tagPosteingang to tagManuell for missing AM entries MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Renamed setting agrarmonitor_tag_posteingang → agrarmonitor_tag_manuell - Documents not found in AM are now tagged as "Manuell bearbeiten" instead of being moved back to Posteingang Co-Authored-By: Claude Sonnet 4.6 --- .../agrarmonitor-polling.service.ts | 32 +++++++++---------- .../agrarmonitor/agrarmonitor.controller.ts | 4 +-- paperless-frontend/src/api/settings.ts | 2 +- paperless-frontend/src/pages/SettingsPage.tsx | 4 +-- 4 files changed, 21 insertions(+), 21 deletions(-) diff --git a/paperless-backend/src/agrarmonitor/agrarmonitor-polling.service.ts b/paperless-backend/src/agrarmonitor/agrarmonitor-polling.service.ts index 2735bff..7ac73f5 100644 --- a/paperless-backend/src/agrarmonitor/agrarmonitor-polling.service.ts +++ b/paperless-backend/src/agrarmonitor/agrarmonitor-polling.service.ts @@ -53,7 +53,7 @@ export class AgrarmonitorPollingService implements OnModuleInit { await this.upsertSetting('agrarmonitor_tag_verbucht', '9'); await this.upsertSetting('agrarmonitor_tag_hochgeladen', ''); await this.upsertSetting('agrarmonitor_link_field', ''); - await this.upsertSetting('agrarmonitor_tag_posteingang', ''); + await this.upsertSetting('agrarmonitor_tag_manuell', ''); } @Cron(process.env['AGRARMONITOR_POLLING_CRON'] || '0 */30 * * * *') @@ -68,20 +68,20 @@ export class AgrarmonitorPollingService implements OnModuleInit { this.processVerarbeiteteDocuments().catch((err) => this.logger.error('Cron-Upload-Check-Fehler:', err)); } - async getPollingConfig(): Promise<{ tagFertig: string; tagVerbucht: string; tagHochgeladen: string; linkField: string; tagPosteingang: string }> { - const [fertig, verbucht, hochgeladen, linkField, posteingang] = await Promise.all([ + async getPollingConfig(): Promise<{ tagFertig: string; tagVerbucht: string; tagHochgeladen: string; linkField: string; tagManuell: string }> { + const [fertig, verbucht, hochgeladen, linkField, manuell] = await Promise.all([ this.settingRepo.findOneBy({ Tag: 'agrarmonitor_tag_fertig' }), this.settingRepo.findOneBy({ Tag: 'agrarmonitor_tag_verbucht' }), this.settingRepo.findOneBy({ Tag: 'agrarmonitor_tag_hochgeladen' }), this.settingRepo.findOneBy({ Tag: 'agrarmonitor_link_field' }), - this.settingRepo.findOneBy({ Tag: 'agrarmonitor_tag_posteingang' }), + this.settingRepo.findOneBy({ Tag: 'agrarmonitor_tag_manuell' }), ]); return { tagFertig: fertig?.Wert ?? '4', tagVerbucht: verbucht?.Wert ?? '9', tagHochgeladen: hochgeladen?.Wert ?? '', linkField: linkField?.Wert ?? '', - tagPosteingang: posteingang?.Wert ?? '', + tagManuell: manuell?.Wert ?? '', }; } @@ -90,16 +90,16 @@ export class AgrarmonitorPollingService implements OnModuleInit { tagVerbucht: string, tagHochgeladen: string, linkField: string, - tagPosteingang: string, - ): Promise<{ tagFertig: string; tagVerbucht: string; tagHochgeladen: string; linkField: string; tagPosteingang: string }> { + tagManuell: string, + ): Promise<{ tagFertig: string; tagVerbucht: string; tagHochgeladen: string; linkField: string; tagManuell: string }> { await Promise.all([ this.settingRepo.update({ Tag: 'agrarmonitor_tag_fertig' }, { Wert: tagFertig }), this.settingRepo.update({ Tag: 'agrarmonitor_tag_verbucht' }, { Wert: tagVerbucht }), this.settingRepo.update({ Tag: 'agrarmonitor_tag_hochgeladen' }, { Wert: tagHochgeladen }), this.settingRepo.update({ Tag: 'agrarmonitor_link_field' }, { Wert: linkField }), - this.settingRepo.update({ Tag: 'agrarmonitor_tag_posteingang' }, { Wert: tagPosteingang }), + this.settingRepo.update({ Tag: 'agrarmonitor_tag_manuell' }, { Wert: tagManuell }), ]); - return { tagFertig, tagVerbucht, tagHochgeladen, linkField, tagPosteingang }; + return { tagFertig, tagVerbucht, tagHochgeladen, linkField, tagManuell }; } async runPolling(): Promise { @@ -295,17 +295,17 @@ export class AgrarmonitorPollingService implements OnModuleInit { this.logger.log('Starte Upload-Check'); try { - const [hochgeladenSetting, fertigSetting, linkFieldSetting, posteingangSetting] = await Promise.all([ + const [hochgeladenSetting, fertigSetting, linkFieldSetting, manuellSetting] = await Promise.all([ this.settingRepo.findOneBy({ Tag: 'agrarmonitor_tag_hochgeladen' }), this.settingRepo.findOneBy({ Tag: 'agrarmonitor_tag_fertig' }), this.settingRepo.findOneBy({ Tag: 'agrarmonitor_link_field' }), - this.settingRepo.findOneBy({ Tag: 'agrarmonitor_tag_posteingang' }), + this.settingRepo.findOneBy({ Tag: 'agrarmonitor_tag_manuell' }), ]); const tagHochgeladenId = parseInt(hochgeladenSetting?.Wert ?? '', 10); const tagFertigId = parseInt(fertigSetting?.Wert ?? '4', 10); const linkFieldId = parseInt(linkFieldSetting?.Wert ?? '', 10); - const tagPosteingangId = parseInt(posteingangSetting?.Wert ?? '', 10); + const tagManuellId = parseInt(manuellSetting?.Wert ?? '', 10); if (isNaN(tagHochgeladenId)) { this.logger.warn('Tag "hochgeladen" nicht konfiguriert — Upload-Check übersprungen'); @@ -396,12 +396,12 @@ export class AgrarmonitorPollingService implements OnModuleInit { continue; } - // Weder verbucht noch im Dateieingang → zurück in Posteingang - if (!isNaN(tagPosteingangId)) { + // Weder verbucht noch im Dateieingang → Tag "Manuell bearbeiten" setzen + if (!isNaN(tagManuellId)) { const currentTags: number[] = (doc.tags as number[]) ?? []; - const newTags = [...new Set(currentTags.filter(t => t !== tagHochgeladenId).concat([tagPosteingangId]))]; + const newTags = [...new Set(currentTags.filter(t => t !== tagHochgeladenId).concat([tagManuellId]))]; await this.paperlessService.updateDocument(doc.id as number, { tags: newTags }); - this.logger.log(`${interneBelegnummer} nicht mehr in Agrarmonitor — zurück in Posteingang`); + this.logger.log(`${interneBelegnummer} nicht mehr in Agrarmonitor — als manuell bearbeiten markiert`); result.updated++; } else { result.skipped++; diff --git a/paperless-backend/src/agrarmonitor/agrarmonitor.controller.ts b/paperless-backend/src/agrarmonitor/agrarmonitor.controller.ts index d8e5da3..b315a41 100644 --- a/paperless-backend/src/agrarmonitor/agrarmonitor.controller.ts +++ b/paperless-backend/src/agrarmonitor/agrarmonitor.controller.ts @@ -32,8 +32,8 @@ export class AgrarmonitorController { @Put('polling-config') @RequirePermissions(Permission.MANAGE_SETTINGS) - async updatePollingConfig(@Body() body: { tagFertig: string; tagVerbucht: string; tagHochgeladen: string; linkField: string; tagPosteingang: string }) { - return this.pollingService.updatePollingConfig(body.tagFertig, body.tagVerbucht, body.tagHochgeladen, body.linkField, body.tagPosteingang ?? ''); + async updatePollingConfig(@Body() body: { tagFertig: string; tagVerbucht: string; tagHochgeladen: string; linkField: string; tagManuell: string }) { + return this.pollingService.updatePollingConfig(body.tagFertig, body.tagVerbucht, body.tagHochgeladen, body.linkField, body.tagManuell ?? ''); } @Post('run-polling') diff --git a/paperless-frontend/src/api/settings.ts b/paperless-frontend/src/api/settings.ts index 735ba49..ec392e5 100644 --- a/paperless-frontend/src/api/settings.ts +++ b/paperless-frontend/src/api/settings.ts @@ -202,7 +202,7 @@ export interface AgrarmonitorPollingConfig { tagVerbucht: string; tagHochgeladen: string; linkField: string; - tagPosteingang: string; + tagManuell: string; } export interface AgrarmonitorPollingResult { diff --git a/paperless-frontend/src/pages/SettingsPage.tsx b/paperless-frontend/src/pages/SettingsPage.tsx index 6533cde..a2e27b4 100644 --- a/paperless-frontend/src/pages/SettingsPage.tsx +++ b/paperless-frontend/src/pages/SettingsPage.tsx @@ -2588,8 +2588,8 @@ function AgrarmonitorTab() { - - + +