feat: Add termination functionality for rental agreements

- Introduced new entity `CKuendigung` for managing terminations.
- Added fields for termination details including date, reason, type, and status.
- Implemented backend service to initiate terminations from rental agreements.
- Created frontend handler for termination actions with confirmation dialog.
- Updated metadata and layouts for `CKuendigung` to support new functionality.
- Added internationalization support for English and German languages.
- Enhanced existing entities to establish relationships with terminations.
This commit is contained in:
2026-01-24 12:45:57 +01:00
parent e490e261b7
commit 0d2d35bca1
28 changed files with 1115 additions and 36 deletions

View File

@@ -12,6 +12,8 @@
"vmhRumungsklagesBeklagte": "Beklagte",
"mietinkassosKlaeger": "Mietinkasso (Kläger)",
"mietinkassosBeklagte": "Mietinkasso (Beklagte)",
"kuendigungenVermieter": "Kündigungen (Vermieter)",
"kuendigungenMieter": "Kündigungen (Mieter)",
"adressens": "Adressen",
"calls1": "Anrufe",
"contactsBeteiligte": "Freigegebene Nutzer",
@@ -33,6 +35,8 @@
"vmhRumungsklagesBeklagte": "Beklagte",
"mietinkassosKlaeger": "Mietinkasso (Kläger)",
"mietinkassosBeklagte": "Mietinkasso (Beklagte)",
"kuendigungenVermieter": "Kündigungen (Vermieter)",
"kuendigungenMieter": "Kündigungen (Mieter)",
"adressens": "Adressen",
"calls1": "Anrufe",
"contactsBeteiligte": "Freigegebene Nutzer",

View File

@@ -12,6 +12,7 @@
"vmhMietverhltnisesDokumente": "Mietverhältnisse",
"vmhErstgespraechsdokumente": "Erstgespräche",
"vmhRumungsklagesdokumente": "Räumungsklagen",
"kuendigungDokumente": "Kündigungen",
"beteiligte2dokumente": "Beteiligte",
"mietobjekt2dokumente": "Mietobjekte"
},
@@ -20,6 +21,7 @@
"vmhMietverhltnisesDokumente": "Mietverhältnisse",
"vmhErstgespraechsdokumente": "Erstgespräche",
"vmhRumungsklagesdokumente": "Räumungsklagen",
"kuendigungDokumente": "Kündigungen",
"beteiligte2dokumente": "Beteiligte",
"mietobjekt2dokumente": "Mietobjekte",
"mietinkassosdokumente": "Mietinkasso"

View File

@@ -0,0 +1,94 @@
{
"fields": {
"kuendigungsdatum": "Kündigungsdatum",
"kuendigungsfrist": "Kündigungsfrist / Auszugsdatum",
"kuendigungsgrund": "Kündigungsgrund",
"kuendigungsart": "Kündigungsart",
"kuendigenderPartei": "Kündigende Partei",
"status": "Status",
"zustellungsdatum": "Zustellungsdatum",
"zustellungsart": "Zustellungsart",
"rueckstandsbetrag": "Rückstandsbetrag",
"monateMietrückstand": "Monate Mietrückstand",
"schonfristGewaehrt": "Schonfrist gewährt",
"schonfristDatum": "Schonfrist Datum",
"besorgnisNichtRechtzeitigerAuszug": "Besorgnis nicht rechtzeitiger Auszug",
"anmerkungen": "Anmerkungen",
"vmhMietverhltnis": "Mietverhältnis",
"mietobjekt": "Mietobjekt",
"vermieter": "Vermieter",
"mieter": "Mieter",
"dokumenteKuendigung": "Dokumente",
"contactsKuendigung": "Freigegebene Nutzer"
},
"links": {
"vmhMietverhltnis": "Mietverhältnis",
"mietobjekt": "Mietobjekt",
"vermieter": "Vermieter",
"mieter": "Mieter",
"dokumenteKuendigung": "Dokumente",
"contactsKuendigung": "Freigegebene Nutzer",
"meetings": "Besprechungen",
"calls": "Anrufe",
"tasks": "Aufgaben",
"emails": "E-Mails",
"collaborators": "Mitarbeiter"
},
"labels": {
"Create CKuendigung": "Kündigung erstellen"
},
"options": {
"kuendigungsgrund": {
"Mietrückstand": "Mietrückstand",
"Eigenbedarf": "Eigenbedarf",
"Fehlverhalten": "Fehlverhalten",
"Verwertung": "Verwertung",
"ZVG Eigenbedarf": "ZVG Eigenbedarf",
"573a Abs. 1 (nicht mehr als 2 Whng.)": "§573a Abs. 1 (nicht mehr als 2 Wohnungen)",
"573a Abs. 2 (Einliegerwohnung)": "§573a Abs. 2 (Einliegerwohnung)",
"GewerbeOrdentlich": "Gewerbe ordentlich",
"Sonstige": "Sonstige"
},
"kuendigungsart": {
"Ordentlich": "Ordentlich",
"Außerordentlich (fristlos)": "Außerordentlich (fristlos)",
"Außerordentlich (mit sozialer Frist)": "Außerordentlich (mit sozialer Frist)"
},
"kuendigenderPartei": {
"Vermieter": "Vermieter",
"Mieter": "Mieter"
},
"status": {
"Entwurf": "Entwurf",
"Versendet": "Versendet",
"Zugestellt": "Zugestellt",
"Anerkannt": "Anerkannt",
"Bestritten": "Bestritten",
"Vollzogen": "Vollzogen",
"Widerrufen": "Widerrufen"
},
"zustellungsart": {
"Persönlich": "Persönlich",
"Einschreiben": "Einschreiben",
"Gerichtlicher Zustellungsbevollmächtigter": "Gerichtlicher Zustellungsbevollmächtigter",
"E-Mail (sofern vereinbart)": "E-Mail (sofern vereinbart)",
"Sonstige": "Sonstige"
}
},
"tooltips": {
"kuendigungsdatum": "Datum, an dem die Kündigung ausgesprochen wurde",
"kuendigungsfrist": "Datum, bis zu dem das Mietverhältnis beendet sein soll (Auszugsdatum)",
"kuendigungsgrund": "Rechtlicher Grund für die Kündigung (kann mehrere sein)",
"kuendigungsart": "Art der Kündigung: ordentlich mit Frist, außerordentlich fristlos oder mit sozialer Frist",
"kuendigenderPartei": "Welche Partei kündigt das Mietverhältnis",
"status": "Aktueller Bearbeitungsstatus der Kündigung",
"zustellungsdatum": "Datum, an dem die Kündigung dem Empfänger zugestellt wurde",
"zustellungsart": "Art der Zustellung (z.B. persönlich, Einschreiben)",
"rueckstandsbetrag": "Gesamtbetrag des Mietrückstands (bei Kündigung wegen Mietrückstand)",
"monateMietrückstand": "Anzahl der Monate, für die Mietrückstand besteht",
"schonfristGewaehrt": "Wurde eine Schonfrist nach § 569 Abs. 3 Nr. 2 BGB gewährt?",
"schonfristDatum": "Bis zu welchem Datum läuft die Schonfrist?",
"besorgnisNichtRechtzeitigerAuszug": "Besteht die Besorgnis, dass der Mieter nicht rechtzeitig auszieht? (Relevant für § 940a ZPO)",
"anmerkungen": "Zusätzliche Hinweise und Anmerkungen zur Kündigung"
}
}

