diff --git a/README.md b/README.md index 6f62213e..acfdbe8e 100644 --- a/README.md +++ b/README.md @@ -198,10 +198,96 @@ Um EspoCRM anzupassen, bearbeite JSON-Dateien im custom/-Verzeichnis. Änderunge Nach Änderungen muss ein Rebuild ausgeführt werden, um Caches zu leeren und Metadata neu zu mergen. CLI-Befehl (im Docker-Container): docker exec espocrm php /var/www/html/command.php Rebuild Alternative: Web-Interface > Administration > Clear Cache & Rebuild. + +7. Panel-Labels und Übersetzungen + +Um Relationship-Panels und Links korrekt zu beschriften, müssen Labels in den i18n-Sprachdateien definiert werden. + + **Wichtig - Labels in allen Sprachen definieren**: + - Labels müssen in **allen installierten Sprachen** definiert werden (z. B. de_DE UND en_US) + - Fehlende Labels in einer Sprache können dazu führen, dass die Beschriftung nicht funktioniert + - Selbst wenn die Hauptsprache de_DE ist, sollten en_US Labels immer mit definiert werden + + **Labels müssen in zwei Sektionen stehen**: + - `fields`: Für die Anzeige als Feld + - `links`: Für die Anzeige in Relationship-Panels + - Beide Sektionen müssen identische Werte haben + + Pfade: + - `custom/Espo/Custom/Resources/i18n/de_DE/{EntityType}.json` (deutsch) + - `custom/Espo/Custom/Resources/i18n/en_US/{EntityType}.json` (englisch) + + Struktur (Beispiel CBeteiligte.json): + ```json + { + "fields": { + "address": "Adresse", + "vmhvermieterbeteiligte": "Vermieter", + "vmhmieterbeteiligte": "Mieter", + "vmhRumungsklagesKlaeger": "Kläger" + }, + "links": { + "calls": "Anrufe", + "tasks": "Aufgaben", + "vmhvermieterbeteiligte": "Vermieter", + "vmhmieterbeteiligte": "Mieter", + "vmhRumungsklagesKlaeger": "Kläger" + }, + "labels": { + "Create CBeteiligte": "Beteiligte erstellen" + } + } + ``` + + Best Practice: + - Bei jeder neuen Relationship immer beide Sprachen (de_DE und en_US) aktualisieren + - Link-Namen in fields UND links eintragen + - Nach Änderungen Rebuild durchführen + - Das Admin UI macht dies automatisch, manuelle Änderungen müssen beide Dateien berücksichtigen Effekt: Aktualisiert DB-Schema, Views und entfernt alte Caches. Ohne Rebuild sind Änderungen unsichtbar. Hinweis: Führe den Befehl auf dem Host aus, da der Container den PHP-Zugang hat. -## 7. Custom Scripts und Tools + **Tooltips für Felder definieren**: + - Tooltips sind Hilfe-Texte, die beim Hovern über das Info-Icon neben einem Feld erscheinen + - Tooltips werden in einem separaten `tooltips`-Objekt in den i18n-Dateien definiert + - Das Feld muss in der entityDef mit `"tooltip": true` markiert sein, damit das Icon angezeigt wird + + Aktivierung in entityDef (entityDefs/{EntityType}.json): + ```json + { + "fields": { + "lage": { + "type": "varchar", + "required": false, + "maxLength": 255, + "tooltip": true, + "isCustom": true + } + } + } + ``` + + Definition in i18n-Dateien (i18n/de_DE/{EntityType}.json): + ```json + { + "fields": { + "lage": "Lage" + }, + "links": {}, + "labels": {}, + "tooltips": { + "lage": "Lage innerhalb des Objekts (z.B. EG links, 1. OG rechts)" + } + } + ``` + + Best Practice: + - Tooltip-Texte sollten kurz und prägnant sein (1-2 Sätze) + - Tooltips in allen Sprachen definieren (de_DE, en_US, etc.) + - Nach Änderungen Rebuild durchführen + - Tooltips werden nur angezeigt, wenn `"tooltip": true` in der entityDef gesetzt ist + +## 8. Custom Scripts und Tools Um die Entwicklung und Wartung zu erleichtern, wurden benutzerdefinierte Scripts im `custom/scripts/`-Ordner abgelegt. Diese Scripts überleben EspoCRM-Updates, da sie außerhalb der Core-Dateien liegen. diff --git a/custom/Espo/Custom/Resources/i18n/de_DE/CAdressen.json b/custom/Espo/Custom/Resources/i18n/de_DE/CAdressen.json index 9a9570eb..71dfb5ff 100644 --- a/custom/Espo/Custom/Resources/i18n/de_DE/CAdressen.json +++ b/custom/Espo/Custom/Resources/i18n/de_DE/CAdressen.json @@ -1,8 +1,17 @@ { + "fields": { + "isActive": "Aktiv", + "beteiligte": "Beteiligte", + "adresse": "Adresse", + "autoapplymietverhaltnisportaluser": "Portalnutzer von Mietverhältnis übernehmen", + "advowareindexid": "Advoware Index ID", + "contactsAdressen": "Freigegebene Nutzer" + }, + "links": { + "beteiligte": "Beteiligte", + "contactsAdressen": "Freigegebene Nutzer" + }, "labels": { "Create CAdressen": "Adressen erstellen" - }, - "fields": { - "isActive": "Aktiv" } } \ No newline at end of file diff --git a/custom/Espo/Custom/Resources/i18n/de_DE/CBeteiligte.json b/custom/Espo/Custom/Resources/i18n/de_DE/CBeteiligte.json index 8f23fdaf..60a06bfc 100644 --- a/custom/Espo/Custom/Resources/i18n/de_DE/CBeteiligte.json +++ b/custom/Espo/Custom/Resources/i18n/de_DE/CBeteiligte.json @@ -1,6 +1,15 @@ { "fields": { - "address": "Adresse" + "address": "Adresse", + "vmhvermieterbeteiligte": "Vermieter", + "vmhmieterbeteiligte": "Mieter", + "vmhMietverhltnisesSonstigeBesitzer": "Sonstige Bewohner", + "vmhRumungsklagesKlaeger": "Kläger", + "vmhRumungsklagesBeklagte": "Beklagte", + "adressens": "Adressen", + "calls1": "Anrufe", + "contactsBeteiligte": "Freigegebene Nutzer", + "dokumentesBeteiligte": "Dokumente" }, "links": { "calls": "Anrufe", @@ -9,7 +18,11 @@ "vmhmieterbeteiligte": "Mieter", "vmhMietverhltnisesSonstigeBesitzer": "Sonstige Bewohner", "vmhRumungsklagesKlaeger": "Kläger", - "vmhRumungsklagesBeklagte": "Beklagte" + "vmhRumungsklagesBeklagte": "Beklagte", + "adressens": "Adressen", + "calls1": "Anrufe", + "contactsBeteiligte": "Freigegebene Nutzer", + "dokumentesBeteiligte": "Dokumente" }, "labels": { "Create CBeteiligte": "Beteiligte erstellen" diff --git a/custom/Espo/Custom/Resources/i18n/de_DE/CDokumente.json b/custom/Espo/Custom/Resources/i18n/de_DE/CDokumente.json index d65971a5..8fdb510a 100644 --- a/custom/Espo/Custom/Resources/i18n/de_DE/CDokumente.json +++ b/custom/Espo/Custom/Resources/i18n/de_DE/CDokumente.json @@ -1,4 +1,25 @@ { + "fields": { + "dokument": "Download", + "preview": "Vorschau", + "ydocumentuuid": "Y-Document-UUID", + "md5sum": "MD5-Prüfsumme", + "sha256": "SHA256-Prüfsumme", + "contactsvmhdokumente": "Freigegebene Nutzer", + "vmhMietverhltnisesDokumente": "Mietverhältnisse", + "vmhErstgespraechsdokumente": "Erstgespräche", + "vmhRumungsklagesdokumente": "Räumungsklagen", + "beteiligte2dokumente": "Beteiligte", + "mietobjekt2dokumente": "Mietobjekte" + }, + "links": { + "contactsvmhdokumente": "Freigegebene Nutzer", + "vmhMietverhltnisesDokumente": "Mietverhältnisse", + "vmhErstgespraechsdokumente": "Erstgespräche", + "vmhRumungsklagesdokumente": "Räumungsklagen", + "beteiligte2dokumente": "Beteiligte", + "mietobjekt2dokumente": "Mietobjekte" + }, "labels": { "Create CDokumente": "Dokument erstellen" } diff --git a/custom/Espo/Custom/Resources/i18n/de_DE/CMietobjekt.json b/custom/Espo/Custom/Resources/i18n/de_DE/CMietobjekt.json index b3565032..4c68d26d 100644 --- a/custom/Espo/Custom/Resources/i18n/de_DE/CMietobjekt.json +++ b/custom/Espo/Custom/Resources/i18n/de_DE/CMietobjekt.json @@ -1,5 +1,23 @@ { + "fields": { + "anschrift": "Anschrift", + "objekttyp": "Objekttyp", + "lage": "Lage", + "vmhMietverhltnises2Mietobjekt": "Mietverhältnisse", + "contact2mietobjekt": "Kontakte", + "contactsMietobjekt": "Freigegebene Nutzer", + "dokumentesMietobjekt": "Dokumente" + }, + "links": { + "vmhMietverhltnises2Mietobjekt": "Mietverhältnisse", + "contact2mietobjekt": "Kontakte", + "contactsMietobjekt": "Freigegebene Nutzer", + "dokumentesMietobjekt": "Dokumente" + }, "labels": { "Create CMietobjekt": "Mietobjekt erstellen" + }, + "tooltips": { + "lage": "Lage innerhalb des Objekts (z.B. EG links, 1. OG rechts)" } } \ No newline at end of file diff --git a/custom/Espo/Custom/Resources/i18n/de_DE/CVmhErstgespraech.json b/custom/Espo/Custom/Resources/i18n/de_DE/CVmhErstgespraech.json index f9a74eca..8ec66084 100644 --- a/custom/Espo/Custom/Resources/i18n/de_DE/CVmhErstgespraech.json +++ b/custom/Espo/Custom/Resources/i18n/de_DE/CVmhErstgespraech.json @@ -1,32 +1,10 @@ { - "links": { - "calls": "Anrufe", - "tasks": "Aufgaben" - }, - "labels": { - "Create CVmhErstgespraech": "Erstgespräch erstellen" - }, - "options": { - "status": { - "": "", - "Offen": "Offen", - "Wird angerufen": "Wird angerufen", - "Warte auf neuen Anruf": "Warte auf neuen Anruf", - "Dauerhaft nicht erreicht": "Dauerhaft nicht erreicht", - "Warte auf Mandatierung": "Warte auf Mandatierung", - "Mandat erteilt": "Mandat erteilt", - "Zurückgestellt": "Zurückgestellt", - "Kein Fall": "Kein Fall", - "Abgebrochen": "Abgebrochen", - "Nicht Mandatiert": "Nicht Mandatiert" - }, - "erfolgsaussichten": { - "gute Erfolgsaussichten": "gute Erfolgsaussichten", - "begrenzte Erfolgsaussichten": "begrenzte Erfolgsaussichten", - "Abhängig von Beweisaufnahme": "Abhängig von Beweisaufnahme" - } - }, "fields": { + "lastCall": "Letzter Anruf", + "callCount": "Anzahl Anrufe", + "status": "Status", + "eMailErstgesprch": "E-Mail Erstgespräch I.", + "kaltmiete": "Kaltmiete", "erfolgsaussichten": "Erfolgsaussichten", "aquiseplattform": "Akquisitionsplattform", "gclid": "Google Click ID", @@ -39,6 +17,14 @@ "keyword": "Keyword", "campaign_id": "Campaign ID", "landing_page": "Landing Page", - "referrer": "Referrer" + "referrer": "Referrer", + "contact": "Kontakt", + "dokumentesvmherstgespraech": "Dokumente" + }, + "links": { + "calls": "Anrufe", + "tasks": "Aufgaben", + "contact": "Kontakt", + "dokumentesvmherstgespraech": "Dokumente" } } \ No newline at end of file diff --git a/custom/Espo/Custom/Resources/i18n/de_DE/CVmhMietverhltnis.json b/custom/Espo/Custom/Resources/i18n/de_DE/CVmhMietverhltnis.json index b799e315..cc0805c4 100644 --- a/custom/Espo/Custom/Resources/i18n/de_DE/CVmhMietverhltnis.json +++ b/custom/Espo/Custom/Resources/i18n/de_DE/CVmhMietverhltnis.json @@ -1,7 +1,30 @@ { + "fields": { + "status": "Status", + "nutzungsart": "Nutzungsart", + "kndigungsgrundWohnraum": "Kündigungsgrund", + "auszugsfrist": "Auszugsfrist", + "besorgnisNichtRechtzeitigerAuszug": "Besorgnis nicht rechtzeitiger Auszug", + "beendigungsTatbestand": "Beendet durch", + "vertragsdatum": "Vertragsdatum", + "vmhRumungsklages": "Räumungsklagen", + "vmhbeteiligtevermieter": "Vermieter", + "vmhbeteiligtemieter": "Mieter", + "contactsMietverhltnis": "Freigegebene Nutzer", + "sonstigebesitzervmhmietverhltnis": "Sonstige Bewohner", + "dokumentesvmhMietverhltnisse": "Dokumente", + "vmhMietobjekt2Mietverhltnis": "Mietobjekte" + }, "links": { "calls": "Anrufe", - "tasks": "Aufgaben" + "tasks": "Aufgaben", + "vmhRumungsklages": "Räumungsklagen", + "vmhbeteiligtevermieter": "Vermieter", + "vmhbeteiligtemieter": "Mieter", + "contactsMietverhltnis": "Freigegebene Nutzer", + "sonstigebesitzervmhmietverhltnis": "Sonstige Bewohner", + "dokumentesvmhMietverhltnisse": "Dokumente", + "vmhMietobjekt2Mietverhltnis": "Mietobjekte" }, "labels": { "Create CVmhMietverhltnis": "Mietverhältnis erstellen" diff --git a/custom/Espo/Custom/Resources/i18n/de_DE/CVmhRumungsklage.json b/custom/Espo/Custom/Resources/i18n/de_DE/CVmhRumungsklage.json index d68bafcb..5d08f8a5 100644 --- a/custom/Espo/Custom/Resources/i18n/de_DE/CVmhRumungsklage.json +++ b/custom/Espo/Custom/Resources/i18n/de_DE/CVmhRumungsklage.json @@ -1,10 +1,20 @@ { "fields": { - "portalUser": "Portalnutzer" + "portalUser": "Portalnutzer", + "klaeger": "Kläger", + "beklagte": "Beklagte", + "vmhMietverhltnises": "Mietverhältnisse", + "contactsRumungsklage": "Freigegebene Nutzer", + "dokumentesvmhraumungsklage": "Dokumente" }, "links": { "calls": "Anrufe", - "tasks": "Aufgaben" + "tasks": "Aufgaben", + "klaeger": "Kläger", + "beklagte": "Beklagte", + "vmhMietverhltnises": "Mietverhältnisse", + "contactsRumungsklage": "Freigegebene Nutzer", + "dokumentesvmhraumungsklage": "Dokumente" }, "labels": { "Create CVmhRumungsklage": "Räumungsklage erstellen" diff --git a/custom/Espo/Custom/Resources/i18n/en_US/CAdressen.json b/custom/Espo/Custom/Resources/i18n/en_US/CAdressen.json index 87df96ef..bc49b868 100644 --- a/custom/Espo/Custom/Resources/i18n/en_US/CAdressen.json +++ b/custom/Espo/Custom/Resources/i18n/en_US/CAdressen.json @@ -1,19 +1,21 @@ { "fields": { - "beteiligte": "Beteiligte", - "adresse": "Adresse", - "adresseStreet": "Adresse Street", - "adresseCity": "Adresse City", - "adresseState": "Adresse State", - "adresseCountry": "Adresse Country", - "adressePostalCode": "Adresse Postal Code", - "adresseMap": "Adresse Map", + "beteiligte": "Party", + "adresse": "Address", + "adresseStreet": "Street", + "adresseCity": "City", + "adresseState": "State", + "adresseCountry": "Country", + "adressePostalCode": "Postal Code", + "adresseMap": "Map", "isActive": "Active", - "autoapplymietverhaltnisportaluser": "Portalnutzer von Mietverhältnis übernehmen", - "advowareindexid": "Advoware_index_id" + "autoapplymietverhaltnisportaluser": "Apply Portal User from Tenancy", + "advowareindexid": "Advoware Index ID", + "contactsAdressen": "Portal Users" }, "links": { - "beteiligte": "Beteiligte" + "beteiligte": "Party", + "contactsAdressen": "Portal Users" }, "labels": { "Create CAdressen": "Create Adressen" diff --git a/custom/Espo/Custom/Resources/i18n/en_US/CBeteiligte.json b/custom/Espo/Custom/Resources/i18n/en_US/CBeteiligte.json index 8c8aa53c..22796b7e 100644 --- a/custom/Espo/Custom/Resources/i18n/en_US/CBeteiligte.json +++ b/custom/Espo/Custom/Resources/i18n/en_US/CBeteiligte.json @@ -1,21 +1,29 @@ { "fields": { "address": "Address", - "vmhvermieterbeteiligte": "Mietverhältnisse", - "vmhmieterbeteiligte": "Mietverhältnisse", - "vmhMietverhltnisesSonstigeBesitzer": "Mietverhältnisse", - "adressens": "Adressens", - "calls1": "Anrufe" + "vmhvermieterbeteiligte": "Landlord", + "vmhmieterbeteiligte": "Tenant", + "vmhMietverhltnisesSonstigeBesitzer": "Other Residents", + "adressens": "Addresses", + "calls1": "Calls", + "vmhRumungsklagesBeklagte": "Defendant", + "vmhRumungsklagesKlaeger": "Plaintiff", + "contactsBeteiligte": "Portal Users", + "dokumentesBeteiligte": "Documents" }, "links": { "meetings": "Meetings", "calls": "Calls", "tasks": "Tasks", - "vmhvermieterbeteiligte": "Mietverhältnisse", - "vmhmieterbeteiligte": "Mietverhältnisse", - "vmhMietverhltnisesSonstigeBesitzer": "Mietverhältnisse", - "adressens": "Adressens", - "calls1": "Anrufe" + "vmhvermieterbeteiligte": "Landlord", + "vmhmieterbeteiligte": "Tenant", + "vmhMietverhltnisesSonstigeBesitzer": "Other Residents", + "adressens": "Addresses", + "calls1": "Calls", + "vmhRumungsklagesBeklagte": "Defendant", + "vmhRumungsklagesKlaeger": "Plaintiff", + "contactsBeteiligte": "Portal Users", + "dokumentesBeteiligte": "Documents" }, "labels": { "Create CBeteiligte": "Create Beteiligte" diff --git a/custom/Espo/Custom/Resources/i18n/en_US/CDokumente.json b/custom/Espo/Custom/Resources/i18n/en_US/CDokumente.json index 18ddbf16..b4a362e9 100644 --- a/custom/Espo/Custom/Resources/i18n/en_US/CDokumente.json +++ b/custom/Espo/Custom/Resources/i18n/en_US/CDokumente.json @@ -1,20 +1,24 @@ { "fields": { "dokument": "Download", - "ydocumentuuid": "Y-document-uuid", - "preview": "Vorschau", - "contactsvmhdokumente": "Freigegebene Nutzer", - "vmhMietverhltnisesDokumente": "Mietverhältnisse", - "vmhErstgespraechsdokumente": "Erstgespräche", - "vmhRumungsklagesdokumente": "Räumungsklagen", - "md5sum": "md5sum", - "sha256": "sha256" + "ydocumentuuid": "Y-Document-UUID", + "preview": "Preview", + "contactsvmhdokumente": "Portal Users", + "vmhMietverhltnisesDokumente": "Tenancies", + "vmhErstgespraechsdokumente": "Initial Consultations", + "vmhRumungsklagesdokumente": "Eviction Lawsuits", + "md5sum": "MD5 Checksum", + "sha256": "SHA256 Checksum", + "beteiligte2dokumente": "Parties", + "mietobjekt2dokumente": "Properties" }, "links": { - "contactsvmhdokumente": "Freigegebene Nutzer", - "vmhMietverhltnisesDokumente": "Mietverhältnisse", - "vmhErstgespraechsdokumente": "Erstgespräche", - "vmhRumungsklagesdokumente": "Räumungsklagen" + "contactsvmhdokumente": "Portal Users", + "vmhMietverhltnisesDokumente": "Tenancies", + "vmhErstgespraechsdokumente": "Initial Consultations", + "vmhRumungsklagesdokumente": "Eviction Lawsuits", + "beteiligte2dokumente": "Parties", + "mietobjekt2dokumente": "Properties" }, "labels": { "Create CDokumente": "Create Dokument" diff --git a/custom/Espo/Custom/Resources/i18n/en_US/CMietobjekt.json b/custom/Espo/Custom/Resources/i18n/en_US/CMietobjekt.json index b970ab3f..d59358da 100644 --- a/custom/Espo/Custom/Resources/i18n/en_US/CMietobjekt.json +++ b/custom/Espo/Custom/Resources/i18n/en_US/CMietobjekt.json @@ -1,19 +1,23 @@ { "fields": { - "anschrift": "Anschrift", - "anschriftStreet": "Anschrift Street", - "anschriftCity": "Anschrift City", - "anschriftState": "Anschrift State", - "anschriftCountry": "Anschrift Country", - "anschriftPostalCode": "Anschrift Postal Code", - "anschriftMap": "Anschrift Map", - "objekttyp": "Objekttyp", - "vmhMietverhltnises2Mietobjekt": "Mietverhältnisse", - "contact2mietobjekt": "Contacts" + "anschrift": "Address", + "anschriftStreet": "Street", + "anschriftCity": "City", + "anschriftState": "State", + "anschriftCountry": "Country", + "anschriftPostalCode": "Postal Code", + "anschriftMap": "Map", + "objekttyp": "Property Type", + "vmhMietverhltnises2Mietobjekt": "Tenancies", + "contact2mietobjekt": "Contacts", + "contactsMietobjekt": "Portal Users", + "dokumentesMietobjekt": "Documents" }, "links": { - "vmhMietverhltnises2Mietobjekt": "Mietverhältnisse", - "contact2mietobjekt": "Contacts" + "vmhMietverhltnises2Mietobjekt": "Tenancies", + "contact2mietobjekt": "Contacts", + "contactsMietobjekt": "Portal Users", + "dokumentesMietobjekt": "Documents" }, "labels": { "Create CMietobjekt": "Create Mietobjekt" diff --git a/custom/Espo/Custom/Resources/i18n/en_US/CVmhErstgespraech.json b/custom/Espo/Custom/Resources/i18n/en_US/CVmhErstgespraech.json index 2d3dcfff..07ad992a 100644 --- a/custom/Espo/Custom/Resources/i18n/en_US/CVmhErstgespraech.json +++ b/custom/Espo/Custom/Resources/i18n/en_US/CVmhErstgespraech.json @@ -1,43 +1,43 @@ { "fields": { "lastCall": "Last Call", - "callCount": "Call-Count", + "callCount": "Call Count", "status": "Status", - "eMailErstgesprch": "E-Mail Erstgespräch I.", - "kaltmiete": "Kaltmiete", - "kaltmieteCurrency": "Kaltmiete (Currency)", - "kaltmieteConverted": "Kaltmiete (Converted)", - "bKVorauszahlung": "BK-Vorauszahlung", - "bKVorauszahlungCurrency": "BK-Vorauszahlung (Currency)", - "bKVorauszahlungConverted": "BK-Vorauszahlung (Converted)", - "warmmiete": "Warmmiete", - "warmmieteCurrency": "Warmmiete (Currency)", - "warmmieteConverted": "Warmmiete (Converted)", - "erfolgsaussichten": "Erfolgsaussichten", - "bKPauschale": "BK-Pauschale", - "bKPauschaleCurrency": "BK-Pauschale (Currency)", - "bKPauschaleConverted": "BK-Pauschale (Converted)", - "streitwert": "Streitwert", - "streitwertCurrency": "Streitwert (Currency)", - "streitwertConverted": "Streitwert (Converted)", - "anruferIst": "Anrufer ist", - "statusMietverhltnis": "Status", - "nutzungsart": "Nutzungsart", - "kndigungsgrundMietverhltnis": "Kündigungsgrund", - "kndigungsfristMietverhltnis": "Beendigungszeitpunkt", - "besorgnisNichtRechtzeitigerAuszug": "Besorgnis nicht rechtzeitiger Auszug", - "kostenKndigungsservice": "Kosten Kündigungsservice", - "kostenKndigungsserviceCurrency": "Kosten Kündigungsservice (Currency)", - "kostenKndigungsserviceConverted": "Kosten Kündigungsservice (Converted)", - "gerichtskosten": "Gerichtskosten", - "gerichtskostenCurrency": "Gerichtskosten (Currency)", - "gerichtskostenConverted": "Gerichtskosten (Converted)", - "anwaltskosten": "Anwaltskosten", - "anwaltskostenCurrency": "Anwaltskosten (Currency)", - "anwaltskostenConverted": "Anwaltskosten (Converted)", - "eMailErstgesprch2": "E-Mail Erstgespräch II.", - "aquiseplattform": "Aquiseplattform", - "gclid": "gclid", + "eMailErstgesprch": "Initial Consultation Email I", + "kaltmiete": "Basic Rent", + "kaltmieteCurrency": "Basic Rent (Currency)", + "kaltmieteConverted": "Basic Rent (Converted)", + "bKVorauszahlung": "Utility Advance Payment", + "bKVorauszahlungCurrency": "Utility Advance Payment (Currency)", + "bKVorauszahlungConverted": "Utility Advance Payment (Converted)", + "warmmiete": "Warm Rent", + "warmmieteCurrency": "Warm Rent (Currency)", + "warmmieteConverted": "Warm Rent (Converted)", + "erfolgsaussichten": "Success Prospects", + "bKPauschale": "Utility Flat Rate", + "bKPauschaleCurrency": "Utility Flat Rate (Currency)", + "bKPauschaleConverted": "Utility Flat Rate (Converted)", + "streitwert": "Amount in Dispute", + "streitwertCurrency": "Amount in Dispute (Currency)", + "streitwertConverted": "Amount in Dispute (Converted)", + "anruferIst": "Caller Is", + "statusMietverhltnis": "Tenancy Status", + "nutzungsart": "Type of Use", + "kndigungsgrundMietverhltnis": "Reason for Termination", + "kndigungsfristMietverhltnis": "Termination Date", + "besorgnisNichtRechtzeitigerAuszug": "Concern About Late Move-out", + "kostenKndigungsservice": "Termination Service Costs", + "kostenKndigungsserviceCurrency": "Termination Service Costs (Currency)", + "kostenKndigungsserviceConverted": "Termination Service Costs (Converted)", + "gerichtskosten": "Court Costs", + "gerichtskostenCurrency": "Court Costs (Currency)", + "gerichtskostenConverted": "Court Costs (Converted)", + "anwaltskosten": "Attorney Fees", + "anwaltskostenCurrency": "Attorney Fees (Currency)", + "anwaltskostenConverted": "Attorney Fees (Converted)", + "eMailErstgesprch2": "Initial Consultation Email II", + "aquiseplattform": "Acquisition Platform", + "gclid": "Google Click ID", "utm_source": "UTM Source", "utm_medium": "UTM Medium", "utm_campaign": "UTM Campaign", @@ -48,27 +48,27 @@ "campaign_id": "Campaign ID", "landing_page": "Landing Page", "referrer": "Referrer", - "anzahlVermieter": "Anzahl Vermieter", - "anzahlMieter": "Anzahl Mieter", - "anzahlSonstigeVolljhrigeBewohner": "Anzahl sonst. Besitzer", - "erforderlicheUnterlagen": "Erforderliche Unterlagen", - "erstberaterEinschtzungDISGTyp": "Persönlichkeitstyp (nach DISG)", - "auergerichtlicheGesetzlicheGebhren": "Außerger. gesetzliche Geb.", - "auergerichtlicheGesetzlicheGebhrenCurrency": "Außerger. gesetzliche Geb. (Currency)", - "auergerichtlicheGesetzlicheGebhrenConverted": "Außerger. gesetzliche Geb. (Converted)", - "beendigungstatbestand": "Beendet durch", - "contact": "Kontakt", - "nchsterAnruf": "Nächster Anruf", - "dokumentesvmherstgespraech": "Dokumente", - "runWorkflow": "RunWorkflow", - "testArray": "Test array" + "anzahlVermieter": "Number of Landlords", + "anzahlMieter": "Number of Tenants", + "anzahlSonstigeVolljhrigeBewohner": "Number of Other Residents", + "erforderlicheUnterlagen": "Required Documents", + "erstberaterEinschtzungDISGTyp": "Personality Type (DISC)", + "auergerichtlicheGesetzlicheGebhren": "Out-of-Court Legal Fees", + "auergerichtlicheGesetzlicheGebhrenCurrency": "Out-of-Court Legal Fees (Currency)", + "auergerichtlicheGesetzlicheGebhrenConverted": "Out-of-Court Legal Fees (Converted)", + "beendigungstatbestand": "Terminated By", + "contact": "Contact", + "nchsterAnruf": "Next Call", + "dokumentesvmherstgespraech": "Documents", + "runWorkflow": "Run Workflow", + "testArray": "Test Array" }, "links": { "meetings": "Meetings", "calls": "Calls", "tasks": "Tasks", - "contact": "Kontakt", - "dokumentesvmherstgespraech": "Dokumente" + "contact": "Contact", + "dokumentesvmherstgespraech": "Documents" }, "labels": { "Create CVmhErstgespraech": "Create Erstgespräch" diff --git a/custom/Espo/Custom/Resources/i18n/en_US/CVmhMietverhltnis.json b/custom/Espo/Custom/Resources/i18n/en_US/CVmhMietverhltnis.json index 979a1816..38e72f80 100644 --- a/custom/Espo/Custom/Resources/i18n/en_US/CVmhMietverhltnis.json +++ b/custom/Espo/Custom/Resources/i18n/en_US/CVmhMietverhltnis.json @@ -1,40 +1,40 @@ { "fields": { "status": "Status", - "vmhRumungsklages": "Vmh Rumungsklages", - "nutzungsart": "Nutzungsart", - "kndigungsgrundWohnraum": "Kündigungsgrund", - "auszugsfrist": "Auszugsfrist", - "besorgnisNichtRechtzeitigerAuszug": "Besorgnis nicht rechtzeitiger Auszug", - "beendigungsTatbestand": "Beendet durch", - "vmhbeteiligtevermieter": "Vermieter", - "vmhbeteiligtemieter": "Mieter", - "contactsMietverhltnis": "Freigabe für", - "sonstigebesitzervmhmietverhltnis": "Sonstige Bewohner", - "anschrift": "Anschrift", - "anschriftStreet": "Anschrift Street", - "anschriftCity": "Anschrift City", - "anschriftState": "Anschrift State", - "anschriftCountry": "Anschrift Country", - "anschriftPostalCode": "Anschrift Postal Code", - "anschriftMap": "Anschrift Map", - "lage": "Lage", - "vertragsdatum": "Vertragsdatum", - "objekttyp": "Objekttyp", - "dokumentesvmhMietverhltnisse": "Dokumente", - "vmhMietobjekt2Mietverhltnis": "Mietobjekte" + "vmhRumungsklages": "Eviction Lawsuits", + "nutzungsart": "Type of Use", + "kndigungsgrundWohnraum": "Reason for Termination", + "auszugsfrist": "Move-out Deadline", + "besorgnisNichtRechtzeitigerAuszug": "Concern About Late Move-out", + "beendigungsTatbestand": "Terminated By", + "vmhbeteiligtevermieter": "Landlords", + "vmhbeteiligtemieter": "Tenants", + "contactsMietverhltnis": "Portal Users", + "sonstigebesitzervmhmietverhltnis": "Other Residents", + "anschrift": "Address", + "anschriftStreet": "Street", + "anschriftCity": "City", + "anschriftState": "State", + "anschriftCountry": "Country", + "anschriftPostalCode": "Postal Code", + "anschriftMap": "Map", + "lage": "Location", + "vertragsdatum": "Contract Date", + "objekttyp": "Property Type", + "dokumentesvmhMietverhltnisse": "Documents", + "vmhMietobjekt2Mietverhltnis": "Properties" }, "links": { "meetings": "Meetings", "calls": "Calls", "tasks": "Tasks", - "vmhRumungsklages": "Vmh Rumungsklages", - "vmhbeteiligtevermieter": "Vermieter", - "vmhbeteiligtemieter": "Mieter", - "contactsMietverhltnis": "Freigabe für", - "sonstigebesitzervmhmietverhltnis": "Sonstige Bewohner", - "dokumentesvmhMietverhltnisse": "Dokumente", - "vmhMietobjekt2Mietverhltnis": "Mietobjekte" + "vmhRumungsklages": "Eviction Lawsuits", + "vmhbeteiligtevermieter": "Landlords", + "vmhbeteiligtemieter": "Tenants", + "contactsMietverhltnis": "Portal Users", + "sonstigebesitzervmhmietverhltnis": "Other Residents", + "dokumentesvmhMietverhltnisse": "Documents", + "vmhMietobjekt2Mietverhltnis": "Properties" }, "labels": { "Create CVmhMietverhltnis": "Create Mietverhältnis" diff --git a/custom/Espo/Custom/Resources/i18n/en_US/CVmhRumungsklage.json b/custom/Espo/Custom/Resources/i18n/en_US/CVmhRumungsklage.json index 23db0142..e16c306a 100644 --- a/custom/Espo/Custom/Resources/i18n/en_US/CVmhRumungsklage.json +++ b/custom/Espo/Custom/Resources/i18n/en_US/CVmhRumungsklage.json @@ -1,18 +1,24 @@ { "fields": { - "vmhMietverhltnises": "Vmh Mietverhltnises", - "freigeschalteteNutzer": "Freigeschaltete Nutzer", - "vmhVermietersRKL": "Vermieter", - "dokumentesvmhraumungsklage": "Dokumente" + "vmhMietverhltnises": "Tenancies", + "freigeschalteteNutzer": "Activated Users", + "vmhVermietersRKL": "Landlord", + "dokumentesvmhraumungsklage": "Documents", + "beklagte": "Defendant", + "klaeger": "Plaintiff", + "contactsRumungsklage": "Portal Users" }, "links": { "meetings": "Meetings", "calls": "Calls", "tasks": "Tasks", - "vmhMietverhltnises": "Vmh Mietverhltnises", - "freigeschalteteNutzer": "Freigeschaltete Nutzer", - "vmhVermietersRKL": "Vermieter", - "dokumentesvmhraumungsklage": "Dokumente" + "vmhMietverhltnises": "Tenancies", + "freigeschalteteNutzer": "Activated Users", + "vmhVermietersRKL": "Landlord", + "dokumentesvmhraumungsklage": "Documents", + "beklagte": "Defendant", + "klaeger": "Plaintiff", + "contactsRumungsklage": "Portal Users" }, "labels": { "Create CVmhRumungsklage": "Create Räumungsklage" diff --git a/custom/Espo/Custom/Resources/layouts/CMietobjekt/detail.json b/custom/Espo/Custom/Resources/layouts/CMietobjekt/detail.json index 52b47840..bffbdb3d 100644 --- a/custom/Espo/Custom/Resources/layouts/CMietobjekt/detail.json +++ b/custom/Espo/Custom/Resources/layouts/CMietobjekt/detail.json @@ -9,6 +9,12 @@ "name": "objekttyp" } ], + [ + { + "name": "lage" + }, + false + ], [ { "name": "anschrift" diff --git a/custom/Espo/Custom/Resources/layouts/CVmhMietverhltnis/bottomPanelsDetail.json b/custom/Espo/Custom/Resources/layouts/CVmhMietverhltnis/bottomPanelsDetail.json index a329db92..a13c736f 100644 --- a/custom/Espo/Custom/Resources/layouts/CVmhMietverhltnis/bottomPanelsDetail.json +++ b/custom/Espo/Custom/Resources/layouts/CVmhMietverhltnis/bottomPanelsDetail.json @@ -8,9 +8,21 @@ "history": { "disabled": true }, - "_tabBreak_2": { + "_tabBreak_5": { "index": 0, "tabBreak": true, + "tabLabel": "Mietobjekt" + }, + "vmhMietobjekt2Mietverhltnis": { + "dynamicLogicVisible": null, + "style": "info", + "dynamicLogicStyled": null, + "sticked": false, + "index": 1 + }, + "_tabBreak_2": { + "index": 2, + "tabBreak": true, "tabLabel": "Freigegebene Nutzer" }, "contactsMietverhltnis": { @@ -18,38 +30,38 @@ "style": "warning", "dynamicLogicStyled": null, "sticked": true, - "index": 1 + "index": 3 }, "_tabBreak_0": { - "index": 2, + "index": 4, "tabBreak": true, "tabLabel": "Vermieter" }, "vmhbeteiligtevermieter": { - "index": 3 + "index": 5 }, "_tabBreak_1": { - "index": 4, + "index": 6, "tabBreak": true, "tabLabel": "Mieter" }, "vmhbeteiligtemieter": { - "index": 5 + "index": 7 }, "_tabBreak_3": { - "index": 6, + "index": 8, "tabBreak": true, "tabLabel": "Sonstige Bewohner" }, "sonstigebesitzervmhmietverhltnis": { - "index": 7 + "index": 9 }, "_tabBreak_4": { - "index": 8, + "index": 10, "tabBreak": true, "tabLabel": "Dokumente" }, "dokumentesvmhMietverhltnisse": { - "index": 9 + "index": 11 } } \ No newline at end of file diff --git a/custom/Espo/Custom/Resources/layouts/CVmhMietverhltnis/detail.json b/custom/Espo/Custom/Resources/layouts/CVmhMietverhltnis/detail.json index c5e37c90..49389cda 100644 --- a/custom/Espo/Custom/Resources/layouts/CVmhMietverhltnis/detail.json +++ b/custom/Espo/Custom/Resources/layouts/CVmhMietverhltnis/detail.json @@ -57,46 +57,5 @@ "noteText": null, "noteStyle": "info", "customLabel": "Beendigung" - }, - { - "rows": [ - [ - { - "name": "anschrift" - }, - { - "name": "anschriftMap" - } - ] - ], - "dynamicLogicVisible": null, - "style": "info", - "dynamicLogicStyled": null, - "tabBreak": false, - "hidden": false, - "noteText": null, - "noteStyle": "info", - "customLabel": "Anschrift" - }, - { - "rows": [ - [ - { - "name": "objekttyp" - }, - { - "name": "lage" - } - ] - ], - "dynamicLogicVisible": null, - "style": "primary", - "dynamicLogicStyled": null, - "tabBreak": false, - "tabLabel": null, - "hidden": false, - "noteText": null, - "noteStyle": "info", - "customLabel": "Lage" } ] \ No newline at end of file diff --git a/custom/Espo/Custom/Resources/metadata/clientDefs/CVmhRumungsklage.json b/custom/Espo/Custom/Resources/metadata/clientDefs/CVmhRumungsklage.json index 95b6bfd0..48c29a68 100644 --- a/custom/Espo/Custom/Resources/metadata/clientDefs/CVmhRumungsklage.json +++ b/custom/Espo/Custom/Resources/metadata/clientDefs/CVmhRumungsklage.json @@ -62,10 +62,6 @@ "beklagte": { "layout": null, "selectPrimaryFilterName": null - }, - "vmhMietverhltnises": { - "layout": null, - "selectPrimaryFilterName": null } }, "kanbanViewMode": false, diff --git a/custom/Espo/Custom/Resources/metadata/entityDefs/CMietobjekt.json b/custom/Espo/Custom/Resources/metadata/entityDefs/CMietobjekt.json index a055b3e7..a265521a 100644 --- a/custom/Espo/Custom/Resources/metadata/entityDefs/CMietobjekt.json +++ b/custom/Espo/Custom/Resources/metadata/entityDefs/CMietobjekt.json @@ -70,6 +70,25 @@ "audited": true, "maxLength": 100, "isCustom": true + }, + "lage": { + "type": "varchar", + "required": false, + "maxLength": 255, + "copyToClipboard": true, + "options": [ + "EG links", + "EG rechts", + "EG mitte", + "1. OG links", + "1. OG mitte", + "1. OG rechts", + "2. OG links", + "2. OG mitte", + "2. OG rechts" + ], + "tooltip": true, + "isCustom": true } }, "links": { diff --git a/custom/Espo/Custom/Resources/metadata/entityDefs/CVmhMietverhltnis.json b/custom/Espo/Custom/Resources/metadata/entityDefs/CVmhMietverhltnis.json index 18b57a5d..267e3047 100644 --- a/custom/Espo/Custom/Resources/metadata/entityDefs/CVmhMietverhltnis.json +++ b/custom/Espo/Custom/Resources/metadata/entityDefs/CVmhMietverhltnis.json @@ -132,62 +132,12 @@ "maxLength": 100, "isCustom": true }, - "anschrift": { - "type": "address", - "isCustom": true - }, - "lage": { - "type": "varchar", - "required": true, - "maxLength": 255, - "copyToClipboard": true, - "options": [ - "EG links", - "EG rechts", - "EG mitte", - "1. OG links", - "1. OG mitte", - "1. OG rechts", - "2. OG links", - "2. OG mitte", - "2. OG rechts" - ], - "tooltip": true, - "isCustom": true - }, "vertragsdatum": { "notNull": false, "type": "date", "required": true, "before": "auszugsfrist", "isCustom": true - }, - "objekttyp": { - "type": "enum", - "required": true, - "options": [ - "Gesamtes Grundstück", - "Gebäude ohne Grundstück", - "Wohnung", - "Zimmer in Wohnung", - "Büro", - "Garage", - "Gewerbehalle", - "Sonstiges" - ], - "style": { - "Gesamtes Grundstück": null, - "Gebäude ohne Grundstück": null, - "Wohnung": null, - "Zimmer in Wohnung": null, - "Büro": null, - "Garage": null, - "Gewerbehalle": null, - "Sonstiges": null - }, - "default": "Wohnung", - "maxLength": 100, - "isCustom": true } }, "links": { diff --git a/data/config.php b/data/config.php index 4e203824..d4435c9d 100644 --- a/data/config.php +++ b/data/config.php @@ -349,8 +349,8 @@ return [ 0 => 'youtube.com', 1 => 'google.com' ], - 'cacheTimestamp' => 1768912371, - 'microtime' => 1768912371.141233, + 'cacheTimestamp' => 1768918024, + 'microtime' => 1768918024.709673, 'siteUrl' => 'https://crm.bitbylaw.com', 'fullTextSearchMinLength' => 4, 'appTimestamp' => 1768843902,