Compare commits

...

3 Commits

Author SHA1 Message Date
9de14c7578 Remove address fields from CBeteiligte entity and layouts; add bank connection relation to CDokumente and Contact entities; update config timestamps 2026-01-20 15:28:11 +01:00
b5ba0da5c2 Enhance German and English localization for various entities
- Updated translations in CAdressen, CBeteiligte, CDokumente, CMietobjekt, CVmhErstgespraech, CVmhMietverhltnis, CVmhRumungsklage to improve clarity and consistency.
- Added new fields and links for better user experience in German and English.
- Modified layout configurations for CMietobjekt and CVmhMietverhltnis to include additional details and improve navigation.
- Removed deprecated fields from CVmhRumungsklage metadata.
- Updated configuration timestamps for cache management.
2026-01-20 15:13:57 +01:00
dfc8b952e9 Enhance EspoCRM entities and layouts with new relationships, fields, and troubleshooting sections; update README.md for clarity and add new layout files for CAdressen and CBeteiligte. 2026-01-20 13:33:36 +01:00
37 changed files with 950 additions and 315 deletions

209
README.md
View File

@@ -75,6 +75,11 @@ Alle Dateien sind im JSON-Format. Die KI muss gültiges JSON parsen und schreibe
Links: Beziehungen (belongsTo für 1:1, hasMany für 1:N, etc.). Links: Beziehungen (belongsTo für 1:1, hasMany für 1:N, etc.).
Collection: Für Listen-Views (Sortierung, Filter). Collection: Für Listen-Views (Sortierung, Filter).
Auslösen: Hinzufügen eines Felds triggert bei Rebuild eine Datenbankänderung (neue Spalte in der Tabelle). Beziehungen erstellen Middle-Tables bei Many-to-Many. Auslösen: Hinzufügen eines Felds triggert bei Rebuild eine Datenbankänderung (neue Spalte in der Tabelle). Beziehungen erstellen Middle-Tables bei Many-to-Many.
**WICHTIG - Bidirektionale Relationships**: Bei hasMany-Relationships (z. B. viele Contacts zu einer Entität) müssen **beide Seiten** definiert werden:
- In Entität A: Link mit `relationName` und `foreign` (zeigt auf Link-Namen in Entität B)
- In Entität B (z. B. Contact): Link mit **derselben** `relationName` und `foreign` (zeigt auf Link-Namen in Entität A)
- Beispiel: `CVmhMietverhltnis` hat Link `contactsMietverhltnis` mit relationName `cVmhMietverhltnisContact`; `Contact` hat Link `cVmhMietverhltnisesContact` mit derselben relationName und foreign `contactsMietverhltnis`.
- Fehlt eine Seite, gibt EspoCRM 404-Fehler "Link does not exist" zurück.
docs.espocrm.com docs.espocrm.com
clientDefs/{EntityType}.json (Format-Beispiel): clientDefs/{EntityType}.json (Format-Beispiel):
@@ -169,7 +174,7 @@ Zukünftige Ziele:
- Die KI soll über APIs/Webhooks angebunden werden, ohne EspoCRMs Core zu modifizieren, um Stabilität zu wahren. - Die KI soll über APIs/Webhooks angebunden werden, ohne EspoCRMs Core zu modifizieren, um Stabilität zu wahren.
- **Erweiterte Features**: Mehrsprachigkeit, Mandanten-Isolation für mehrere Kanzlei-Teams, Integration mit externen Systemen (z. B. Gerichts-APIs, Buchhaltung). - **Erweiterte Features**: Mehrsprachigkeit, Mandanten-Isolation für mehrere Kanzlei-Teams, Integration mit externen Systemen (z. B. Gerichts-APIs, Buchhaltung).
Die KI kann diese Ziele unterstützen, indem sie JSON-Strukturen analysiert, Änderungen vorschlägt (z. B. neue Felder für Compliance) und Workflows modelliert. Das System soll skalierbar, GDPR-konform und benutzerfreundlich sein, um die Effizienz in der Rechtsbranche zu steigern. Die KI kann diese Ziele unterstützen, indem sie JSON-Strukturen analysiert, Änderungen vorschlägt (z. B. neue Felder für Compliance) und Workflows modelliert. Das System soll skalierbar und benutzerfreundlich sein, um die Effizienz in der Rechtsbranche zu steigern.
6. Bearbeitung von Entitäten und Layouts 6. Bearbeitung von Entitäten und Layouts
@@ -193,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. 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 CLI-Befehl (im Docker-Container): docker exec espocrm php /var/www/html/command.php Rebuild
Alternative: Web-Interface > Administration > Clear Cache & 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. 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. 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. 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.
@@ -221,3 +312,117 @@ Um die Entwicklung und Wartung zu erleichtern, wurden benutzerdefinierte Scripts
- Sichere Backups vor Lösch- oder Edit-Operationen. - Sichere Backups vor Lösch- oder Edit-Operationen.
- Für komplexe Änderungen die EspoCRM-UI verwenden. - Für komplexe Änderungen die EspoCRM-UI verwenden.
- Execute simuliert nur einfache Aktionen; für vollständige Ausführung EspoCRM-API nutzen. - Execute simuliert nur einfache Aktionen; für vollständige Ausführung EspoCRM-API nutzen.
## 8. Troubleshooting
### 404-Fehler "Link does not exist"
- **Symptom**: HTTP 404-Fehler in Logs: "Link does not exist" beim Versuch, eine Relationship anzuzeigen oder zu verknüpfen.
- **Ursache**: Bei hasMany-Relationships fehlt die Definition auf einer Seite der Beziehung. EspoCRM benötigt bidirektionale Link-Definitionen.
- **Lösung**:
- Prüfe beide entityDefs-Dateien (z.B. `CBeteiligte.json` UND `Contact.json`).
- Stelle sicher, dass beide Seiten den Link mit derselben `relationName` definieren.
- Das `foreign`-Attribut muss jeweils auf den Link-Namen der Gegenseite zeigen.
- Beispiel:
```json
// In CBeteiligte.json:
"contactsBeteiligte": {
"type": "hasMany",
"relationName": "cBeteiligteContact",
"foreign": "cBeteiligteContact",
"entity": "Contact"
}
// In Contact.json:
"cBeteiligteContact": {
"type": "hasMany",
"relationName": "cBeteiligteContact",
"foreign": "contactsBeteiligte",
"entity": "CBeteiligte"
}
```
- Nach Korrektur: `docker exec espocrm php /var/www/html/command.php Rebuild` ausführen.
### 500-Fehler bei Layout-Änderungen
- **Symptom**: HTTP 500-Fehler beim Versuch, Layouts in der EspoCRM-UI zu bearbeiten (z.B. "Permission denied for custom/Espo/Custom/Resources/layouts/...").
- **Ursache**: Das `custom/`-Verzeichnis gehört `root:root`, aber der EspoCRM-Container läuft als `www-data`-User, der keine Schreibrechte hat.
- **Lösung**:
- Führe auf dem Host aus: `chown -R www-data:www-data /var/lib/docker/volumes/vmh-espocrm_espocrm/_data/custom`
- Dies gibt `www-data` Schreibrechte für Custom-Dateien.
- **Prävention**: Stelle sicher, dass neue Custom-Dateien mit korrekten Berechtigungen erstellt werden (z.B. via Docker-Container als `www-data`).
### Allgemeine Tipps
- Nach Änderungen immer `docker exec espocrm php /var/www/html/command.php Rebuild` ausführen.
- Logs prüfen: `tail -n 100 /var/lib/docker/volumes/vmh-espocrm_espocrm/_data/data/logs/espo-YYYY-MM-DD.log`
- Bei Relationship-Problemen: Logs nach "404" und "Link does not exist" durchsuchen: `tail -n 500 /var/lib/docker/volumes/vmh-espocrm_espocrm/_data/data/logs/espo-$(date +%Y-%m-%d).log | grep -A 3 "404\|Link does not exist"`
- Bei DB-Problemen: Custom-Scripts wie `workflow_manager.php` verwenden.
## 9. Portal-Freigabe-System
Um Entitäten für Portalnutzer (Contact-Entität) freizugeben, wurde ein konsistentes Freigabe-System implementiert:
### Implementierte Portal-Relationships:
- **CVmhMietverhltnis** → `contactsMietverhltnis` (relationName: `cVmhMietverhltnisContact`)
- **CBeteiligte** → `contactsBeteiligte` (relationName: `cBeteiligteContact`)
- **CMietobjekt** → `contactsMietobjekt` (relationName: `cMietobjektContactPortal`)
- **CAdressen** → `contactsAdressen` (relationName: `cAdressenContact`)
- **CVmhRumungsklage** → `contactsRumungsklage` (relationName: `cVmhRumungsklageContact`)
### Pattern für neue Portal-Relationships:
1. **entityDefs der Hauptentität** (z.B. `CBeteiligte.json`):
```json
"contactsBeteiligte": {
"type": "hasMany",
"relationName": "cBeteiligteContact",
"foreign": "cBeteiligteContact",
"entity": "Contact",
"audited": false,
"isCustom": true
}
```
2. **entityDefs von Contact** (`Contact.json`):
```json
"cBeteiligteContact": {
"type": "hasMany",
"relationName": "cBeteiligteContact",
"foreign": "contactsBeteiligte",
"entity": "CBeteiligte",
"audited": false,
"isCustom": true
}
```
3. **clientDefs der Hauptentität** (`CBeteiligte.json`):
```json
"relationshipPanels": {
"contactsBeteiligte": {
"layout": null,
"selectPrimaryFilterName": "portalUsers"
}
}
```
4. **bottomPanelsDetail Layout** (Tab-Ansicht):
```json
{
"_tabBreak_0": {
"index": 0,
"tabBreak": true,
"tabLabel": "Freigabe für"
},
"contactsBeteiligte": {
"dynamicLogicVisible": null,
"style": "warning",
"dynamicLogicStyled": null,
"sticked": true,
"index": 1
}
}
```
### Wichtige Hinweise:
- `selectPrimaryFilterName: "portalUsers"` filtert automatisch auf Portal-User
- Tab "Freigabe für" sollte immer der erste Tab im Bottom-Panel sein (index: 0)
- Style "warning" hebt das Panel visuell hervor
- Nach Änderungen immer Rebuild durchführen und beide Seiten der Relationship definieren