View File

@@ -6,7 +6,8 @@
"vmhMietverhltnises2Mietobjekt": "Mietverhältnisse (veraltet)",
"vmhMietverhltnises": "Mietverhältnisse",
"contactsMietobjekt": "Freigegebene Nutzer",
"dokumentesMietobjekt": "Dokumente"
"dokumentesMietobjekt": "Dokumente",
"kuendigungen": "Kündigungen"
},
"links": {
"vmhMietverhltnises2Mietobjekt": "Mietverhältnisse (veraltet)",
@@ -14,6 +15,7 @@
"contact2mietobjekt": "Kontakte",
"vmhRumungsklages": "Räumungsklagen",
"mietinkassos": "Mietinkasso",
"kuendigungen": "Kündigungen",
"contactsMietobjekt": "Freigegebene Nutzer",
"dokumentesMietobjekt": "Dokumente"
},

View File

@@ -13,6 +13,7 @@
"warmmiete": "Warmmiete",
"vmhRumungsklages": "Räumungsklagen",
"mietinkassos": "Mietinkasso",
"kuendigungen": "Kündigungen",
"vmhbeteiligtevermieter": "Vermieter",
"vmhbeteiligtemieter": "Mieter",
"contactsMietverhltnis": "Freigegebene Nutzer",
@@ -33,6 +34,7 @@
"tasks": "Aufgaben",
"vmhRumungsklages": "Räumungsklagen",
"mietinkassos": "Mietinkasso",
"kuendigungen": "Kündigungen",
"vmhbeteiligtevermieter": "Vermieter",
"vmhbeteiligtemieter": "Mieter",
"contactsMietverhltnis": "Freigegebene Nutzer",
@@ -44,7 +46,8 @@
"labels": {
"Create CVmhMietverhltnis": "Mietverhältnis erstellen",
"Initiate Eviction": "Räumungsklage einleiten",
"Initiate Rent Collection": "Mietinkasso einleiten"
"Initiate Rent Collection": "Mietinkasso einleiten",
"Initiate Termination": "Kündigung erstellen"
},
"messages": {
"confirmEviction": "Möchten Sie wirklich eine Räumungsklage aus diesem Mietverhältnis einleiten?",
@@ -52,6 +55,9 @@
"evictionError": "Fehler beim Erstellen der Räumungsklage",
"confirmRentCollection": "Möchten Sie wirklich ein Mietinkasso aus diesem Mietverhältnis einleiten?",
"rentCollectionCreated": "Mietinkasso wurde erfolgreich erstellt",
"rentCollectionError": "Fehler beim Erstellen des Mietinkassos"
"rentCollectionError": "Fehler beim Erstellen des Mietinkassos",
"confirmTermination": "Möchten Sie wirklich eine Kündigung für dieses Mietverhältnis erstellen?",
"terminationCreated": "Kündigung wurde erfolgreich erstellt",
"terminationError": "Fehler beim Erstellen der Kündigung"
}
}

View File

@@ -14,6 +14,8 @@
"cMietobjekteContactPortal": "Mietobjekte (Portal)",
"cAdressenContact": "Adressen",
"cVmhRumungsklageContact": "Räumungsklagen (Portal)",
"cMietinkassoContact": "Mietinkasso (Portal)",
"cKuendigungContact": "Kündigungen (Portal)",
"cBankverbindungenContact": "Bankverbindungen"
},
"links": {
@@ -29,6 +31,7 @@
"cAdressenContact": "Adressen",
"cVmhRumungsklageContact": "Räumungsklagen (Portal)",
"cMietinkassoContact": "Mietinkasso",
"cKuendigungContact": "Kündigungen (Portal)",
"cBankverbindungenContact": "Bankverbindungen"
},
"options": {