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.

TableRole
topicthe topic (company, responsible, sort order, status, creator)
topic_descriptionname and description per language
eventevents of the topic (count)

Process

  1. Save: the company is required and must be in the caller's content scope (companyInScope()); a name in at least one language is required.
  2. New topic: addTopic() (creator = the signed-in user); existing: editTopic(); the action is written to the system log.
  3. Delete: if the topic has events, nothing is deleted (error_has_events, logged); otherwise physical deletion.

Permissions

  • list with the company scope (event/topic::getAllowedCompanyIds); edit for the form, canSave() for saving; delete; debug.
  • The Company GROUP + Company filter uses the shared company picker (topic.groupcompanies, permission list).

Known limitations

  • On deletion the company scope is not checked.
  • The add key is not classified in the permission catalogue seeds.
Related topics: event management permissions