@startuml
class TaskTemplate
class ReportTemplate
class Folder
class Department
class Permission

package UserRelated {
  class User
  class UserGroup
}
TaskTemplate "*" -- UserRelated: < may start
TaskTemplate -- "*" UserRelated: > may delegated to
UserGroup *- User
UserGroup -- Department: > belongs to
User -- "*" Department: > has access to
UserRelated -- "*" Folder: > has access to
Folder --o Department
Folder *-up- Folder
Permission ..o User
TaskTemplate o.. Permission
TaskTemplate -- Folder: > belongs to
ReportTemplate -- Folder: > belongs to
ReportTemplate *- TaskTemplate
ReportTemplate o. Permission
Permission ..o Folder

@enduml


