Topics – data model and rules
The header level of the event manager: storage of multilingual topics linked to companies, the save and delete rules and the permission keys.
Overview
The header level of the management event manager: a topic linked to one company, with a language-dependent name. The list shows the topics of the permitted companies with an event count.
Data model
Table names carry the installation's own prefix in the database.
| Table | Role |
|---|---|
topic | the topic (company, responsible, sort order, status, creator) |
topic_description | name and description per language |
event | events of the topic (count) |
Process
- Save: the company is required and must be in the caller's content scope (
companyInScope()); a name in at least one language is required. - New topic:
addTopic()(creator = the signed-in user); existing:editTopic(); the action is written to the system log. - Delete: if the topic has events, nothing is deleted (
error_has_events, logged); otherwise physical deletion.
Permissions
listwith the company scope (event/topic::getAllowedCompanyIds);editfor the form,canSave()for saving;delete;debug.- The Company GROUP + Company filter uses the shared company picker (
topic.groupcompanies, permissionlist).
Known limitations
- On deletion the company scope is not checked.
- The
addkey is not classified in the permission catalogue seeds.