categories for custom entity types

This commit is contained in:
Yurii
2026-02-24 17:10:45 +02:00
parent 1de9046b3d
commit c392fabc14
17 changed files with 609 additions and 47 deletions
@@ -55,7 +55,8 @@
"assignedUsers": "Multiple Assigned Users",
"collaborators": "Collaborators",
"aclContactLink": "ACL Contact Link",
"aclAccountLink": "ACL Account Link"
"aclAccountLink": "ACL Account Link",
"categories": "Categories"
},
"options": {
"type": {
@@ -98,6 +99,7 @@
"beforeSaveApiScript": "A script called on create and update API requests before an entity is saved. Use for custom validation and duplicate checking."
},
"tooltips": {
"categories": "Enable the category tree feature. Records can be placed into categories.",
"aclContactLink": "The link with Contact to use when applying access control for portal users.",
"aclAccountLink": "The link with Account to use when applying access control for portal users.",
"collaborators": "The ability to share records with specific users.",
@@ -118,5 +120,11 @@
"countDisabled": "Total number won't be displayed on the list view. Can decrease loading time when the DB table is big.",
"fullTextSearch": "Running rebuild is required.",
"linkParamReadOnly": "A read-only link cannot be edited via the *link* and *unlink* API requests. It won't be possible to relate and unrelate records via the relationship panel. It still possible to edit read-only links via link and link-multiple fields."
},
"entityNameParts": {
"Category": "Category"
},
"entityNamePartsPlural": {
"Category": "Categories"
}
}
@@ -521,7 +521,8 @@
"names": "Names",
"types": "Types",
"targetListIsOptedOut": "Is Opted Out (Target List)",
"childList": "Child List"
"childList": "Child List",
"category": "Category"
},
"links": {
"assignedUser": "Assigned User",
@@ -6,11 +6,13 @@
"deleteHookClassNameList": [
"Espo\\Tools\\EntityManager\\Hook\\Hooks\\PlusDeleteHook",
"Espo\\Tools\\EntityManager\\Hook\\Hooks\\EventDeleteHook",
"Espo\\Tools\\EntityManager\\Hook\\Hooks\\DeleteHasChildrenLinks"
"Espo\\Tools\\EntityManager\\Hook\\Hooks\\DeleteHasChildrenLinks",
"Espo\\Tools\\EntityManager\\Hook\\Hooks\\CategoriesDeleteHook"
],
"updateHookClassNameList": [
"Espo\\Tools\\EntityManager\\Hook\\Hooks\\AssignedUsersUpdateHook",
"Espo\\Tools\\EntityManager\\Hook\\Hooks\\CollaboratorsUpdateHook",
"Espo\\Tools\\EntityManager\\Hook\\Hooks\\StreamUpdateHook"
"Espo\\Tools\\EntityManager\\Hook\\Hooks\\StreamUpdateHook",
"Espo\\Tools\\EntityManager\\Hook\\Hooks\\CategoriesUpdateHook"
]
}
@@ -167,6 +167,13 @@
"tooltip": true,
"view": "views/admin/entity-manager/fields/acl-account-link"
}
},
"categories": {
"location": "scopes",
"fieldDefs": {
"type": "bool",
"tooltip": true
}
}
},
"@BasePlus": {
@@ -216,6 +223,13 @@
"tooltip": true,
"view": "views/admin/entity-manager/fields/acl-account-link"
}
},
"categories": {
"location": "scopes",
"fieldDefs": {
"type": "bool",
"tooltip": true
}
}
}
}
@@ -1,7 +1,8 @@
[
"Base",
"BasePlus",
"Event",
"Person",
"Company"
]
"Base",
"BasePlus",
"Event",
"Person",
"Company",
"CategoryTree"
]
@@ -18,5 +18,10 @@
"Person": {
"entityClassName": "Espo\\Core\\Templates\\Entities\\Person",
"repositoryClassName": "Espo\\Core\\Templates\\Repositories\\Person"
},
"CategoryTree": {
"entityClassName": "Espo\\Core\\Templates\\Entities\\CategoryTree",
"repositoryClassName": "Espo\\Core\\Templates\\Repositories\\CategoryTree",
"isNotCreatable": true
}
}