ems.workgroupems.workgroup is a simple free-form grouping of employees (teachers, providers, ASP) — e.g. a project team or a cross-department committee, with no built-in behaviour beyond membership. No computed fields, no constraints, no business logic.
Module file: models/employees/workgroup.py
| Field | Type | Required | Stored | Description |
|---|---|---|---|---|
name |
Char |
Yes | Yes | Workgroup name |
employee_ids |
Many2many → hr.employee.public |
No | Yes | Members, domain-restricted to employee_type = 'teacher' |
notes |
Text |
No | Yes | Free-form administrative notes |
Uses hr.employee.public (not the full hr.employee) for employee_ids — the lighter, read-mostly model, appropriate here since membership doesn’t need full HR field access.
Standard CRUD via its own menu — no custom create()/write()/unlink() overrides, no constraints.
flowchart TD
A([Admin user]) --> B[Community → Config → Teachers → Workgroups]
B --> C[Click New]
C --> D[Fill name; add members in the Assigned to tab]
D --> E[Save]
E --> F[(INSERT/UPDATE INTO ems_workgroup)]
Defined in security/ir.model.access.csv (lines 107–109).
| Role | Create | Read | Write | Delete | Group XML ID |
|---|---|---|---|---|---|
| Administrator | ✓ | ✓ | ✓ | ✓ | ems.group_academic_admin |
| Teacher | — | ✓ | — | — | ems.group_teacher |
| Secretary | — | ✓ | — | — | ems.group_secretary |
No record-level rules exist for this model.
| View | File | Notes |
|---|---|---|
| List | views/community/workgroup/list.xml |
— |
| Form | views/community/workgroup/form.xml |
Main data group; “Assigned to” (kanban-mode employee_ids) / Notes tabs |
| Action + Menu | views/community/workgroup/menu.xml |
action_workgroup_tree, under Community → Configuration → Teachers (sequence 2) |
No other model references ems.workgroup — it is a leaf, standalone grouping tool.