Commit graph

40 commits

Author SHA1 Message Date
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
1f91c27a44 Added Add Player functionality to portal access for therapists and coaches. 2025-06-22 11:32:53 -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
Denis Durepos
b4eea01a20 Migrated bemade_sports_clinic to 18.0 2025-06-20 14:56:47 -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
4eb7f14505 [FIX] sports_clinic: patient name updates on partner. 2024-09-29 16:18:00 -04:00
Marc Durepos
705c920b4d [FIX] bemade_sports_clinic: add team access to user 2024-09-27 14:33:20 -04:00
Marc Durepos
64db9a1176 fix patient injury rights 2024-09-18 14:35:51 -04: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
e3198168c1 bemade_sports_clinic: add tracking for injury deletion and creation. Update translations. 2024-09-05 14:24:49 -04:00
Marc Durepos
a13d03f777 bemade_sports_clinic: good to go for new version with split notifications (tested with staging) 2024-02-21 15:53:10 -05:00
Marc Durepos
ae385ed1f7 bemade_sports_clinic: split notifcations for internal/external 2024-02-21 15:00:01 -05:00
Marc Durepos
0a2ec5fd8d bemade_sports_clinic: add consent field, translations and general cleanup 2024-02-20 20:06:35 -05:00
Marc Durepos
3e415249d7 [FIX] fix a bug where dates come up to an incorrect default
Timezone differences were causing dates to come up very weirdly on new
patient injury records. They now use the user timezone to convert
datetime.now() appropriately.
2024-01-23 03:03:49 +00:00
Marc Durepos
bcbb3bda1f bemade_sports_clinic: notify team staff of updates
Added two mail.message.subtypes to notify all followers of updates to
patient status and changes to injury fields. Added a post-migration
script to update all existing followers to subscribe to these new
subtypes.
2024-01-13 18:52:37 -05:00
Marc Durepos
47c8f9261c bemade_sports_clinic: simplify model descriptions 2024-01-10 20:08:14 -05:00
Marc Durepos
6ff1bf5706 [ENH] bemade_sports_clinic: Kanban view created to enhance mobile.
Kanban view added for players to improve the experience when browsing on
mobile. Card text color synchronized with what the user expects from the
list view.
2023-12-11 21:30:08 -05:00
Marc Durepos
814841943f Remove migrations file. Fix controller and portal view breadcrumbs. 2023-11-21 06:27:18 -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
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
e1990e6a4f Added default_get to sports.patient to show the active team id when adding a patient. 2023-11-07 12:00:30 -05:00
Marc Durepos
d6c40a456e Completes iteration 4 without translations. 2023-11-06 22:26:30 -05:00
Marc Durepos
33cf931299 bemade_sports_clinic: fix index out of bounds error in patient.py 2023-11-06 19:48:39 -05:00
Marc Durepos
b19e71b0af bemade_sports_clinic iteration 3 complete. 2023-10-29 15:57:42 -04: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
Marc Durepos
ec3b0f4e54 bemade_sports_clinic: fixed error in create method for res_partner. 2023-10-17 14:05:45 -04:00
Marc Durepos
825e6fd651 bemade_sports_clinic: portal prototype is functional. 2023-10-17 10:47:33 -04:00
Marc Durepos
ad0ba3b086 bemade_sports_clinic: added more demo data, fixed some read/write issues in injury model. 2023-10-16 20:32:11 -04:00
Marc Durepos
ada948b41d bemade_sports_clinic: Got rid of the treatment professional type for res_users. 2023-10-16 16:38:47 -04:00
Marc Durepos
5113c065ab bemade_sports_clinic: added form view for injuries. Fixed record rule for injuries. 2023-10-16 16:23:18 -04:00
Marc Durepos
0cc8f07763 bemade_sports_clinic: fixed patient._compute_age function 2023-10-16 15:46:05 -04:00
Marc Durepos
017f95d15f bemade_sports_clinic: fixed an error in the record rules that caused DB admins to be unable to create patients. 2023-10-16 15:31:25 -04:00
Marc Durepos
a37acac519 Added a bunch of stuff for bemade_sports_clinic 2023-10-16 14:29:28 -04:00
Marc Durepos
f0034ac447 bemade_sports_clinic: initial commit. 2023-10-10 21:52:42 -04:00