Commit graph

5 commits

Author SHA1 Message Date
Denis Durepos
53a027c87c feat: Production readiness sanitization and access control refactoring
- Remove all debug logging and statements for production deployment
- Convert operational logging from info to debug level where appropriate
- Clean up debug test files and commented code
- Refactor access control helpers into centralized AccessControlMixin
- Consolidate duplicated access control methods across controllers
- Enforce team-based access control for all portal users
- Fix access control logic to match expected security behavior
- Move TODO.md to notes/ directory for better organization
- All 76 tests passing with proper security enforcement

Production ready: Clean codebase with centralized access control and no debug noise
2025-07-31 14:55:18 -04:00
Denis Durepos
fae0d98637 Fix treatment professional portal access and group assignment
- Add patient address management in portal UI for therapists/coaches
- Fix treatment professional selection dropdown in injury detail forms
- Implement automatic group assignment when portal access is granted
- Add create() and write() overrides in res.users to detect portal access
- Expand treatment professional roles to include doctors
- Add comprehensive debugging for portal access workflow
- Update portal UI buttons to use Odoo company colors
- Add ACLs for snailmail.letter and res.users access for portal groups

Resolves issues with treatment professionals not appearing in portal
dropdowns after being granted portal access. Now works for all roles:
doctors, therapists, and head therapists.
2025-07-27 20:20:23 -04:00
Denis Durepos
82266644ca Portal UI enhancements: injury form improvements, coach ACL fixes, and color scheme updates
- Updated injury form fields and layout for portal consistency
- Removed team field from portal injury forms and made debug-only in internal views
- Fixed injury list color scheme (unverified=yellow, active=red) and added clickable links for treatment professionals
- Added comprehensive ACL permissions for coaches: res.partner, sports.patient.injury, mail.followers, mail.template
- Added record rule for coaches to access partner records
- Improved patient injury table in portal: role-based column visibility and navigation
- Enhanced status field color coding with Bootstrap text classes
- Added save/cancel buttons at top and bottom of edit forms
- Moved external notes field to end of injury detail form for better workflow
2025-07-27 15:08:08 -04:00
Denis Durepos
c0834eb327 [REF] bemade_sports_clinic: Remove injury models and simplify data model
- Removed models/injury_models.py and all its references
- Converted relational fields to character fields:
  - body_location_id → body_location
  - injury_type_id → injury_type
- Updated portal templates to use text inputs instead of dropdowns
- Updated controller code to process the new field formats
- Removed related access rights from security CSV
- Modified test files to accommodate the new structure

This refactoring simplifies the data model by removing unnecessary
classifications that were adding complexity without significant benefit.
The direct text fields maintain the same functionality while reducing
the database overhead and simplifying the UI.
2025-07-16 11:37:50 -04:00
Denis Durepos
ca57ec8f16 [IMP] bemade_sports_clinic: Refactor portal views and enhance treatment notes
- Refactor portal templates to eliminate intra-module template inheritance
- Integrate emergency contacts section into player injuries template
- Add full internal admin views for treatment notes with chatter support
- Fix ORM warning in test_rights by using proper ORM commands
- Update manifest to reflect new functionality (v18.0.1.9.0)

This refactoring improves template stability by removing XPath errors and
provides treatment professionals with better access to emergency contacts
and treatment notes both in portal and backend interfaces.
2025-07-11 21:47:50 -04:00