[MIG] bemade_fsm to 18.0
Aside from fixing standard 17.0..18.0 stuff and fixing XML ID
references:
1. **Remove `_get_closed_stage_by_project()`**: This method is
obsolete - it was copied from base FSM but no longer exists in
18.0. Base system now uses `is_closed` field.
2. **Implement State Propagation**: Enhance the `write()` method
to propagate done/cancelled states to child tasks using `is_closed` field logic.
3. **Test Task Creation**: Thoroughly test the custom task creation logic
against base 18.0
All 56 tests are passing.
Squashed commit of the following:
commit 5adce1fd15
Author: Marc Durepos <marc@bemade.org>
Date: Thu Sep 4 12:33:00 2025 -0400
[MIG] 17.0..18.0 account_credit_hold
Migrated module account_credit_hold from 17.0 to 18.0. Fixed views and
models and wrote test cases to check functionality.
commit 91c52af6f4
Author: Marc Durepos <marc@bemade.org>
Date: Thu Sep 4 11:38:37 2025 -0400
Initial migration of account_credit_hold for testing in 18.0
- Add wizard models: team_role_mass_assign_wizard.py (wizard + line)
- Register in models/__init__.py
- Add views/team_role_mass_assign_wizard_views.xml
- Update res_users_views.xml to expose the wizard (button/action)
- Define ACLs for wizard and lines in security/ir.model.access.csv
- Update __manifest__.py to load new security and views
- Stack action buttons onto a second line in list/detail views\n- Remove redundant team/venue under event title (retained in details card)\n- Minor styling/consistency tweaks
- Add DOB validation (not in future, not >120y) in controllers:\n - controllers/team_management_portal.py: portal_create_player_full, portal_add_player_submit\n - controllers/player_management_portal.py: create_player_submit, edit_player_submit\n- Preserve form inputs and display clear error messages on invalid DOB\n- Add dateutil.relativedelta import for date range checks\n- Minor template/context tweaks for consistent error rendering
- Convert from table to Bootstrap card grid in for better long name visibility and mobile UX
- Preserve fields: team name, parent org, player/injured counts, therapist-only activity count; keep pagination; no sorting/grouping changes
- Events portal templates: set therapist initials badge to #783E88; leave event type badges unchanged
- Add portal static assets scaffolding under and update manifest accordingly
- Minor template cleanups; no functional changes beyond layout/styling
Added a new module for setting the vendor on manual replenishments that
are created by the system. This permits buyers using the Replenishment
interface (stock.orderpoint list view) to more easily order items as
they can group by vendor when working to set up purchase orders.
- Add 'account' to depends to ensure invoice portal templates are present
- Hide invoice cards for coaches/therapists via override of account.portal_my_home_invoice
- Events portal: create/edit templates and controller adjustments for therapist workflow
- Minor portal home styling and visibility tweaks for clinic roles