View File

@@ -1,4 +1,16 @@
{ {
"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": { "labels": {
"Create CAdressen": "Adressen erstellen" "Create CAdressen": "Adressen erstellen"
} }

View File

@@ -1,10 +1,27 @@
{ {
"fields": { "fields": {
"address": "Adresse" "vmhvermieterbeteiligte": "Vermieter",
"vmhmieterbeteiligte": "Mieter",
"vmhMietverhltnisesSonstigeBesitzer": "Sonstige Bewohner",
"vmhRumungsklagesKlaeger": "Kläger",
"vmhRumungsklagesBeklagte": "Beklagte",
"adressens": "Adressen",
"calls1": "Anrufe",
"contactsBeteiligte": "Freigegebene Nutzer",
"dokumentesBeteiligte": "Dokumente"
}, },
"links": { "links": {
"calls": "Anrufe", "calls": "Anrufe",
"tasks": "Aufgaben" "tasks": "Aufgaben",
"vmhvermieterbeteiligte": "Vermieter",
"vmhmieterbeteiligte": "Mieter",
"vmhMietverhltnisesSonstigeBesitzer": "Sonstige Bewohner",
"vmhRumungsklagesKlaeger": "Kläger",
"vmhRumungsklagesBeklagte": "Beklagte",
"adressens": "Adressen",
"calls1": "Anrufe",
"contactsBeteiligte": "Freigegebene Nutzer",
"dokumentesBeteiligte": "Dokumente"
}, },
"labels": { "labels": {
"Create CBeteiligte": "Beteiligte erstellen" "Create CBeteiligte": "Beteiligte erstellen"

View File

@@ -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": { "labels": {
"Create CDokumente": "Dokument erstellen" "Create CDokumente": "Dokument erstellen"
} }

View File

@@ -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": { "labels": {
"Create CMietobjekt": "Mietobjekt erstellen" "Create CMietobjekt": "Mietobjekt erstellen"
},
"tooltips": {
"lage": "Lage innerhalb des Objekts (z.B. EG links, 1. OG rechts)"
} }
} }

View File

@@ -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": { "fields": {
"lastCall": "Letzter Anruf",
"callCount": "Anzahl Anrufe",
"status": "Status",
"eMailErstgesprch": "E-Mail Erstgespräch I.",
"kaltmiete": "Kaltmiete",
"erfolgsaussichten": "Erfolgsaussichten", "erfolgsaussichten": "Erfolgsaussichten",
"aquiseplattform": "Akquisitionsplattform", "aquiseplattform": "Akquisitionsplattform",
"gclid": "Google Click ID", "gclid": "Google Click ID",
@@ -39,6 +17,14 @@
"keyword": "Keyword", "keyword": "Keyword",
"campaign_id": "Campaign ID", "campaign_id": "Campaign ID",
"landing_page": "Landing Page", "landing_page": "Landing Page",
"referrer": "Referrer" "referrer": "Referrer",
"contact": "Kontakt",
"dokumentesvmherstgespraech": "Dokumente"
},
"links": {
"calls": "Anrufe",
"tasks": "Aufgaben",
"contact": "Kontakt",
"dokumentesvmherstgespraech": "Dokumente"
} }
} }

View File

@@ -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": { "links": {
"calls": "Anrufe", "calls": "Anrufe",
"tasks": "Aufgaben" "tasks": "Aufgaben",
"vmhRumungsklages": "Räumungsklagen",
"vmhbeteiligtevermieter": "Vermieter",
"vmhbeteiligtemieter": "Mieter",
"contactsMietverhltnis": "Freigegebene Nutzer",
"sonstigebesitzervmhmietverhltnis": "Sonstige Bewohner",
"dokumentesvmhMietverhltnisse": "Dokumente",
"vmhMietobjekt2Mietverhltnis": "Mietobjekte"
}, },
"labels": { "labels": {
"Create CVmhMietverhltnis": "Mietverhältnis erstellen" "Create CVmhMietverhltnis": "Mietverhältnis erstellen"

View File

@@ -1,7 +1,20 @@
{ {
"fields": {
"portalUser": "Portalnutzer",
"klaeger": "Kläger",
"beklagte": "Beklagte",
"vmhMietverhltnises": "Mietverhältnisse",
"contactsRumungsklage": "Freigegebene Nutzer",
"dokumentesvmhraumungsklage": "Dokumente"
},
"links": { "links": {
"calls": "Anrufe", "calls": "Anrufe",
"tasks": "Aufgaben" "tasks": "Aufgaben",
"klaeger": "Kläger",
"beklagte": "Beklagte",
"vmhMietverhltnises": "Mietverhältnisse",
"contactsRumungsklage": "Freigegebene Nutzer",
"dokumentesvmhraumungsklage": "Dokumente"
}, },
"labels": { "labels": {
"Create CVmhRumungsklage": "Räumungsklage erstellen" "Create CVmhRumungsklage": "Räumungsklage erstellen"

View File

@@ -1,18 +1,21 @@
{ {
"fields": { "fields": {
"beteiligte": "Beteiligte", "beteiligte": "Party",
"adresse": "Adresse", "adresse": "Address",
"adresseStreet": "Adresse Street", "adresseStreet": "Street",
"adresseCity": "Adresse City", "adresseCity": "City",
"adresseState": "Adresse State", "adresseState": "State",
"adresseCountry": "Adresse Country", "adresseCountry": "Country",
"adressePostalCode": "Adresse Postal Code", "adressePostalCode": "Postal Code",
"adresseMap": "Adresse Map", "adresseMap": "Map",
"autoapplymietverhaltnisportaluser": "Portalnutzer von Mietverhältnis übernehmen", "isActive": "Active",
"advowareindexid": "Advoware_index_id" "autoapplymietverhaltnisportaluser": "Apply Portal User from Tenancy",
"advowareindexid": "Advoware Index ID",
"contactsAdressen": "Portal Users"
}, },
"links": { "links": {
"beteiligte": "Beteiligte" "beteiligte": "Party",
"contactsAdressen": "Portal Users"
}, },
"labels": { "labels": {
"Create CAdressen": "Create Adressen" "Create CAdressen": "Create Adressen"

View File

@@ -1,21 +1,29 @@
{ {
"fields": { "fields": {
"address": "Address", "address": "Address",
"vmhvermieterbeteiligte": "Mietverhältnisse", "vmhvermieterbeteiligte": "Landlord",
"vmhmieterbeteiligte": "Mietverhältnisse", "vmhmieterbeteiligte": "Tenant",
"vmhMietverhltnisesSonstigeBesitzer": "Mietverhältnisse", "vmhMietverhltnisesSonstigeBesitzer": "Other Residents",
"adressens": "Adressens", "adressens": "Addresses",
"calls1": "Anrufe" "calls1": "Calls",
"vmhRumungsklagesBeklagte": "Defendant",
"vmhRumungsklagesKlaeger": "Plaintiff",
"contactsBeteiligte": "Portal Users",
"dokumentesBeteiligte": "Documents"
}, },
"links": { "links": {
"meetings": "Meetings", "meetings": "Meetings",
"calls": "Calls", "calls": "Calls",
"tasks": "Tasks", "tasks": "Tasks",
"vmhvermieterbeteiligte": "Mietverhältnisse", "vmhvermieterbeteiligte": "Landlord",
"vmhmieterbeteiligte": "Mietverhältnisse", "vmhmieterbeteiligte": "Tenant",
"vmhMietverhltnisesSonstigeBesitzer": "Mietverhältnisse", "vmhMietverhltnisesSonstigeBesitzer": "Other Residents",
"adressens": "Adressens", "adressens": "Addresses",
"calls1": "Anrufe" "calls1": "Calls",
"vmhRumungsklagesBeklagte": "Defendant",
"vmhRumungsklagesKlaeger": "Plaintiff",
"contactsBeteiligte": "Portal Users",
"dokumentesBeteiligte": "Documents"
}, },
"labels": { "labels": {
"Create CBeteiligte": "Create Beteiligte" "Create CBeteiligte": "Create Beteiligte"

View File

@@ -1,20 +1,24 @@
{ {
"fields": { "fields": {
"dokument": "Download", "dokument": "Download",
"ydocumentuuid": "Y-document-uuid", "ydocumentuuid": "Y-Document-UUID",
"preview": "Vorschau", "preview": "Preview",
"contactsvmhdokumente": "Freigegebene Nutzer", "contactsvmhdokumente": "Portal Users",
"vmhMietverhltnisesDokumente": "Mietverhältnisse", "vmhMietverhltnisesDokumente": "Tenancies",
"vmhErstgespraechsdokumente": "Erstgespräche", "vmhErstgespraechsdokumente": "Initial Consultations",
"vmhRumungsklagesdokumente": "Räumungsklagen", "vmhRumungsklagesdokumente": "Eviction Lawsuits",
"md5sum": "md5sum", "md5sum": "MD5 Checksum",
"sha256": "sha256" "sha256": "SHA256 Checksum",
"beteiligte2dokumente": "Parties",
"mietobjekt2dokumente": "Properties"
}, },
"links": { "links": {
"contactsvmhdokumente": "Freigegebene Nutzer", "contactsvmhdokumente": "Portal Users",
"vmhMietverhltnisesDokumente": "Mietverhältnisse", "vmhMietverhltnisesDokumente": "Tenancies",
"vmhErstgespraechsdokumente": "Erstgespräche", "vmhErstgespraechsdokumente": "Initial Consultations",
"vmhRumungsklagesdokumente": "Räumungsklagen" "vmhRumungsklagesdokumente": "Eviction Lawsuits",
"beteiligte2dokumente": "Parties",
"mietobjekt2dokumente": "Properties"
}, },
"labels": { "labels": {
"Create CDokumente": "Create Dokument" "Create CDokumente": "Create Dokument"

View File

@@ -1,19 +1,23 @@
{ {
"fields": { "fields": {
"anschrift": "Anschrift", "anschrift": "Address",
"anschriftStreet": "Anschrift Street", "anschriftStreet": "Street",
"anschriftCity": "Anschrift City", "anschriftCity": "City",
"anschriftState": "Anschrift State", "anschriftState": "State",
"anschriftCountry": "Anschrift Country", "anschriftCountry": "Country",
"anschriftPostalCode": "Anschrift Postal Code", "anschriftPostalCode": "Postal Code",
"anschriftMap": "Anschrift Map", "anschriftMap": "Map",
"objekttyp": "Objekttyp", "objekttyp": "Property Type",
"vmhMietverhltnises2Mietobjekt": "Mietverhältnisse", "vmhMietverhltnises2Mietobjekt": "Tenancies",
"contact2mietobjekt": "Contacts" "contact2mietobjekt": "Contacts",
"contactsMietobjekt": "Portal Users",
"dokumentesMietobjekt": "Documents"
}, },
"links": { "links": {
"vmhMietverhltnises2Mietobjekt": "Mietverhältnisse", "vmhMietverhltnises2Mietobjekt": "Tenancies",
"contact2mietobjekt": "Contacts" "contact2mietobjekt": "Contacts",
"contactsMietobjekt": "Portal Users",
"dokumentesMietobjekt": "Documents"
}, },
"labels": { "labels": {
"Create CMietobjekt": "Create Mietobjekt" "Create CMietobjekt": "Create Mietobjekt"

View File

@@ -1,43 +1,43 @@
{ {
"fields": { "fields": {
"lastCall": "Last Call", "lastCall": "Last Call",
"callCount": "Call-Count", "callCount": "Call Count",
"status": "Status", "status": "Status",
"eMailErstgesprch": "E-Mail Erstgespräch I.", "eMailErstgesprch": "Initial Consultation Email I",
"kaltmiete": "Kaltmiete", "kaltmiete": "Basic Rent",
"kaltmieteCurrency": "Kaltmiete (Currency)", "kaltmieteCurrency": "Basic Rent (Currency)",
"kaltmieteConverted": "Kaltmiete (Converted)", "kaltmieteConverted": "Basic Rent (Converted)",
"bKVorauszahlung": "BK-Vorauszahlung", "bKVorauszahlung": "Utility Advance Payment",
"bKVorauszahlungCurrency": "BK-Vorauszahlung (Currency)", "bKVorauszahlungCurrency": "Utility Advance Payment (Currency)",
"bKVorauszahlungConverted": "BK-Vorauszahlung (Converted)", "bKVorauszahlungConverted": "Utility Advance Payment (Converted)",
"warmmiete": "Warmmiete", "warmmiete": "Warm Rent",
"warmmieteCurrency": "Warmmiete (Currency)", "warmmieteCurrency": "Warm Rent (Currency)",
"warmmieteConverted": "Warmmiete (Converted)", "warmmieteConverted": "Warm Rent (Converted)",
"erfolgsaussichten": "Erfolgsaussichten", "erfolgsaussichten": "Success Prospects",
"bKPauschale": "BK-Pauschale", "bKPauschale": "Utility Flat Rate",
"bKPauschaleCurrency": "BK-Pauschale (Currency)", "bKPauschaleCurrency": "Utility Flat Rate (Currency)",
"bKPauschaleConverted": "BK-Pauschale (Converted)", "bKPauschaleConverted": "Utility Flat Rate (Converted)",
"streitwert": "Streitwert", "streitwert": "Amount in Dispute",
"streitwertCurrency": "Streitwert (Currency)", "streitwertCurrency": "Amount in Dispute (Currency)",
"streitwertConverted": "Streitwert (Converted)", "streitwertConverted": "Amount in Dispute (Converted)",
"anruferIst": "Anrufer ist", "anruferIst": "Caller Is",
"statusMietverhltnis": "Status", "statusMietverhltnis": "Tenancy Status",
"nutzungsart": "Nutzungsart", "nutzungsart": "Type of Use",
"kndigungsgrundMietverhltnis": "Kündigungsgrund", "kndigungsgrundMietverhltnis": "Reason for Termination",
"kndigungsfristMietverhltnis": "Beendigungszeitpunkt", "kndigungsfristMietverhltnis": "Termination Date",
"besorgnisNichtRechtzeitigerAuszug": "Besorgnis nicht rechtzeitiger Auszug", "besorgnisNichtRechtzeitigerAuszug": "Concern About Late Move-out",
"kostenKndigungsservice": "Kosten Kündigungsservice", "kostenKndigungsservice": "Termination Service Costs",
"kostenKndigungsserviceCurrency": "Kosten Kündigungsservice (Currency)", "kostenKndigungsserviceCurrency": "Termination Service Costs (Currency)",
"kostenKndigungsserviceConverted": "Kosten Kündigungsservice (Converted)", "kostenKndigungsserviceConverted": "Termination Service Costs (Converted)",
"gerichtskosten": "Gerichtskosten", "gerichtskosten": "Court Costs",
"gerichtskostenCurrency": "Gerichtskosten (Currency)", "gerichtskostenCurrency": "Court Costs (Currency)",
"gerichtskostenConverted": "Gerichtskosten (Converted)", "gerichtskostenConverted": "Court Costs (Converted)",
"anwaltskosten": "Anwaltskosten", "anwaltskosten": "Attorney Fees",
"anwaltskostenCurrency": "Anwaltskosten (Currency)", "anwaltskostenCurrency": "Attorney Fees (Currency)",
"anwaltskostenConverted": "Anwaltskosten (Converted)", "anwaltskostenConverted": "Attorney Fees (Converted)",
"eMailErstgesprch2": "E-Mail Erstgespräch II.", "eMailErstgesprch2": "Initial Consultation Email II",
"aquiseplattform": "Aquiseplattform", "aquiseplattform": "Acquisition Platform",
"gclid": "gclid", "gclid": "Google Click ID",
"utm_source": "UTM Source", "utm_source": "UTM Source",
"utm_medium": "UTM Medium", "utm_medium": "UTM Medium",
"utm_campaign": "UTM Campaign", "utm_campaign": "UTM Campaign",
@@ -48,27 +48,27 @@
"campaign_id": "Campaign ID", "campaign_id": "Campaign ID",
"landing_page": "Landing Page", "landing_page": "Landing Page",
"referrer": "Referrer", "referrer": "Referrer",
"anzahlVermieter": "Anzahl Vermieter", "anzahlVermieter": "Number of Landlords",
"anzahlMieter": "Anzahl Mieter", "anzahlMieter": "Number of Tenants",
"anzahlSonstigeVolljhrigeBewohner": "Anzahl sonst. Besitzer", "anzahlSonstigeVolljhrigeBewohner": "Number of Other Residents",
"erforderlicheUnterlagen": "Erforderliche Unterlagen", "erforderlicheUnterlagen": "Required Documents",
"erstberaterEinschtzungDISGTyp": "Persönlichkeitstyp (nach DISG)", "erstberaterEinschtzungDISGTyp": "Personality Type (DISC)",
"auergerichtlicheGesetzlicheGebhren": "Außerger. gesetzliche Geb.", "auergerichtlicheGesetzlicheGebhren": "Out-of-Court Legal Fees",
"auergerichtlicheGesetzlicheGebhrenCurrency": "Außerger. gesetzliche Geb. (Currency)", "auergerichtlicheGesetzlicheGebhrenCurrency": "Out-of-Court Legal Fees (Currency)",
"auergerichtlicheGesetzlicheGebhrenConverted": "Außerger. gesetzliche Geb. (Converted)", "auergerichtlicheGesetzlicheGebhrenConverted": "Out-of-Court Legal Fees (Converted)",
"beendigungstatbestand": "Beendet durch", "beendigungstatbestand": "Terminated By",
"contact": "Kontakt", "contact": "Contact",
"nchsterAnruf": "Nächster Anruf", "nchsterAnruf": "Next Call",
"dokumentesvmherstgespraech": "Dokumente", "dokumentesvmherstgespraech": "Documents",
"runWorkflow": "RunWorkflow", "runWorkflow": "Run Workflow",
"testArray": "Test array" "testArray": "Test Array"
}, },
"links": { "links": {
"meetings": "Meetings", "meetings": "Meetings",
"calls": "Calls", "calls": "Calls",
"tasks": "Tasks", "tasks": "Tasks",
"contact": "Kontakt", "contact": "Contact",
"dokumentesvmherstgespraech": "Dokumente" "dokumentesvmherstgespraech": "Documents"
}, },
"labels": { "labels": {
"Create CVmhErstgespraech": "Create Erstgespräch" "Create CVmhErstgespraech": "Create Erstgespräch"

View File

@@ -1,40 +1,40 @@
{ {
"fields": { "fields": {
"status": "Status", "status": "Status",
"vmhRumungsklages": "Vmh Rumungsklages", "vmhRumungsklages": "Eviction Lawsuits",
"nutzungsart": "Nutzungsart", "nutzungsart": "Type of Use",
"kndigungsgrundWohnraum": "Kündigungsgrund", "kndigungsgrundWohnraum": "Reason for Termination",
"auszugsfrist": "Auszugsfrist", "auszugsfrist": "Move-out Deadline",
"besorgnisNichtRechtzeitigerAuszug": "Besorgnis nicht rechtzeitiger Auszug", "besorgnisNichtRechtzeitigerAuszug": "Concern About Late Move-out",
"beendigungsTatbestand": "Beendet durch", "beendigungsTatbestand": "Terminated By",
"vmhbeteiligtevermieter": "Vermieter", "vmhbeteiligtevermieter": "Landlords",
"vmhbeteiligtemieter": "Mieter", "vmhbeteiligtemieter": "Tenants",
"contactsMietverhltnis": "Freigabe für", "contactsMietverhltnis": "Portal Users",
"sonstigebesitzervmhmietverhltnis": "Sonstige Bewohner", "sonstigebesitzervmhmietverhltnis": "Other Residents",
"anschrift": "Anschrift", "anschrift": "Address",
"anschriftStreet": "Anschrift Street", "anschriftStreet": "Street",
"anschriftCity": "Anschrift City", "anschriftCity": "City",
"anschriftState": "Anschrift State", "anschriftState": "State",
"anschriftCountry": "Anschrift Country", "anschriftCountry": "Country",
"anschriftPostalCode": "Anschrift Postal Code", "anschriftPostalCode": "Postal Code",
"anschriftMap": "Anschrift Map", "anschriftMap": "Map",
"lage": "Lage", "lage": "Location",
"vertragsdatum": "Vertragsdatum", "vertragsdatum": "Contract Date",
"objekttyp": "Objekttyp", "objekttyp": "Property Type",
"dokumentesvmhMietverhltnisse": "Dokumente", "dokumentesvmhMietverhltnisse": "Documents",
"vmhMietobjekt2Mietverhltnis": "Mietobjekte" "vmhMietobjekt2Mietverhltnis": "Properties"
}, },
"links": { "links": {
"meetings": "Meetings", "meetings": "Meetings",
"calls": "Calls", "calls": "Calls",
"tasks": "Tasks", "tasks": "Tasks",
"vmhRumungsklages": "Vmh Rumungsklages", "vmhRumungsklages": "Eviction Lawsuits",
"vmhbeteiligtevermieter": "Vermieter", "vmhbeteiligtevermieter": "Landlords",
"vmhbeteiligtemieter": "Mieter", "vmhbeteiligtemieter": "Tenants",
"contactsMietverhltnis": "Freigabe für", "contactsMietverhltnis": "Portal Users",
"sonstigebesitzervmhmietverhltnis": "Sonstige Bewohner", "sonstigebesitzervmhmietverhltnis": "Other Residents",
"dokumentesvmhMietverhltnisse": "Dokumente", "dokumentesvmhMietverhltnisse": "Documents",
"vmhMietobjekt2Mietverhltnis": "Mietobjekte" "vmhMietobjekt2Mietverhltnis": "Properties"
}, },
"labels": { "labels": {
"Create CVmhMietverhltnis": "Create Mietverhältnis" "Create CVmhMietverhltnis": "Create Mietverhältnis"

View File

@@ -1,18 +1,24 @@
{ {
"fields": { "fields": {
"vmhMietverhltnises": "Vmh Mietverhltnises", "vmhMietverhltnises": "Tenancies",
"freigeschalteteNutzer": "Freigeschaltete Nutzer", "freigeschalteteNutzer": "Activated Users",
"vmhVermietersRKL": "Vermieter", "vmhVermietersRKL": "Landlord",
"dokumentesvmhraumungsklage": "Dokumente" "dokumentesvmhraumungsklage": "Documents",
"beklagte": "Defendant",
"klaeger": "Plaintiff",
"contactsRumungsklage": "Portal Users"
}, },
"links": { "links": {
"meetings": "Meetings", "meetings": "Meetings",
"calls": "Calls", "calls": "Calls",
"tasks": "Tasks", "tasks": "Tasks",
"vmhMietverhltnises": "Vmh Mietverhltnises", "vmhMietverhltnises": "Tenancies",
"freigeschalteteNutzer": "Freigeschaltete Nutzer", "freigeschalteteNutzer": "Activated Users",
"vmhVermietersRKL": "Vermieter", "vmhVermietersRKL": "Landlord",
"dokumentesvmhraumungsklage": "Dokumente" "dokumentesvmhraumungsklage": "Documents",
"beklagte": "Defendant",
"klaeger": "Plaintiff",
"contactsRumungsklage": "Portal Users"
}, },
"labels": { "labels": {
"Create CVmhRumungsklage": "Create Räumungsklage" "Create CVmhRumungsklage": "Create Räumungsklage"

View File

@@ -0,0 +1,31 @@
{
"_delimiter_": {
"disabled": true
},
"activities": {
"disabled": true
},
"history": {
"disabled": true
},
"_tabBreak_0": {
"index": 0,
"tabBreak": true,
"tabLabel": "Freigegebene Nutzer"
},
"contactsAdressen": {
"dynamicLogicVisible": null,
"style": "warning",
"dynamicLogicStyled": null,
"sticked": true,
"index": 1
},
"_tabBreak_1": {
"index": 2,
"tabBreak": true,
"tabLabel": "Beteiligte"
},
"beteiligte": {
"index": 3
}
}

View File

@@ -0,0 +1,24 @@
[
{
"rows": [
[
{
"name": "name"
},
{
"name": "isActive"
}
],
[
{
"name": "adresse"
},
{
"name": "adresseMap"
}
]
],
"style": "default",
"label": "Overview"
}
]

View File

@@ -8,10 +8,57 @@
"history": { "history": {
"disabled": true "disabled": true
}, },
"_tabBreak_0": {
"index": 0,
"tabBreak": true,
"tabLabel": "Freigegebene Nutzer"
},
"contactsBeteiligte": {
"dynamicLogicVisible": null,
"style": "warning",
"dynamicLogicStyled": null,
"sticked": true,
"index": 1
},
"_tabBreak_1": {
"index": 2,
"tabBreak": true,
"tabLabel": "Mietverhältnisse"
},
"vmhvermieterbeteiligte": { "vmhvermieterbeteiligte": {
"index": 0 "index": 3
},
"vmhmieterbeteiligte": {
"index": 4
},
"vmhMietverhltnisesSonstigeBesitzer": {
"index": 5
},
"_tabBreak_2": {
"index": 6,
"tabBreak": true,
"tabLabel": "Adressen"
}, },
"adressens": { "adressens": {
"index": 1 "index": 7
},
"_tabBreak_3": {
"index": 8,
"tabBreak": true,
"tabLabel": "Räumungsklagen"
},
"vmhRumungsklagesKlaeger": {
"index": 9
},
"vmhRumungsklagesBeklagte": {
"index": 10
},
"_tabBreak_4": {
"index": 11,
"tabBreak": true,
"tabLabel": "Dokumente"
},
"dokumentesBeteiligte": {
"index": 12
} }
} }

View File

@@ -15,14 +15,6 @@
"name": "phoneNumber" "name": "phoneNumber"
} }
], ],
[
{
"name": "address"
},
{
"name": "addressMap"
}
],
[ [
{ {
"name": "description" "name": "description"

View File

@@ -0,0 +1,28 @@
[
{
"name": "name",
"width": 20,
"link": true
},
{
"name": "adresseStreet",
"width": 25
},
{
"name": "adresseCity",
"width": 20
},
{
"name": "adresseCountry",
"width": 15
},
{
"name": "isActive",
"width": 10
},
{
"name": "createdAt",
"width": 10,
"align": "right"
}
]

View File

@@ -2,10 +2,40 @@
"_delimiter_": { "_delimiter_": {
"disabled": true "disabled": true
}, },
"_tabBreak_1": {
"index": 0,
"tabBreak": true,
"tabLabel": "Freigegebene Nutzer"
},
"contactsMietobjekt": {
"dynamicLogicVisible": null,
"style": "warning",
"dynamicLogicStyled": null,
"sticked": true,
"index": 1
},
"_tabBreak_2": {
"index": 2,
"tabBreak": true,
"tabLabel": "Kontakte"
},
"contact2mietobjekt": { "contact2mietobjekt": {
"index": 0 "index": 3
},
"_tabBreak_3": {
"index": 4,
"tabBreak": true,
"tabLabel": "Mietverhältnisse"
}, },
"vmhMietverhltnises2Mietobjekt": { "vmhMietverhltnises2Mietobjekt": {
"index": 1 "index": 5
},
"_tabBreak_4": {
"index": 6,
"tabBreak": true,
"tabLabel": "Dokumente"
},
"dokumentesMietobjekt": {
"index": 7
} }
} }

View File

@@ -9,6 +9,12 @@
"name": "objekttyp" "name": "objekttyp"
} }
], ],
[
{
"name": "lage"
},
false
],
[ [
{ {
"name": "anschrift" "name": "anschrift"

View File

@@ -8,48 +8,60 @@
"history": { "history": {
"disabled": true "disabled": true
}, },
"_tabBreak_2": { "_tabBreak_5": {
"index": 0, "index": 0,
"tabBreak": true, "tabBreak": true,
"tabLabel": "Mandantenportal" "tabLabel": "Mietobjekt"
},
"vmhMietobjekt2Mietverhltnis": {
"dynamicLogicVisible": null,
"style": "info",
"dynamicLogicStyled": null,
"sticked": false,
"index": 1
},
"_tabBreak_2": {
"index": 2,
"tabBreak": true,
"tabLabel": "Freigegebene Nutzer"
}, },
"contactsMietverhltnis": { "contactsMietverhltnis": {
"dynamicLogicVisible": null, "dynamicLogicVisible": null,
"style": "warning", "style": "warning",
"dynamicLogicStyled": null, "dynamicLogicStyled": null,
"sticked": true, "sticked": true,
"index": 1 "index": 3
}, },
"_tabBreak_0": { "_tabBreak_0": {
"index": 2, "index": 4,
"tabBreak": true, "tabBreak": true,
"tabLabel": "Vermieter" "tabLabel": "Vermieter"
}, },
"vmhbeteiligtevermieter": { "vmhbeteiligtevermieter": {
"index": 3 "index": 5
}, },
"_tabBreak_1": { "_tabBreak_1": {
"index": 4, "index": 6,
"tabBreak": true, "tabBreak": true,
"tabLabel": "Mieter" "tabLabel": "Mieter"
}, },
"vmhbeteiligtemieter": { "vmhbeteiligtemieter": {
"index": 5 "index": 7
}, },
"_tabBreak_3": { "_tabBreak_3": {
"index": 6, "index": 8,
"tabBreak": true, "tabBreak": true,
"tabLabel": "Sonstige Bewohner" "tabLabel": "Sonstige Bewohner"
}, },
"sonstigebesitzervmhmietverhltnis": { "sonstigebesitzervmhmietverhltnis": {
"index": 7 "index": 9
}, },
"_tabBreak_4": { "_tabBreak_4": {
"index": 8, "index": 10,
"tabBreak": true, "tabBreak": true,
"tabLabel": "Dokumente" "tabLabel": "Dokumente"
}, },
"dokumentesvmhMietverhltnisse": { "dokumentesvmhMietverhltnisse": {
"index": 9 "index": 11
} }
} }

View File

@@ -57,46 +57,5 @@
"noteText": null, "noteText": null,
"noteStyle": "info", "noteStyle": "info",
"customLabel": "Beendigung" "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"
} }
] ]

View File

@@ -8,21 +8,57 @@
"history": { "history": {
"disabled": true "disabled": true
}, },
"_tabBreak_1": { "_tabBreak_0": {
"index": 0, "index": 0,
"tabBreak": true, "tabBreak": true,
"tabLabel": "Allgemein" "tabLabel": "Freigegebene Nutzer"
}, },
"stream": { "contactsRumungsklage": {
"sticked": false, "dynamicLogicVisible": null,
"style": "warning",
"dynamicLogicStyled": null,
"sticked": true,
"index": 1 "index": 1
}, },
"_tabBreak_0": { "_tabBreak_1": {
"index": 2, "index": 2,
"tabBreak": true, "tabBreak": true,
"tabLabel": "Kläger"
},
"klaeger": {
"index": 3
},
"_tabBreak_2": {
"index": 4,
"tabBreak": true,
"tabLabel": "Beklagte"
},
"beklagte": {
"index": 5
},
"_tabBreak_3": {
"index": 6,
"tabBreak": true,
"tabLabel": "Mietverhältnisse"
},
"vmhMietverhltnises": {
"index": 7
},
"_tabBreak_4": {
"index": 8,
"tabBreak": true,
"tabLabel": "Dokumente" "tabLabel": "Dokumente"
}, },
"dokumentesvmhraumungsklage": { "dokumentesvmhraumungsklage": {
"index": 3 "index": 9
},
"_tabBreak_5": {
"index": 10,
"tabBreak": true,
"tabLabel": "Stream"
},
"stream": {
"sticked": false,
"index": 11
} }
} }

View File

@@ -8,6 +8,18 @@
"beteiligte": { "beteiligte": {
"layout": null, "layout": null,
"selectPrimaryFilterName": null "selectPrimaryFilterName": null
},
"contactsAdressen": {
"layout": null,
"selectPrimaryFilterName": "portalUsers"
} }
},
"detailActionList": [
{
"label": "View Map",
"action": "viewMap",
"acl": "read"
} }
],
"addressField": "adresse"
} }

View File

@@ -38,15 +38,18 @@
"relationshipPanels": { "relationshipPanels": {
"vmhvermieterbeteiligte": { "vmhvermieterbeteiligte": {
"layout": null, "layout": null,
"selectPrimaryFilterName": null "selectPrimaryFilterName": null,
"title": "Vermieter"
}, },
"vmhmieterbeteiligte": { "vmhmieterbeteiligte": {
"layout": null, "layout": null,
"selectPrimaryFilterName": null "selectPrimaryFilterName": null,
"title": "Mieter"
}, },
"vmhMietverhltnisesSonstigeBesitzer": { "vmhMietverhltnisesSonstigeBesitzer": {
"layout": null, "layout": null,
"selectPrimaryFilterName": null "selectPrimaryFilterName": null,
"title": "Sonstige Bewohner"
}, },
"adressens": { "adressens": {
"layout": null, "layout": null,
@@ -55,6 +58,24 @@
"calls1": { "calls1": {
"layout": null, "layout": null,
"selectPrimaryFilterName": "planned" "selectPrimaryFilterName": "planned"
},
"contactsBeteiligte": {
"layout": null,
"selectPrimaryFilterName": "portalUsers"
},
"vmhRumungsklagesKlaeger": {
"layout": null,
"selectPrimaryFilterName": null,
"title": "Kläger"
},
"vmhRumungsklagesBeklagte": {
"layout": null,
"selectPrimaryFilterName": null,
"title": "Beklagte"
},
"dokumentesBeteiligte": {
"layout": null,
"selectPrimaryFilterName": null
} }
} }
} }

View File

@@ -13,6 +13,14 @@
"contact2mietobjekt": { "contact2mietobjekt": {
"layout": null, "layout": null,
"selectPrimaryFilterName": "portalUsers" "selectPrimaryFilterName": "portalUsers"
},
"contactsMietobjekt": {
"layout": null,
"selectPrimaryFilterName": "portalUsers"
},
"dokumentesMietobjekt": {
"layout": null,
"selectPrimaryFilterName": null
} }
} }
} }

View File

@@ -50,6 +50,18 @@
"dokumentesvmhraumungsklage": { "dokumentesvmhraumungsklage": {
"layout": "listRaeumungsKl", "layout": "listRaeumungsKl",
"selectPrimaryFilterName": null "selectPrimaryFilterName": null
},
"contactsRumungsklage": {
"layout": null,
"selectPrimaryFilterName": "portalUsers"
},
"klaeger": {
"layout": null,
"selectPrimaryFilterName": null
},
"beklagte": {
"layout": null,
"selectPrimaryFilterName": null
} }
}, },
"kanbanViewMode": false, "kanbanViewMode": false,

View File

@@ -45,6 +45,11 @@
"type": "address", "type": "address",
"isCustom": true "isCustom": true
}, },
"isActive": {
"type": "bool",
"default": true,
"isCustom": true
},
"autoapplymietverhaltnisportaluser": { "autoapplymietverhaltnisportaluser": {
"notNull": true, "notNull": true,
"type": "bool", "type": "bool",
@@ -84,6 +89,14 @@
"entity": "CBeteiligte", "entity": "CBeteiligte",
"audited": false, "audited": false,
"isCustom": true "isCustom": true
},
"contactsAdressen": {
"type": "hasMany",
"relationName": "cAdressenContact",
"foreign": "cAdressenContact",
"entity": "Contact",
"audited": false,
"isCustom": true
} }
}, },
"collection": { "collection": {

View File

@@ -42,27 +42,6 @@
"defaultType": "Mobile", "defaultType": "Mobile",
"isPersonalData": true "isPersonalData": true
}, },
"address": {
"type": "address",
"isPersonalData": true
},
"addressStreet": {
"type": "text",
"maxLength": 255,
"dbType": "varchar"
},
"addressCity": {
"type": "varchar"
},
"addressState": {
"type": "varchar"
},
"addressCountry": {
"type": "varchar"
},
"addressPostalCode": {
"type": "varchar"
},
"createdAt": { "createdAt": {
"type": "datetime", "type": "datetime",
"readOnly": true "readOnly": true
@@ -169,6 +148,38 @@
"entity": "Call", "entity": "Call",
"audited": false, "audited": false,
"isCustom": true "isCustom": true
},
"contactsBeteiligte": {
"type": "hasMany",
"relationName": "cBeteiligteContact",
"foreign": "cBeteiligteContact",
"entity": "Contact",
"audited": false,
"isCustom": true
},
"vmhRumungsklagesKlaeger": {
"type": "hasMany",
"relationName": "cBeteiligteVmhRumungsklageKlaeger",
"foreign": "klaeger",
"entity": "CVmhRumungsklage",
"audited": false,
"isCustom": true
},
"vmhRumungsklagesBeklagte": {
"type": "hasMany",
"relationName": "cBeteiligteVmhRumungsklageBeklagte",
"foreign": "beklagte",
"entity": "CVmhRumungsklage",
"audited": false,
"isCustom": true
},
"dokumentesBeteiligte": {
"type": "hasMany",
"relationName": "cBeteiligteDokumente",
"foreign": "beteiligte2dokumente",
"entity": "CDokumente",
"audited": false,
"isCustom": true
} }
}, },
"collection": { "collection": {

View File

@@ -135,6 +135,30 @@
"entity": "CVmhRumungsklage", "entity": "CVmhRumungsklage",
"audited": false, "audited": false,
"isCustom": true "isCustom": true
},
"beteiligte2dokumente": {
"type": "hasMany",
"relationName": "cBeteiligteDokumente",
"foreign": "dokumentesBeteiligte",
"entity": "CBeteiligte",
"audited": false,
"isCustom": true
},
"mietobjekt2dokumente": {
"type": "hasMany",
"relationName": "cMietobjektDokumente",
"foreign": "dokumentesMietobjekt",
"entity": "CMietobjekt",
"audited": false,
"isCustom": true
},
"bankverbindung2dokumente": {
"type": "hasMany",
"relationName": "cBankverbindungDokumente",
"foreign": "dokumentesBankverbindung",
"entity": "CBankverbindung",
"audited": false,
"isCustom": true
} }
}, },
"collection": { "collection": {

View File

@@ -70,6 +70,25 @@
"audited": true, "audited": true,
"maxLength": 100, "maxLength": 100,
"isCustom": true "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": { "links": {
@@ -106,6 +125,22 @@
"entity": "Contact", "entity": "Contact",
"audited": false, "audited": false,
"isCustom": true "isCustom": true
},
"contactsMietobjekt": {
"type": "hasMany",
"relationName": "cMietobjektContactPortal",
"foreign": "cMietobjekteContactPortal",
"entity": "Contact",
"audited": false,
"isCustom": true
},
"dokumentesMietobjekt": {
"type": "hasMany",
"relationName": "cMietobjektDokumente",
"foreign": "mietobjekt2dokumente",
"entity": "CDokumente",
"audited": false,
"isCustom": true
} }
}, },
"collection": { "collection": {

View File

@@ -132,62 +132,12 @@
"maxLength": 100, "maxLength": 100,
"isCustom": true "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": { "vertragsdatum": {
"notNull": false, "notNull": false,
"type": "date", "type": "date",
"required": true, "required": true,
"before": "auszugsfrist", "before": "auszugsfrist",
"isCustom": true "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": { "links": {

View File

@@ -129,6 +129,30 @@
"entity": "CDokumente", "entity": "CDokumente",
"audited": false, "audited": false,
"isCustom": true "isCustom": true
},
"contactsRumungsklage": {
"type": "hasMany",
"relationName": "cVmhRumungsklageContact",
"foreign": "cVmhRumungsklageContact",
"entity": "Contact",
"audited": false,
"isCustom": true
},
"klaeger": {
"type": "hasMany",
"relationName": "cBeteiligteVmhRumungsklageKlaeger",
"foreign": "vmhRumungsklagesKlaeger",
"entity": "CBeteiligte",
"audited": false,
"isCustom": true
},
"beklagte": {
"type": "hasMany",
"relationName": "cBeteiligteVmhRumungsklageBeklagte",
"foreign": "vmhRumungsklagesBeklagte",
"entity": "CBeteiligte",
"audited": false,
"isCustom": true
} }
}, },
"collection": { "collection": {

View File

@@ -53,6 +53,46 @@
"entity": "CMietobjekt", "entity": "CMietobjekt",
"audited": false, "audited": false,
"isCustom": true "isCustom": true
},
"cBeteiligteContact": {
"type": "hasMany",
"relationName": "cBeteiligteContact",
"foreign": "contactsBeteiligte",
"entity": "CBeteiligte",
"audited": false,
"isCustom": true
},
"cMietobjekteContactPortal": {
"type": "hasMany",
"relationName": "cMietobjektContactPortal",
"foreign": "contactsMietobjekt",
"entity": "CMietobjekt",
"audited": false,
"isCustom": true
},
"cAdressenContact": {
"type": "hasMany",
"relationName": "cAdressenContact",
"foreign": "contactsAdressen",
"entity": "CAdressen",
"audited": false,
"isCustom": true
},
"cVmhRumungsklageContact": {
"type": "hasMany",
"relationName": "cVmhRumungsklageContact",
"foreign": "contactsRumungsklage",
"entity": "CVmhRumungsklage",
"audited": false,
"isCustom": true
},
"cBankverbindungenContact": {
"type": "hasMany",
"relationName": "cBankverbindungContact",
"foreign": "contactsBankverbindung",
"entity": "CBankverbindung",
"audited": false,
"isCustom": true
} }
}, },
"fields": { "fields": {

View File

@@ -349,8 +349,8 @@ return [
0 => 'youtube.com', 0 => 'youtube.com',
1 => 'google.com' 1 => 'google.com'
], ],
'cacheTimestamp' => 1768843902, 'cacheTimestamp' => 1768919256,
'microtime' => 1768843902.115102, 'microtime' => 1768919256.679545,
'siteUrl' => 'https://crm.bitbylaw.com', 'siteUrl' => 'https://crm.bitbylaw.com',
'fullTextSearchMinLength' => 4, 'fullTextSearchMinLength' => 4,
'appTimestamp' => 1768843902, 'appTimestamp' => 1768843902,