Refactor AdvowareAkte ↔ CDokumente relationship from junction table to direct n:1 relationship

- Removed CAdvowareAktenCDokumente junction table and associated service.
- Updated CDokumente entity to include foreign key cAdvowareAktenId and related fields.
- Changed relationship in CDokumente from hasMany to belongsTo.
- Updated CAdvowareAkten to reflect new direct relationship.
- Implemented CDokumente service with duplicateDocument method for document duplication.
- Refactored hooks to support new relationship and document propagation.
- Removed obsolete API routes related to the junction table.
- Added i18n translations for new fields and updated tooltips.
- Document flow and auto-linking logic enhanced for better integration with Advoware.
- Validation checks passed, and no data migration needed.
This commit is contained in:
2026-03-23 20:36:10 +01:00
parent 0b829e9dfe
commit 22665948e4
22 changed files with 689 additions and 773 deletions

View File

@@ -3,6 +3,12 @@
"dokument": "Download",
"preview": "Vorschau",
"blake3hash": "Blake3-Hash",
"cAdvowareAkten": "Advoware Akte",
"cAdvowareAktenId": "Advoware Akten-ID",
"cAdvowareAktenName": "Advoware Aktenname",
"hnr": "HNR (Advoware)",
"syncStatus": "Sync-Status",
"syncedHash": "Sync-Hash",
"contactsvmhdokumente": "Freigegebene Nutzer",
"vmhMietverhltnisesDokumente": "Mietverhältnisse",
"vmhErstgespraechsdokumente": "Erstgespräche",
@@ -12,16 +18,13 @@
"mietobjekt2dokumente": "Mietobjekte",
"mietinkassosdokumente": "Mietinkasso",
"kndigungensdokumente": "Kündigungen",
"advowareAktens": "Advoware Akten",
"aIKnowledges": "AI Knowledge",
"advowareAktenHnr": "Advoware HNR",
"advowareAktenSyncstatus": "Advoware Sync-Status",
"advowareAktenLastSync": "Advoware Letzter Sync",
"aiKnowledgeAiDocumentId": "AI Document ID",
"aiKnowledgeSyncstatus": "AI Sync-Status",
"aiKnowledgeLastSync": "AI Letzter Sync"
},
"links": {
"cAdvowareAkten": "Advoware Akte",
"contactsvmhdokumente": "Freigegebene Nutzer",
"vmhMietverhltnisesDokumente": "Mietverhältnisse",
"vmhErstgespraechsdokumente": "Erstgespräche",
@@ -31,13 +34,24 @@
"mietobjekt2dokumente": "Mietobjekte",
"mietinkassosdokumente": "Mietinkasso",
"kndigungensdokumente": "Kündigungen",
"advowareAktens": "Advoware Akten",
"aIKnowledges": "AI Knowledge"
},
"labels": {
"Create CDokumente": "Dokument erstellen"
},
"tooltips": {
"blake3hash": "Kryptografischer Blake3-Hash der Datei (schneller und sicherer als MD5/SHA256)"
"blake3hash": "Kryptografischer Blake3-Hash der Datei (schneller und sicherer als MD5/SHA256)",
"hnr": "Hierarchische Referenznummer in Advoware",
"syncStatus": "Status der Synchronisation mit Advoware: new=neu, unclean=geändert, synced=synchronisiert, failed=Fehler, unsupported=nicht unterstützt",
"syncedHash": "Hash-Wert bei letzter erfolgreicher Synchronisation"
},
"options": {
"syncStatus": {
"new": "Neu",
"unclean": "Geändert",
"synced": "Synchronisiert",
"failed": "Fehler",
"unsupported": "Nicht unterstützt"
}
}
}

View File

@@ -2,6 +2,12 @@
"fields": {
"dokument": "Download",
"preview": "Preview",
"cAdvowareAkten": "Advoware File",
"cAdvowareAktenId": "Advoware File ID",
"cAdvowareAktenName": "Advoware File Name",
"hnr": "HNR (Advoware)",
"syncStatus": "Sync Status",
"syncedHash": "Sync Hash",
"contactsvmhdokumente": "Portal Users",
"vmhMietverhltnisesDokumente": "Tenancies",
"vmhErstgespraechsdokumente": "Initial Consultations",
@@ -12,16 +18,13 @@
"mietobjekt2dokumente": "Properties",
"mietinkassosdokumente": "Rent Collection",
"kndigungensdokumente": "Terminations",
"advowareAktens": "Advoware Akten",
"aIKnowledges": "AI Knowledge",
"advowareAktenHnr": "Advoware HNR",
"advowareAktenSyncstatus": "Advoware Sync Status",
"advowareAktenLastSync": "Advoware Last Sync",
"aiKnowledgeAiDocumentId": "AI Document ID",
"aiKnowledgeSyncstatus": "AI Sync Status",
"aiKnowledgeLastSync": "AI Last Sync"
},
"links": {
"cAdvowareAkten": "Advoware File",
"contactsvmhdokumente": "Portal Users",
"vmhMietverhltnisesDokumente": "Tenancies",
"vmhErstgespraechsdokumente": "Initial Consultations",
@@ -31,7 +34,6 @@
"mietobjekt2dokumente": "Properties",
"mietinkassosdokumente": "Rent Collection",
"kndigungensdokumente": "Terminations",
"advowareAktens": "Advoware Akten",
"aIKnowledges": "AI Knowledge"
},
"labels": {
@@ -43,6 +45,18 @@
"listForAIKnowledge": "List for AI Knowledge"
},
"tooltips": {
"blake3hash": "Cryptographic Blake3 hash of the file (faster and more secure than MD5/SHA256)"
"blake3hash": "Cryptographic Blake3 hash of the file (faster and more secure than MD5/SHA256)",
"hnr": "Hierarchical reference number in Advoware",
"syncStatus": "Sync status with Advoware: new=new, unclean=changed, synced=synchronized, failed=error, unsupported=not supported",
"syncedHash": "Hash value at last successful synchronization"
},
"options": {
"syncStatus": {
"new": "New",
"unclean": "Changed",
"synced": "Synchronized",
"failed": "Failed",
"unsupported": "Unsupported"
}
}
}