Commit graph

38 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
14fa714fe8 feat: Add assignee display and reassignment functionality to activity views
- Implement context-sensitive assignee column display in activity views
- Show assignee column only when viewing specific records (teams, patients, injuries)
- Hide assignee column in general 'My Activities' view (users only see their own activities)
- Add reassignment modal with dropdown to select new treatment professional
- Implement /my/activity/reassign controller route with proper access control
- Add team-based security validation for reassignment operations
- Fix template variable passing issue where show_assignee wasn't reaching activity_list_table
- Add success feedback and proper return URL handling after reassignment
- Maintain context-sensitive activity filtering for optimal user experience
- All tests passing (76 tests, 0 failed, 0 errors)

This enhancement improves team coordination by providing clear visibility of activity
assignments and easy reassignment capabilities while maintaining proper security boundaries.
2025-07-29 15:44:09 -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
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
4baef176fb Merge branch '16.0' into 17.0
Forward port of latest updates.
2024-10-15 08:56:28 -04:00
Marc Durepos
9ed035a938 attempted fix for access rights issues. 2024-09-18 14:18:31 -04:00
Marc Durepos
c9690d46b1 updates for followers 2024-09-05 18:41:51 +00:00
Marc Durepos
9fb7606695 add more tracking to sports.team 2024-06-03 19:16:13 -04:00
Marc Durepos
17b971f410 fix issues with access rules on teams in controller and portal views 2024-04-30 11:32:49 -04:00
Marc Durepos
b0060ad56b bemade_sports_clinic: limit access rights 2024-04-17 16:43:05 -04:00
Marc Durepos
a07c7bcdbd Merge remote-tracking branch 'origin/16.0' into 17.0
also removed useless module (already covered by 17.0):
bemade_open_project_details
2024-03-15 10:45:48 -04:00
Benoît Vézina
0fde311ee9 change manifest version for all 2024-02-28 13:18:13 -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
1ca241fafb [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.
2024-01-08 09:31:39 -05:00
Marc Durepos
e96bcadaed [ENH] bemade_sports_clinic: wrap text on the portal and show HTML.
Allows portal users to see the full diagnosis and notes. Previously,
diagnosis was truncated if it went beyond the bounds of the column.

Also, notes are now shown in HTML instead of HTML escaped to text.
2024-01-08 09:31:39 -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
c950fe3e93 [ENH] bemade_sports_clinic: wrap text on the portal and show HTML.
Allows portal users to see the full diagnosis and notes. Previously,
diagnosis was truncated if it went beyond the bounds of the column.

Also, notes are now shown in HTML instead of HTML escaped to text.
2023-12-11 18:24:45 -05:00
Marc Durepos
4fb327a705 Added migration script to move to 16.0.1.5.0 for sports clinic module. 2023-11-20 15:53:19 -05:00
Marc Durepos
9bd47d8180 Fix for teams not showing up on res_user form. 2023-11-07 11:37:34 -05:00
Marc Durepos
d6c40a456e Completes iteration 4 without translations. 2023-11-06 22:26:30 -05:00
Marc Durepos
59b0e2b099 Version bump and icon update for bemade_sports_clinic. 2023-10-29 16:13:11 -04:00
Marc Durepos
b19e71b0af bemade_sports_clinic iteration 3 complete. 2023-10-29 15:57:42 -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
f6f6ef1ef3 bemade_sports_clinic: Controller created along with basic homepage view to show counts for teams and patients to team staff. 2023-10-17 09:10: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
5113c065ab bemade_sports_clinic: added form view for injuries. Fixed record rule for injuries. 2023-10-16 16:23:18 -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