9c0e8d5059cc6bb5a7d540ce4a29c6bc76669ab7
The refactor of the kanban quick create implemented in https://github.com/odoo/odoo/pull/117449 introduced a traceback when creating a task from the My Tasks kanban view due to the presence of 'default_personal_stage_type_ids' key in the context. This commit fix that by removing this key from the context in the customization of the kanban view for project.task model. It also add a js tour test to ensure that personal tasks can be created from the quick create form in the My Tasks kanban view. Steps ===== - Install module project - Go to the view "Tasks -> My Tasks" - In the main Kanban View click on "New" - Enter a Task title and clicl on "ADD" Issue ===== A traceback appears indicating that the value of the field user_id is missing for the model project.task.stage.personal and the task is not created. Cause ===== In kanban and list views, when the records a grouped by a given field, a key is added in the context when creating a record from one of the resulting categories. This key is of the form: `default_fieldGroupedBy: current_category_value` In the case of the view My Tasks, the records are grouped by their fields personal_stage_type_ids (M2M). Therefore, the key default_personal_stage_type_ids will results in a write in that M2M table when creating the record. But the way personal stages are managed in project is as confusing as it is mindblowing and the M2M table storing the relation between task and personal stages is also the table that store records from the model project.task.stage.personal. And this model also as a field user_id that is required. Therefore at creation of the project.task record with that key, the orm will miss a user_id for the newly created project.task.stage.personal. Fix === The correct way to add/modify a record project.task by setting its personal stage is actually to use the already existing methods of project.task, i.e. _inverse_personal_stage_type_id. Therfore, instead of modifying directly the M2M relation, update the computed M2O field and let the inverse method to the job of personal stage assignment. To do that, the value contained in the context for the M2M relation is copied in the write value of the M2O (personal_stage_type_id) and the key in the context corresponding to the M2M relation is deleted. task-3281005 closes odoo/odoo#119055 Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
…
…
Odoo
Odoo is a suite of web based open source business apps.
The main Odoo Apps include an Open Source CRM, Website Builder, eCommerce, Warehouse Management, Project Management, Billing & Accounting, Point of Sale, Human Resources, Marketing, Manufacturing, ...
Odoo Apps can be used as stand-alone applications, but they also integrate seamlessly so you get a full-featured Open Source ERP when you install several Apps.
Getting started with Odoo
For a standard installation please follow the Setup instructions from the documentation.
To learn the software, we recommend the Odoo eLearning, or Scale-up, the business game. Developers can start with the developer tutorials
Languages
Python
49.6%
JavaScript
47.8%
SCSS
2%
CSS
0.3%
HTML
0.2%