Add 'beruecksichtigtePersonen' field and implement dynamic text updates in CVmhErstgespraech entity; enhance templates and localization
This commit is contained in:
@@ -0,0 +1,3 @@
|
|||||||
|
<div class="field" data-name="{{name}}">
|
||||||
|
<span class="text-muted">{{value}}</span>
|
||||||
|
</div>
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
<div class="field" data-name="{{name}}">
|
||||||
|
<span class="text-muted">{{value}}</span>
|
||||||
|
</div>
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
define('custom:views/c-vmh-erstgespraech/fields/beruecksichtigte-personen', ['views/fields/text'], function (Dep) {
|
||||||
|
|
||||||
|
return Dep.extend({
|
||||||
|
|
||||||
|
detailTemplate: 'custom:c-vmh-erstgespraech/fields/beruecksichtigte-personen/detail',
|
||||||
|
editTemplate: 'custom:c-vmh-erstgespraech/fields/beruecksichtigte-personen/edit',
|
||||||
|
|
||||||
|
setup: function () {
|
||||||
|
Dep.prototype.setup.call(this);
|
||||||
|
|
||||||
|
this.listenTo(this.model, 'change:anzahlVermieter change:anzahlMieter change:anzahlSonstigeVolljhrigeBewohner', () => {
|
||||||
|
this.updateText();
|
||||||
|
});
|
||||||
|
|
||||||
|
// Initial update when model is synced
|
||||||
|
this.listenTo(this.model, 'sync', () => {
|
||||||
|
this.updateText();
|
||||||
|
});
|
||||||
|
|
||||||
|
// Update immediately if data already exists
|
||||||
|
if (this.model.id) {
|
||||||
|
this.updateText();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
updateText: function () {
|
||||||
|
if (this.calculating) return;
|
||||||
|
this.calculating = true;
|
||||||
|
|
||||||
|
const vermieter = this.model.get('anzahlVermieter') || 0;
|
||||||
|
const mieter = this.model.get('anzahlMieter') || 0;
|
||||||
|
const sonstige = this.model.get('anzahlSonstigeVolljhrigeBewohner') || 0;
|
||||||
|
|
||||||
|
const text = `${vermieter} Vermieter, ${mieter} Mieter, ${sonstige} Dritte`;
|
||||||
|
|
||||||
|
this.model.set('beruecksichtigtePersonen', text, {silent: true});
|
||||||
|
|
||||||
|
this.calculating = false;
|
||||||
|
|
||||||
|
if (this.isRendered()) {
|
||||||
|
this.reRender();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
data: function () {
|
||||||
|
const data = Dep.prototype.data.call(this);
|
||||||
|
data.value = this.model.get('beruecksichtigtePersonen') || '';
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
@@ -13,8 +13,13 @@ define('custom:views/c-vmh-erstgespraech/fields/rvg-calculated', [
|
|||||||
// Listen to changes on relevant fields (combined listener)
|
// Listen to changes on relevant fields (combined listener)
|
||||||
this.listenTo(this.model, 'change:streitwert change:anzahlVermieter change:anzahlMieter change:anzahlSonstigeVolljhrigeBewohner change:ustSatz', this.calculate.bind(this));
|
this.listenTo(this.model, 'change:streitwert change:anzahlVermieter change:anzahlMieter change:anzahlSonstigeVolljhrigeBewohner change:ustSatz', this.calculate.bind(this));
|
||||||
|
|
||||||
// Initial calculation
|
// Initial calculation when model is synced
|
||||||
this.calculate();
|
this.listenTo(this.model, 'sync', this.calculate.bind(this));
|
||||||
|
|
||||||
|
// Immediate calculation if data already exists
|
||||||
|
if (this.model.id) {
|
||||||
|
this.calculate();
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
calculate: function () {
|
calculate: function () {
|
||||||
|
|||||||
@@ -63,6 +63,7 @@
|
|||||||
"ustSatz": "USt-Satz",
|
"ustSatz": "USt-Satz",
|
||||||
"aussergerichtlicheGebuehren": "Außergerichtliche Gebühren",
|
"aussergerichtlicheGebuehren": "Außergerichtliche Gebühren",
|
||||||
"kostenRaeumungsantrag": "Kosten Räumungsantrag",
|
"kostenRaeumungsantrag": "Kosten Räumungsantrag",
|
||||||
|
"beruecksichtigtePersonen": "Berücksichtigte Personen",
|
||||||
"gerichtskosten1Instanz": "GK-Kosten I. Inst.",
|
"gerichtskosten1Instanz": "GK-Kosten I. Inst.",
|
||||||
"anwaltskostenKlaeger1Instanz": "RA-Kosten Kläger I. Inst.",
|
"anwaltskostenKlaeger1Instanz": "RA-Kosten Kläger I. Inst.",
|
||||||
"vorzusch1Instanz": "Vorauszuschießende Kosten I. Inst.",
|
"vorzusch1Instanz": "Vorauszuschießende Kosten I. Inst.",
|
||||||
@@ -96,7 +97,8 @@
|
|||||||
"erstberaterEinschtzungDISGTyp": "Dominant = Schnelles Tempo, fordernder Ton, Fokus auf Ergebnisse.\\n\\nInitiativ = Hohe Sprechgeschwindigkeit, emotionale Sprache, sucht Bestätigung.\\n\\nStetig = Langsames Tempo, zögernde Pausen, risikoscheu.\\n\\nGewissenhaft = Präzise Formulierungen, sucht Daten, skeptisch.",
|
"erstberaterEinschtzungDISGTyp": "Dominant = Schnelles Tempo, fordernder Ton, Fokus auf Ergebnisse.\\n\\nInitiativ = Hohe Sprechgeschwindigkeit, emotionale Sprache, sucht Bestätigung.\\n\\nStetig = Langsames Tempo, zögernde Pausen, risikoscheu.\\n\\nGewissenhaft = Präzise Formulierungen, sucht Daten, skeptisch.",
|
||||||
"auergerichtlicheGesetzlicheGebhren": "Die gesetzlichen Gebühren für eine außergerichtliche Tätigkeit",
|
"auergerichtlicheGesetzlicheGebhren": "Die gesetzlichen Gebühren für eine außergerichtliche Tätigkeit",
|
||||||
"kndigungsfristMietverhltnis": "Zeitpunkt zu dem das Mietverhältnis beendet wurde. Bei mehreren Fristen (bspw. fristlose und fristgerechte Kündigung) frühester Zeitpunt.",
|
"kndigungsfristMietverhltnis": "Zeitpunkt zu dem das Mietverhältnis beendet wurde. Bei mehreren Fristen (bspw. fristlose und fristgerechte Kündigung) frühester Zeitpunt.",
|
||||||
"nchsterAnruf": "Nächster Anruf nicht vor"
|
"nchsterAnruf": "Nächster Anruf nicht vor",
|
||||||
|
"kostenKndigungsservice": "Individuell vereinbarte Pauschale für außergerichtliche Kündigung."
|
||||||
},
|
},
|
||||||
"options": {
|
"options": {
|
||||||
"status": {
|
"status": {
|
||||||
|
|||||||
@@ -154,13 +154,16 @@
|
|||||||
"name": "streitwert"
|
"name": "streitwert"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "kostenKndigungsservice"
|
"name": "beruecksichtigtePersonen"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "ustSatz"
|
"name": "ustSatz"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
|
{
|
||||||
|
"name": "kostenKndigungsservice"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "aussergerichtlicheGebuehren"
|
"name": "aussergerichtlicheGebuehren"
|
||||||
},
|
},
|
||||||
@@ -178,18 +181,20 @@
|
|||||||
{
|
{
|
||||||
"name": "vorzusch1Instanz"
|
"name": "vorzusch1Instanz"
|
||||||
}
|
}
|
||||||
],
|
]
|
||||||
[
|
],
|
||||||
{
|
"dynamicLogicVisible": null,
|
||||||
"name": "vergleich1InstanzGk"
|
"style": "primary",
|
||||||
},
|
"dynamicLogicStyled": null,
|
||||||
{
|
"tabBreak": false,
|
||||||
"name": "vergleich1InstanzAnwK"
|
"tabLabel": null,
|
||||||
},
|
"hidden": false,
|
||||||
{
|
"noteText": "Die Gebühren werden automatisch nach RVG 2025 berechnet basierend auf Streitwert, Personenanzahl und USt-Satz.",
|
||||||
"name": "vergleich1InstanzSumme"
|
"noteStyle": "danger",
|
||||||
}
|
"customLabel": "Gebührenberechnung"
|
||||||
],
|
},
|
||||||
|
{
|
||||||
|
"rows": [
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
"name": "saeumnis1InstanzGk"
|
"name": "saeumnis1InstanzGk"
|
||||||
@@ -208,9 +213,33 @@
|
|||||||
"tabBreak": false,
|
"tabBreak": false,
|
||||||
"tabLabel": null,
|
"tabLabel": null,
|
||||||
"hidden": false,
|
"hidden": false,
|
||||||
"noteText": "Die Gebühren werden automatisch nach RVG 2025 berechnet basierend auf Streitwert, Personenanzahl und USt-Satz.",
|
"noteText": "Säumnisszenario: Der Beklagte erscheint nicht zum Termin. Terminsgebühr wird auf 0,5 reduziert, Gerichtskosten bleiben bei 3,0.",
|
||||||
"noteStyle": "success",
|
"noteStyle": "success",
|
||||||
"customLabel": "Gebührenberechnung"
|
"customLabel": "Säumnisszenario I. Inst."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"rows": [
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"name": "vergleich1InstanzGk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "vergleich1InstanzAnwK"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "vergleich1InstanzSumme"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"dynamicLogicVisible": null,
|
||||||
|
"style": "primary",
|
||||||
|
"dynamicLogicStyled": null,
|
||||||
|
"tabBreak": false,
|
||||||
|
"tabLabel": null,
|
||||||
|
"hidden": false,
|
||||||
|
"noteText": "Vergleichsszenario: Einigung vor Urteil. Vergleichsgebühr 1,0 kommt zusätzlich zur Terminsgebühr hinzu, Gerichtskosten nur 1,0 statt 3,0.",
|
||||||
|
"noteStyle": "success",
|
||||||
|
"customLabel": "Vergleichsszenario I. Inst."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"rows": [
|
"rows": [
|
||||||
|
|||||||
@@ -445,6 +445,12 @@
|
|||||||
"decimal": true,
|
"decimal": true,
|
||||||
"isCustom": true
|
"isCustom": true
|
||||||
},
|
},
|
||||||
|
"beruecksichtigtePersonen": {
|
||||||
|
"type": "text",
|
||||||
|
"readOnly": true,
|
||||||
|
"view": "custom:views/c-vmh-erstgespraech/fields/beruecksichtigte-personen",
|
||||||
|
"isCustom": true
|
||||||
|
},
|
||||||
"gerichtskosten1Instanz": {
|
"gerichtskosten1Instanz": {
|
||||||
"type": "currency",
|
"type": "currency",
|
||||||
"readOnly": true,
|
"readOnly": true,
|
||||||
|
|||||||
@@ -349,8 +349,8 @@ return [
|
|||||||
0 => 'youtube.com',
|
0 => 'youtube.com',
|
||||||
1 => 'google.com'
|
1 => 'google.com'
|
||||||
],
|
],
|
||||||
'cacheTimestamp' => 1769195678,
|
'cacheTimestamp' => 1769197109,
|
||||||
'microtime' => 1769195678.710132,
|
'microtime' => 1769197109.316755,
|
||||||
'siteUrl' => 'https://crm.bitbylaw.com',
|
'siteUrl' => 'https://crm.bitbylaw.com',
|
||||||
'fullTextSearchMinLength' => 4,
|
'fullTextSearchMinLength' => 4,
|
||||||
'appTimestamp' => 1768843902,
|
'appTimestamp' => 1768843902,
|
||||||
|
|||||||
Reference in New Issue
Block a user