You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(spp_session_tracking): harden security, views, and test coverage
- Fix ACL allowing session users to write own facilitated sessions
- Add co-facilitator write access and multi-company record rules
- Add attendance record rules scoped to facilitated sessions
- Add state transition guards, write() override, and time validation
- Add ondelete=restrict on session_type_id, facilitator_id, company_id
- Fix N+1 query in _compute_counts using read_group
- Remove PII from log messages (log rec.id only)
- Rename required_attendance_pct to required_attendance_percentage
- Restructure form with oe_title, button_box, ribbons, named groups
- Add graph, pivot views; improve list, kanban, calendar, search views
- Fix spp_case_session button_box XPath to use hasclass()
- Add 63 tests (security, constraints, coverage) for 95%+ coverage
- Update DESCRIPTION.md to reflect security and view changes
|`spp_session_tracking.group_session_user`| Read all sessions and session types/topics; write own facilitated sessions; read/write/create attendance (no delete) |
45
+
|`spp_session_tracking.group_session_user`| Read all sessions and session types/topics; create/write own facilitated or co-facilitated sessions; read/write/create attendance for own sessions (no delete) |
46
46
|`spp_session_tracking.group_session_manager`| Full CRUD on all sessions, types, topics, and attendance |
47
47
48
-
The session user group can view all sessions but only edit sessions they facilitate (via record rule). The `spp_security.group_spp_admin` group implies manager access.
48
+
The session user group can view all sessions but only edit sessions where they are the facilitator or co-facilitator (via record rules). Session creation requires manager access. The `spp_security.group_spp_admin` group implies manager access. Multi-company record rules ensure users only see sessions belonging to their company.
0 commit comments