- Replace nested remove form with a submit button using HTML5 formaction to post directly to /my/team/{team_id}/player/{player_id}/remove
- Prevent outer save form from intercepting submission; preserves CSRF; confirmation retained; redirects to team page
- Replace user_has_group helper with request.env.user.has_group in QWeb to prevent NoneType callable errors
Verification:
- Edit Player page renders without 500 error
- Clicking Remove removes the player and returns 303 redirect to /my/team/{team_id}
- Success notification displayed on team page
Notes:
- Removal route already implemented in controller (TeamManagementPortal.portal_remove_player)
- Added integrated mail.activity system for task management
- Implemented portal access to activities for treatment professionals
- Added activity creation, completion, and reassignment functionality
- Enhanced player management with Canadian address validation
- Improved injury tracking with parental consent and document attachments
- Implemented layered security architecture (ACL + Record Rules + Controller filtering)
- Added French Canadian (fr_CA) localization support
- Enhanced portal UI with activity counts and navigation
- Implemented RPC security protection with buddy method pattern
- Added comprehensive demo data and integration features
- Updated manifest to reflect all new capabilities and improvements
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.
- 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)