mirror of
https://github.com/DRYTRIX/TimeTracker.git
synced 2026-05-19 12:50:11 -05:00
807e6370ee
Admins can hide whole app modules (Analytics, Finance & Expenses, CRM, etc.) per role so users in that role neither see them in the nav nor access them by URL/API. - Add Role.hidden_module_ids (JSON denylist) and migration - Extend ModuleRegistry.is_enabled() with role-based hide check; module is hidden only if ALL of the user's roles hide it (super admins bypass) - Add Module visibility section to role create/edit form with checkboxes by category; persist via hidden_modules form field - Add tests for registry hide/allow semantics and route decorator 403 Closes #484 Co-authored-by: Cursor <cursoragent@cursor.com>