Commit graph

30 commits

Author SHA1 Message Date
Denis Durepos
fd1751b058 Fixed portal_team_coach group attribution. 2025-08-10 13:50:38 -04:00
Denis Durepos
7f3b330ca9 Fixed phone number formatting and disappearance glitch on sports_team_staff. 2025-08-10 07:59:42 -04:00
Denis Durepos
f5911f0767 Fix portal activity modal dismiss buttons and XML syntax errors
- Replace unreliable data-dismiss='modal' with direct JavaScript closeModal() calls
- Add robust closeModal() function with Bootstrap detection and DOM fallback
- Fix Complete, Reschedule, and Cancel modal dismiss button functionality
- Wrap JavaScript in CDATA section to resolve XML parsing errors with unescaped ampersands
- Add copyFeedbackToHidden() and copyDateToHidden() functions for proper form data transfer
- Ensure all modal action buttons work consistently across portal UI

All portal activity modal interactions now functional with console logging for debugging.
2025-07-27 21:32:10 -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
a6742c16b0 fix(portal): Resolve injury creation security violations and improve UI consistency
- Fix has_group() security violations by using request.env.user.has_group() in controllers
- Add mail.compose.message ACL permissions for portal users to enable injury creation
- Fix foreign key constraint violation in treatment note creation by passing correct patient parameter
- Update portal field labels and values to match internal views (match_status, practice_status, stage)
- Change "Medical Notes" to "Team Notes" and convert from HTML to plain text rendering
- Fix allergies field clearing logic to allow empty string updates
- Improve badge text readability with proper color contrast across all portal views
- Remove redundant external link icons from injury count displays

Resolves portal injury creation 403 errors and ensures consistent terminology
between portal and backend interfaces.
2025-07-26 20:11:22 -04:00
Denis Durepos
6cfb9551b0 feat: Implement comprehensive ACL and RPC security fixes
- Fix ACL test assumptions about browse() behavior
  * Update tests to check field-level access instead of browse().exists()
  * Correct test methodology for AccessError validation

- Implement buddy method pattern for RPC security
  * Refactor all sudo()/api.model methods to use public/private pattern
  * Public methods perform access checks, private methods contain privileged ops
  * Prevents RPC privilege escalation vulnerabilities

- Enhanced security architecture
  * Add comprehensive mail activity portal access rules
  * Strengthen partner access controls
  * Update controller method references to use secure public methods

- Test suite improvements
  * Add extensive mail activity portal access tests
  * Update player removal tests to use public method interfaces
  * Improve test coverage for security scenarios

- Security best practices enforcement
  * All privileged operations now encapsulated in private methods
  * Clear separation between public API and internal operations
  * Maintains functionality while securing RPC access

Resolves RPC security vulnerabilities and establishes proper ACL enforcement patterns.
2025-07-22 21:07:51 -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
Denis Durepos
c60ffd5bfa Created portal views for therapists and Report Injury functionality for portal users (coaches and therapists). 2025-06-21 21:24:50 -04:00
Marc Durepos
4b2b53caa7 Revert "Clean up repository for apps.odoo.com sharing: Remove non-18.0 addons and document them in README.md"
Addons were butchered by this commit.

This reverts commit b33f25c688.
2025-05-29 21:35:47 -04:00
Marc Durepos
b33f25c688 Clean up repository for apps.odoo.com sharing: Remove non-18.0 addons and document them in README.md 2025-05-06 09:04:12 -04:00
Marc Durepos
671555dcc8 [FIX] sports_clinic: removing access unlinks teams 2024-09-29 16:32:27 -04:00
Marc Durepos
2c4e197c2b fix for call to no longer existing function on creation of sports team 2024-09-29 15:49:52 -04:00
Marc Durepos
1ab1d00cab fix sudo issues around patient follower updating 2024-09-18 14:38:34 -04:00
Marc Durepos
64db9a1176 fix patient injury rights 2024-09-18 14:35:51 -04:00
Marc Durepos
9ed035a938 attempted fix for access rights issues. 2024-09-18 14:18:31 -04:00
Marc Durepos
75e986a4a2 bemade_sport_clinic: improve facility for deactivating team staff 2024-09-05 18:41:51 +00:00
Marc Durepos
eda7f32c7a added tests and fixed code for patient and injury follower logic 2024-09-05 18:41:42 +00:00
Marc Durepos
03227bb5f4 add logic for computing followers when team staff changes 2024-09-05 18:39:35 +00:00
Marc Durepos
9fb7606695 add more tracking to sports.team 2024-06-03 19:16:13 -04:00
Marc Durepos
b0060ad56b bemade_sports_clinic: limit access rights 2024-04-17 16:43:05 -04:00
Marc Durepos
47c8f9261c bemade_sports_clinic: simplify model descriptions 2024-01-10 20:08:14 -05:00
Marc Durepos
032cc46666 Iteration 5 for sports clinic management.
- Team staff phone field replaced by mobile field
  - Doctor added to team staff options
  - Trainer replaced by therapist in team staff nomenclature
  - N/A option and onchange behaviour for injury date
  - Patient contact info added on the form view (linked to partner)
  - Allergies field added to patient record
  - Notes added to team information section of patient record
  - Fixed next page button on portal (controller routes update)
2023-11-19 21:07:16 -05:00
Marc Durepos
0b9e462831 Fix error reading access_token for non-admins. 2023-11-08 16:57:14 -05:00
Marc Durepos
7cd32e2b93 More changes for iteration 4:
- Change phone to mobile for team staff
 - Add Doctor to roles selection for team staff
 - Replace "Trainer" by "Therapist" everywhere
2023-11-08 08:33:04 -05:00
Marc Durepos
9ac9aad551
Correct incorrect related field in sports.team.staff 2023-11-07 20:42:39 -05:00
Marc Durepos
d6c40a456e Completes iteration 4 without translations. 2023-11-06 22:26:30 -05:00
Marc Durepos
1a287d1452 bemade_sports_clinic iteration 3 progress on fields and views. 2023-10-28 17:20:22 -04:00
Marc Durepos
93a82074df bemade_sports_clinic: second iteration complete. 2023-10-22 15:37:47 -04:00
Marc Durepos
d92c124f50 bemade_sports_clinic: Lots of work on models and views for second iteration. 2023-10-21 21:32:35 -04:00