diff --git a/paperless-backend/src/stats/stats.controller.ts b/paperless-backend/src/stats/stats.controller.ts
index f0d65fe..a8647ae 100644
--- a/paperless-backend/src/stats/stats.controller.ts
+++ b/paperless-backend/src/stats/stats.controller.ts
@@ -23,6 +23,7 @@ export class StatsController {
let posteingangCount = 0;
let manuellCount = 0;
let mailpostfachCount = 0;
+ let agrarmonitorCount = 0;
// 1. Eingangsbox (Dateien aus /mnt/scans)
if (req.user) {
@@ -66,11 +67,24 @@ export class StatsController {
this.logger.error('Fehler beim Abrufen der E-Mail-Stats: ' + err.message);
}
+ // 5. Agrarmonitor (Paperless tag 3)
+ try {
+ const agrarmonitorResponse = await this.paperlessService.getDocuments({
+ page: 1,
+ page_size: 1,
+ tags__id__all: 3,
+ });
+ agrarmonitorCount = agrarmonitorResponse.count || 0;
+ } catch (err) {
+ this.logger.error('Fehler beim Abrufen der Agrarmonitor-Stats: ' + err.message);
+ }
+
return {
inbox: inboxCount,
posteingang: posteingangCount,
manuell: manuellCount,
mailpostfach: mailpostfachCount,
+ agrarmonitor: agrarmonitorCount,
};
}
}
diff --git a/paperless-frontend/src/api/stats.ts b/paperless-frontend/src/api/stats.ts
index 00062b4..a4f14d1 100644
--- a/paperless-frontend/src/api/stats.ts
+++ b/paperless-frontend/src/api/stats.ts
@@ -5,6 +5,7 @@ export interface StatsCounts {
posteingang: number;
manuell: number;
mailpostfach: number;
+ agrarmonitor: number;
}
export const statsApi = {
diff --git a/paperless-frontend/src/auth/permissions.ts b/paperless-frontend/src/auth/permissions.ts
index 8c02093..bb99ed4 100644
--- a/paperless-frontend/src/auth/permissions.ts
+++ b/paperless-frontend/src/auth/permissions.ts
@@ -27,7 +27,7 @@ export function mapGroupsToPermissions(groups: string[] | undefined | null): Per
return Array.from(permissions);
}
- if (groups.includes('PM_Belege')) {
+ if (groups.includes('PM_Buchhaltung')) {
permissions.add(Permission.PROCESS_MANUALLY);
}
if (groups.includes('PM_Maileingang')) {
diff --git a/paperless-frontend/src/pages/DashboardPage.tsx b/paperless-frontend/src/pages/DashboardPage.tsx
index b4c58fa..c0365dd 100644
--- a/paperless-frontend/src/pages/DashboardPage.tsx
+++ b/paperless-frontend/src/pages/DashboardPage.tsx
@@ -7,6 +7,7 @@ import {
MailOutlined,
EditOutlined,
ArrowRightOutlined,
+ GlobalOutlined,
} from '@ant-design/icons';
import type { ReactNode } from 'react';
import { useAuth } from '../auth/AuthContext';
@@ -26,6 +27,7 @@ interface DashboardTile {
accent: string;
accentSoft: string;
accentSoftDark: string;
+ externalUrl?: string;
}
const tiles: DashboardTile[] = [
@@ -73,6 +75,18 @@ const tiles: DashboardTile[] = [
accentSoft: '#f9f0ff',
accentSoftDark: 'rgba(114, 46, 209, 0.18)',
},
+ {
+ key: 'agrarmonitor',
+ path: '',
+ externalUrl: 'https://admin7.agrarmonitor.de/dateien/eingang#dateien',
+ title: 'In Agrarmonitor',
+ description: 'Dokumente im Agrarmonitor-Eingang anzeigen und verwalten.',
+ icon: