Add new fields for rental details and update localization; enhance layout for better visibility
This commit is contained in:
89
README.md
89
README.md
@@ -380,6 +380,16 @@ sudo find custom/ -type d -exec chmod 775 {} \;
|
||||
- [ ] Formula in `formula/`, **NICHT** in `entityDefs/`
|
||||
- [ ] Nach Erstellung: `./custom/scripts/check_and_rebuild.sh`
|
||||
|
||||
**Bei Hinzufügen neuer Felder:**
|
||||
- [ ] Felder in entityDefs definieren mit korrektem Typ und Optionen
|
||||
- [ ] Felder zu relevanten Layouts hinzufügen (detail.json, list.json, etc.)
|
||||
- [ ] Felder sinnvoll gruppieren (eigenes Panel oder bestehendes Panel)
|
||||
- [ ] Labels in i18n/**de_DE** vollständig (fields UND links)
|
||||
- [ ] Labels in i18n/**en_US** vollständig (Fallback-Sprache!)
|
||||
- [ ] Tooltips in i18n hinzufügen falls erforderlich
|
||||
- [ ] Nach Änderung: `./custom/scripts/check_and_rebuild.sh`
|
||||
- [ ] Browser Hard Refresh (Ctrl+Shift+R) durchführen
|
||||
|
||||
**Bei Layout-Änderungen:**
|
||||
- [ ] Keine `false` oder leere Objekte in Rows
|
||||
- [ ] Width nur in List-Layouts verwenden
|
||||
@@ -511,6 +521,85 @@ Bei hasMany-Relationships müssen **BEIDE Seiten** definiert werden:
|
||||
- `foreign` zeigt auf den Link-Namen der **Gegenseite**
|
||||
- Fehlt eine Seite → **"404 Link does not exist"-Fehler**
|
||||
|
||||
**Vollständiger Prozess beim Hinzufügen neuer Felder:**
|
||||
|
||||
Neue Felder in einer Entity erfordern Änderungen in **drei Bereichen**:
|
||||
|
||||
1. **entityDefs/{Entity}.json** - Feld-Definition
|
||||
2. **layouts/{Entity}/*.json** - Sichtbarkeit in UI
|
||||
3. **i18n/{Sprache}/{Entity}.json** - Beschriftungen
|
||||
|
||||
**Schritt-für-Schritt-Anleitung:**
|
||||
|
||||
**1. Feld in entityDefs definieren:**
|
||||
```json
|
||||
// custom/Espo/Custom/Resources/metadata/entityDefs/CVmhMietverhltnis.json
|
||||
{
|
||||
"fields": {
|
||||
"kaltmiete": {
|
||||
"type": "currency",
|
||||
"required": true,
|
||||
"onlyDefaultCurrency": true,
|
||||
"min": 1,
|
||||
"decimal": true,
|
||||
"tooltip": true,
|
||||
"isCustom": true
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**2. Feld zu Layouts hinzufügen:**
|
||||
```json
|
||||
// custom/Espo/Custom/Resources/layouts/CVmhMietverhltnis/detail.json
|
||||
[
|
||||
{
|
||||
"rows": [
|
||||
[
|
||||
{"name": "kaltmiete"},
|
||||
{"name": "warmmiete"}
|
||||
]
|
||||
],
|
||||
"customLabel": "Miethöhe",
|
||||
"noteText": "Erfassen Sie die Miethöhe in ihren einzelnen Bestandteilen",
|
||||
"noteStyle": "info"
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
**3. Labels in ALLEN Sprachen definieren:**
|
||||
```json
|
||||
// custom/Espo/Custom/Resources/i18n/de_DE/CVmhMietverhltnis.json
|
||||
{
|
||||
"fields": {
|
||||
"kaltmiete": "Kaltmiete"
|
||||
},
|
||||
"tooltips": {
|
||||
"kaltmiete": "Monatliche Kaltmiete ohne Betriebskosten"
|
||||
}
|
||||
}
|
||||
|
||||
// custom/Espo/Custom/Resources/i18n/en_US/CVmhMietverhltnis.json
|
||||
{
|
||||
"fields": {
|
||||
"kaltmiete": "Base Rent"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**Wichtig:**
|
||||
- ✅ **IMMER** de_DE UND en_US pflegen (en_US ist Fallback!)
|
||||
- ✅ Tooltips nur wenn `"tooltip": true` im entityDef gesetzt
|
||||
- ✅ Bei Link-Feldern Labels in `fields` UND `links` definieren
|
||||
- ✅ Nach Änderungen: `./custom/scripts/check_and_rebuild.sh`
|
||||
|
||||
**Typische Layout-Typen:**
|
||||
- `detail.json` - Detail-Ansicht (Panels mit Rows)
|
||||
- `list.json` - Listen-Ansicht (Spalten mit Width)
|
||||
- `listSmall.json` - Kompakte Listen-Ansicht
|
||||
- `detailSmall.json` - Seitenleisten-Ansicht
|
||||
- `filters.json` - Filter-Felder
|
||||
|
||||
### clientDefs/{EntityType}.json
|
||||
|
||||
**Format-Beispiel:**
|
||||
|
||||
@@ -7,6 +7,10 @@
|
||||
"besorgnisNichtRechtzeitigerAuszug": "Besorgnis nicht rechtzeitiger Auszug",
|
||||
"beendigungsTatbestand": "Beendet durch",
|
||||
"vertragsdatum": "Vertragsdatum",
|
||||
"kaltmiete": "Kaltmiete",
|
||||
"bKVorauszahlung": "BK-Vorauszahlung",
|
||||
"bKPauschale": "BK-Pauschale",
|
||||
"warmmiete": "Warmmiete",
|
||||
"vmhRumungsklages": "Räumungsklagen",
|
||||
"mietinkassos": "Mietinkasso",
|
||||
"vmhbeteiligtevermieter": "Vermieter",
|
||||
@@ -17,6 +21,12 @@
|
||||
"vmhMietobjekt2Mietverhltnis": "Mietobjekte (veraltet)",
|
||||
"vmhMietobjekt": "Mietobjekt"
|
||||
},
|
||||
"tooltips": {
|
||||
"kaltmiete": "Monatliche Kaltmiete ohne Betriebskosten",
|
||||
"bKVorauszahlung": "Monatliche Betriebskosten-Vorauszahlung",
|
||||
"bKPauschale": "Monatliche Betriebskosten-Pauschale",
|
||||
"warmmiete": "Summe aus Kaltmiete + BK-Vorauszahlung + BK-Pauschale"
|
||||
},
|
||||
"links": {
|
||||
"calls": "Anrufe",
|
||||
"tasks": "Aufgaben",
|
||||
|
||||
@@ -8,6 +8,10 @@
|
||||
"auszugsfrist": "Move-out Deadline",
|
||||
"besorgnisNichtRechtzeitigerAuszug": "Concern About Late Move-out",
|
||||
"beendigungsTatbestand": "Terminated By",
|
||||
"kaltmiete": "Base Rent",
|
||||
"bKVorauszahlung": "Utilities Advance",
|
||||
"bKPauschale": "Utilities Flat Rate",
|
||||
"warmmiete": "Total Rent",
|
||||
"vmhbeteiligtevermieter": "Landlords",
|
||||
"vmhbeteiligtemieter": "Tenants",
|
||||
"contactsMietverhltnis": "Portal Users",
|
||||
|
||||
@@ -57,5 +57,31 @@
|
||||
"noteText": null,
|
||||
"noteStyle": "info",
|
||||
"customLabel": "Beendigung"
|
||||
},
|
||||
{
|
||||
"rows": [
|
||||
[
|
||||
{
|
||||
"name": "kaltmiete"
|
||||
},
|
||||
{
|
||||
"name": "bKVorauszahlung"
|
||||
},
|
||||
{
|
||||
"name": "bKPauschale"
|
||||
},
|
||||
{
|
||||
"name": "warmmiete"
|
||||
}
|
||||
]
|
||||
],
|
||||
"dynamicLogicVisible": null,
|
||||
"style": "primary",
|
||||
"dynamicLogicStyled": null,
|
||||
"tabBreak": false,
|
||||
"hidden": false,
|
||||
"noteText": "Erfassen Sie die Miethöhe in ihren einzelnen Bestandteilen",
|
||||
"noteStyle": "info",
|
||||
"customLabel": "Miethöhe"
|
||||
}
|
||||
]
|
||||
@@ -130,6 +130,47 @@
|
||||
"before": "auszugsfrist",
|
||||
"isCustom": true
|
||||
},
|
||||
"kaltmiete": {
|
||||
"type": "currency",
|
||||
"required": true,
|
||||
"onlyDefaultCurrency": true,
|
||||
"conversionDisabled": true,
|
||||
"min": 1,
|
||||
"decimal": true,
|
||||
"tooltip": true,
|
||||
"isCustom": true
|
||||
},
|
||||
"bKVorauszahlung": {
|
||||
"type": "currency",
|
||||
"required": false,
|
||||
"onlyDefaultCurrency": true,
|
||||
"conversionDisabled": true,
|
||||
"default": 0,
|
||||
"min": 0,
|
||||
"decimal": true,
|
||||
"tooltip": true,
|
||||
"isCustom": true
|
||||
},
|
||||
"bKPauschale": {
|
||||
"type": "currency",
|
||||
"required": false,
|
||||
"default": 0,
|
||||
"min": 0,
|
||||
"decimal": true,
|
||||
"tooltip": true,
|
||||
"isCustom": true,
|
||||
"onlyDefaultCurrency": true
|
||||
},
|
||||
"warmmiete": {
|
||||
"type": "currency",
|
||||
"onlyDefaultCurrency": true,
|
||||
"conversionDisabled": true,
|
||||
"decimal": true,
|
||||
"isCustom": true,
|
||||
"readOnly": true,
|
||||
"required": false,
|
||||
"tooltip": true
|
||||
},
|
||||
"vmhMietobjekt": {
|
||||
"type": "link",
|
||||
"required": false,
|
||||
|
||||
@@ -359,8 +359,8 @@ return [
|
||||
0 => 'youtube.com',
|
||||
1 => 'google.com'
|
||||
],
|
||||
'cacheTimestamp' => 1769206135,
|
||||
'microtime' => 1769206135.340303,
|
||||
'cacheTimestamp' => 1769206320,
|
||||
'microtime' => 1769206320.164239,
|
||||
'siteUrl' => 'https://crm.bitbylaw.com',
|
||||
'fullTextSearchMinLength' => 4,
|
||||
'appTimestamp' => 1768843902,
|
||||
|
||||
Reference in New Issue
Block a user