Wednesday, June 18, 2025
3 changes · saas-18.1
Resolved issues and error corrections
Moving a job application to the empty or unassigned stage no longer creates an extra stage named "None" after refresh. This keeps recruitment boards cleaner and avoids confusion from duplicate placeholder stages.
Original PR description
In this PR, we fixed the creation of a new None stage each time when we move an application to the existing None stage (stage_id = false). ## Description of the issue/feature this PR addresses: In…
In this PR, we fixed the creation of a new None stage each time when we move an application to the existing None stage (stage_id = false).
## Description of the issue/feature this PR addresses:
In the Kanban view of the application dashboard, when a user moves an application to the "None" stage (which corresponds to stage_id = False) and refreshes the page, a new stage labeled "None" is incorrectly created.
The issue arose from the way we were updating the many2one field for stage_id. Specifically, we were setting the value as:
`{ id: false, display_name: "None" }`
This object was interpreted by the model layer as an instruction to create a new related record (i.e., a new stage) with the name "None", which is unintended.
## Fix:
We adjusted the logic so that if the targetGroup.value is falsy (i.e., null, undefined, or false), we now explicitly pass false instead of constructing an object. This correctly unsets the many2one field without triggering record creation.
This ensures:
- If a valid stage is selected, we pass the appropriate { id, display_name } object.
- If "None" is selected, we pass false to unset the stage_id, avoiding the creation of a phantom stage.
Current behavior before PR:

Desired behavior after PR is merged:

Task: 4873853
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prThis fix makes live chat and discussion channel creation use a single consistent timestamp, preventing chats from being incorrectly treated as pinned when systems are slow. It also tidies related partner handling so the process is more dependable behind the scenes.
Original PR description
runbot-112917 runbot-112998 `unpin_dt` was using `now()` inside the function and `last_interest_dt` was using `now()` (-1 sec) from its default value. When there was more than one sec between the two calls due to slow CPU or slow query, the channel would be considered pinned even though it was supposted to not be. This commit ensures the same `now()` is used in both cases. The opportunity is taken to clean the method a bit: - ensure the provided ids are existing partners - internally, use recordset of partners rather than ids - use `self_member_id` rather than extra manual search
This fixes an automated Shop Floor workflow test by removing an unnecessary pause step. The change helps keep manufacturing work order checks reliable without changing day-to-day user functionality.
Original PR description
remove pause from step in tour_shopfloor refer to this commit : https://github.com/odoo/enterprise/commit/73c8690df52dd42fdf34f3a7fea6e2c06ff987e6