feat(CPuls): Enhance CPuls entity with new fields, tooltips, and options; add localization for German and English
- Added new fields to CPuls entity including status, syncStatus, kiAnalyse, and others. - Implemented localization for CPuls in German (de_DE) and English (en_US). - Introduced new API actions for team activation and completion of CPuls. - Created hooks to update team statistics and manage document counts. - Added new entity definitions and metadata for CPulsTeamZuordnung and Team. - Implemented validation logic in formulas to prevent completion of unclean Puls. - Updated layouts for detail and list views of CPuls. - Enhanced user entity with absence tracking fields. - Added scopes for CPuls and CPulsTeamZuordnung.
This commit is contained in:
@@ -105,6 +105,11 @@
|
||||
"default": "pending_sync",
|
||||
"tooltip": true,
|
||||
"isCustom": true
|
||||
},
|
||||
"puls": {
|
||||
"type": "link",
|
||||
"entity": "CPuls",
|
||||
"isCustom": true
|
||||
}
|
||||
},
|
||||
"links": {
|
||||
@@ -138,6 +143,12 @@
|
||||
"skipOrmDefs": true,
|
||||
"utility": true
|
||||
},
|
||||
"puls": {
|
||||
"type": "belongsTo",
|
||||
"entity": "CPuls",
|
||||
"foreign": "dokumente",
|
||||
"isCustom": true
|
||||
},
|
||||
"contactsvmhdokumente": {
|
||||
"type": "hasMany",
|
||||
"relationName": "cDokumenteContact",
|
||||
|
||||
@@ -3,10 +3,97 @@
|
||||
"name": {
|
||||
"type": "varchar",
|
||||
"required": true,
|
||||
"pattern": "$noBadCharacters"
|
||||
"maxLength": 255,
|
||||
"trim": true,
|
||||
"isCustom": true
|
||||
},
|
||||
"description": {
|
||||
"type": "text"
|
||||
"status": {
|
||||
"type": "enum",
|
||||
"options": [
|
||||
"Neu",
|
||||
"In Verarbeitung",
|
||||
"Bereit",
|
||||
"In Review",
|
||||
"Teilweise abgeschlossen",
|
||||
"Abgeschlossen"
|
||||
],
|
||||
"default": "Neu",
|
||||
"required": true,
|
||||
"isCustom": true,
|
||||
"style": {
|
||||
"Neu": "default",
|
||||
"In Verarbeitung": "primary",
|
||||
"Bereit": "success",
|
||||
"In Review": "warning",
|
||||
"Teilweise abgeschlossen": "info",
|
||||
"Abgeschlossen": "success"
|
||||
}
|
||||
},
|
||||
"syncStatus": {
|
||||
"type": "enum",
|
||||
"options": ["clean", "unclean"],
|
||||
"default": "unclean",
|
||||
"required": true,
|
||||
"isCustom": true,
|
||||
"tooltip": true
|
||||
},
|
||||
"kiAnalyse": {
|
||||
"type": "text",
|
||||
"isCustom": true,
|
||||
"tooltip": true
|
||||
},
|
||||
"zusammenfassung": {
|
||||
"type": "varchar",
|
||||
"maxLength": 500,
|
||||
"isCustom": true,
|
||||
"tooltip": true
|
||||
},
|
||||
"anzahlDokumente": {
|
||||
"type": "int",
|
||||
"readOnly": true,
|
||||
"notStorable": false,
|
||||
"isCustom": true
|
||||
},
|
||||
"anzahlTeamsAktiv": {
|
||||
"type": "int",
|
||||
"readOnly": true,
|
||||
"notStorable": false,
|
||||
"isCustom": true
|
||||
},
|
||||
"anzahlTeamsAbgeschlossen": {
|
||||
"type": "int",
|
||||
"readOnly": true,
|
||||
"notStorable": false,
|
||||
"isCustom": true
|
||||
},
|
||||
"finalisiert": {
|
||||
"type": "bool",
|
||||
"default": false,
|
||||
"readOnly": true,
|
||||
"isCustom": true,
|
||||
"tooltip": true
|
||||
},
|
||||
"finalisierungsGrund": {
|
||||
"type": "enum",
|
||||
"options": [
|
||||
"Erstes Team",
|
||||
"Manuell",
|
||||
"Automatisch"
|
||||
],
|
||||
"readOnly": true,
|
||||
"isCustom": true,
|
||||
"tooltip": true
|
||||
},
|
||||
"finalisiertAm": {
|
||||
"type": "datetime",
|
||||
"readOnly": true,
|
||||
"isCustom": true
|
||||
},
|
||||
"finalisiertVon": {
|
||||
"type": "link",
|
||||
"entity": "User",
|
||||
"readOnly": true,
|
||||
"isCustom": true
|
||||
},
|
||||
"createdAt": {
|
||||
"type": "datetime",
|
||||
@@ -18,25 +105,43 @@
|
||||
},
|
||||
"createdBy": {
|
||||
"type": "link",
|
||||
"readOnly": true,
|
||||
"view": "views/fields/user"
|
||||
"entity": "User",
|
||||
"readOnly": true
|
||||
},
|
||||
"modifiedBy": {
|
||||
"type": "link",
|
||||
"readOnly": true,
|
||||
"view": "views/fields/user"
|
||||
"entity": "User",
|
||||
"readOnly": true
|
||||
},
|
||||
"assignedUser": {
|
||||
"type": "link",
|
||||
"required": false,
|
||||
"view": "views/fields/assigned-user"
|
||||
"entity": "User",
|
||||
"isCustom": true
|
||||
},
|
||||
"teams": {
|
||||
"type": "linkMultiple",
|
||||
"view": "views/fields/teams"
|
||||
"isCustom": true
|
||||
}
|
||||
},
|
||||
"links": {
|
||||
"parent": {
|
||||
"type": "belongsToParent",
|
||||
"entityList": [
|
||||
"CVmhRumungsklage",
|
||||
"CMietinkasso",
|
||||
"CKuendigung"
|
||||
]
|
||||
},
|
||||
"dokumente": {
|
||||
"type": "hasMany",
|
||||
"entity": "CDokumente",
|
||||
"foreign": "puls"
|
||||
},
|
||||
"teamZuordnungen": {
|
||||
"type": "hasMany",
|
||||
"entity": "CPulsTeamZuordnung",
|
||||
"foreign": "puls"
|
||||
},
|
||||
"createdBy": {
|
||||
"type": "belongsTo",
|
||||
"entity": "User"
|
||||
@@ -49,62 +154,37 @@
|
||||
"type": "belongsTo",
|
||||
"entity": "User"
|
||||
},
|
||||
"finalisiertVon": {
|
||||
"type": "belongsTo",
|
||||
"entity": "User"
|
||||
},
|
||||
"teams": {
|
||||
"type": "hasMany",
|
||||
"entity": "Team",
|
||||
"relationName": "entityTeam",
|
||||
"layoutRelationshipsDisabled": true
|
||||
},
|
||||
"meetings": {
|
||||
"type": "hasMany",
|
||||
"entity": "Meeting",
|
||||
"foreign": "parent"
|
||||
},
|
||||
"calls": {
|
||||
"type": "hasMany",
|
||||
"entity": "Call",
|
||||
"foreign": "parent"
|
||||
},
|
||||
"tasks": {
|
||||
"type": "hasChildren",
|
||||
"entity": "Task",
|
||||
"foreign": "parent"
|
||||
},
|
||||
"emails": {
|
||||
"type": "hasChildren",
|
||||
"entity": "Email",
|
||||
"foreign": "parent",
|
||||
"relationName": "EntityTeam",
|
||||
"layoutRelationshipsDisabled": true
|
||||
}
|
||||
},
|
||||
"collection": {
|
||||
"orderBy": "createdAt",
|
||||
"order": "desc"
|
||||
"order": "desc",
|
||||
"textFilterFields": ["name", "zusammenfassung"]
|
||||
},
|
||||
"indexes": {
|
||||
"name": {
|
||||
"columns": [
|
||||
"name",
|
||||
"deleted"
|
||||
]
|
||||
"parent": {
|
||||
"columns": ["parentType", "parentId"]
|
||||
},
|
||||
"assignedUser": {
|
||||
"columns": [
|
||||
"assignedUserId",
|
||||
"deleted"
|
||||
]
|
||||
"status": {
|
||||
"columns": ["status"]
|
||||
},
|
||||
"syncStatus": {
|
||||
"columns": ["syncStatus"]
|
||||
},
|
||||
"finalisiert": {
|
||||
"columns": ["finalisiert"]
|
||||
},
|
||||
"createdAt": {
|
||||
"columns": [
|
||||
"createdAt"
|
||||
]
|
||||
},
|
||||
"createdAtId": {
|
||||
"unique": true,
|
||||
"columns": [
|
||||
"createdAt",
|
||||
"id"
|
||||
]
|
||||
"columns": ["createdAt"]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,100 @@
|
||||
{
|
||||
"fields": {
|
||||
"name": {
|
||||
"type": "varchar",
|
||||
"notStorable": true,
|
||||
"select": {
|
||||
"select": "CONCAT:(team.name, ' - ', puls.name)"
|
||||
},
|
||||
"orderBy": {
|
||||
"order": [
|
||||
["team.name", "{direction}"]
|
||||
]
|
||||
}
|
||||
},
|
||||
"puls": {
|
||||
"type": "link",
|
||||
"entity": "CPuls",
|
||||
"required": true,
|
||||
"isCustom": true
|
||||
},
|
||||
"team": {
|
||||
"type": "link",
|
||||
"entity": "Team",
|
||||
"required": true,
|
||||
"isCustom": true
|
||||
},
|
||||
"aktiv": {
|
||||
"type": "bool",
|
||||
"default": true,
|
||||
"isCustom": true,
|
||||
"tooltip": true
|
||||
},
|
||||
"abgeschlossen": {
|
||||
"type": "bool",
|
||||
"default": false,
|
||||
"isCustom": true
|
||||
},
|
||||
"abgeschlossenAm": {
|
||||
"type": "datetime",
|
||||
"readOnly": true,
|
||||
"isCustom": true
|
||||
},
|
||||
"abgeschlossenVon": {
|
||||
"type": "link",
|
||||
"entity": "User",
|
||||
"readOnly": true,
|
||||
"isCustom": true
|
||||
},
|
||||
"prioritaet": {
|
||||
"type": "enum",
|
||||
"options": ["Niedrig", "Normal", "Hoch"],
|
||||
"default": "Normal",
|
||||
"isCustom": true,
|
||||
"style": {
|
||||
"Niedrig": "default",
|
||||
"Normal": "primary",
|
||||
"Hoch": "danger"
|
||||
}
|
||||
},
|
||||
"createdAt": {
|
||||
"type": "datetime",
|
||||
"readOnly": true
|
||||
},
|
||||
"modifiedAt": {
|
||||
"type": "datetime",
|
||||
"readOnly": true
|
||||
}
|
||||
},
|
||||
"links": {
|
||||
"puls": {
|
||||
"type": "belongsTo",
|
||||
"entity": "CPuls",
|
||||
"foreign": "teamZuordnungen"
|
||||
},
|
||||
"team": {
|
||||
"type": "belongsTo",
|
||||
"entity": "Team"
|
||||
},
|
||||
"abgeschlossenVon": {
|
||||
"type": "belongsTo",
|
||||
"entity": "User"
|
||||
}
|
||||
},
|
||||
"collection": {
|
||||
"orderBy": "createdAt",
|
||||
"order": "desc"
|
||||
},
|
||||
"indexes": {
|
||||
"pulsTeam": {
|
||||
"columns": ["pulsId", "teamId"],
|
||||
"unique": true
|
||||
},
|
||||
"aktiv": {
|
||||
"columns": ["aktiv"]
|
||||
},
|
||||
"abgeschlossen": {
|
||||
"columns": ["abgeschlossen"]
|
||||
}
|
||||
}
|
||||
}
|
||||
16
custom/Espo/Custom/Resources/metadata/entityDefs/Team.json
Normal file
16
custom/Espo/Custom/Resources/metadata/entityDefs/Team.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"fields": {
|
||||
"teamKategorie": {
|
||||
"type": "enum",
|
||||
"options": [
|
||||
"Anwalt",
|
||||
"Mandatsbetreuung",
|
||||
"Zwangsvollstreckung",
|
||||
"Sonstiges"
|
||||
],
|
||||
"default": "Sonstiges",
|
||||
"isCustom": true,
|
||||
"tooltip": true
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2,6 +2,23 @@
|
||||
"fields": {
|
||||
"cCallQueues": {
|
||||
"type": "linkOne"
|
||||
},
|
||||
"abwesend": {
|
||||
"type": "bool",
|
||||
"default": false,
|
||||
"isCustom": true,
|
||||
"tooltip": true
|
||||
},
|
||||
"abwesendBis": {
|
||||
"type": "date",
|
||||
"isCustom": true,
|
||||
"tooltip": true
|
||||
},
|
||||
"vertretung": {
|
||||
"type": "link",
|
||||
"entity": "User",
|
||||
"isCustom": true,
|
||||
"tooltip": true
|
||||
}
|
||||
},
|
||||
"links": {
|
||||
@@ -10,6 +27,11 @@
|
||||
"foreign": "user",
|
||||
"entity": "CCallQueues",
|
||||
"isCustom": true
|
||||
},
|
||||
"vertretung": {
|
||||
"type": "belongsTo",
|
||||
"entity": "User",
|
||||
"isCustom": true
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user