[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.
1. Site contacts and work order contacts now get set on create and write
of all FSM project tasks. If the task has no parent_id, it will try
to set them from the sale order if it has one. Otherwise, they are
simply inherited from the parent.
2. Changing the site or work order contact on a task no longer feeds
back to the sale order.
3. Changing the site or work order contacts on a parent task propagates
the change to its subtasks.
Fixes a problem where the propagate assignment checkbox on project
tasks was not effectively propagating task assignment to descendants.
Also added some intelligence around checking / unchecking the box such
that the setting change propagates to children. This allows for
interesting configurations for assignment propagation, such as limiting
propagation only to one level or only starting it at a given level of
subtasks.
- Got rid of planned_date_begin and planned_date_end fields. Commented
out all related code for now. These were fields pending actual
feature development anyway.
- Added a product cateogory with income account and expense account to
the _generate_product common test method. This fixes an error where
Odoo complained about needing a due date for lines with account type
= 'asset_receivable'.
- Rewrote and refactored Task.action_fsm_validate to have it match with
code from industry_fsm in 16.0.
NOTE: This change depends on code pushed in:
- sale_workflow [16.0 ba7402471]
- odoo_addons [16.0 766cd78]
- PurchasedAddons [16.0 e5e9b7b]