Daily updates from Odoo
Thursday, February 20, 2020
15 changes · master
Enhancements to existing features
Recruitment applications now keep a history of changes to important fields such as job, department, company, salary expectations, proposed salary, and availability. This improves visibility for HR teams by making it easier to understand how an applicant record evolved over time.
Original PR description
Track following fields:
- job_id
- department_id
- company_id
- salary_proposed
- salary_expected
- availability
TaskID: 2195796
Description of the issue/feature this PR addresses:
Current behavior before PR:
Desired behavior after PR is merged:
--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prThis update clarifies company-related labels in the Time Off module for multi-company setups. It reduces confusion by distinguishing the company grouping mode from the employee's actual company, without changing the underlying business behavior.
Original PR description
Task:https://www.odoo.com/web#id=2168320&action=327&model=project.task&view_type=form&menu_id=4720 Pad: https://pad.odoo.com/p/r.2b35e4880768ecb612ff9358ad6ad378 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Vehicle and vehicle model images are now locked to the image of the selected brand. This keeps fleet records visually consistent and prevents users from accidentally changing the manufacturer image from individual vehicle or model records.
Original PR description
Pad: https://pad.odoo.com/p/r.5e29408190f61e7f835844fb16da9ee6 Task: https://www.odoo.com/web?#id=2168922&action=327&model=project.task&view_type=form&menu_id=4720
The Time Off dashboard now displays expiration dates for leave allocations, helping employees and managers see when available time off must be used. This makes planning easier and reduces the risk of unused days expiring unnoticed.
Original PR description
taskID: 2166745 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
When a future driver is applied to a fleet vehicle, the previous driver's history record now receives an end date matching the new driver's start date. This keeps vehicle assignment history complete and avoids unclear or overlapping driver records.
Original PR description
Purpose ======= If you set a future driver and click on "apply change", a new assignation log is automatically created for the new driver. But the end date of the former assignation isn't populate. Specifications ============== Set the date "end date" for the former driver with the "start date" of the new driver. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Odoo now warns developers when selection settings are defined on related fields where they have no effect. Several existing field definitions were corrected, reducing hidden configuration mistakes across business apps without changing day-to-day user workflows.
Original PR description
When a field is related, defining a selection or selection_add will have no effect and the paramater is ignored. Log a warning and fix all fields badly definied Closes odoo/odoo#45716
Internal compatibility warnings are now shown only when debug mode is enabled. This reduces unnecessary noise during normal use while keeping diagnostic information available for troubleshooting.
Original PR description
Before this commit ComponentAdapter warned on every update and render. This can make a lot of noises when we use some adpaters. After this commit ComponentAdapter will warn only in debug mode.
This update improves performance when assigning sales teams and creating products by avoiding unnecessary database work and reusing default values more efficiently. It also protects the main product category from deletion, reducing the risk of setup issues.
Original PR description
-- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Survey pages now show only the survey content, without the website header, footer, or live chat button. This creates a simpler experience for respondents and helps keep their attention on completing the survey.
Original PR description
Purpose ======= Lighten the survey layout. It should be free of website footer and header. Also, livechat button should not appear on survey pages. Specifications =========== Survey Layout inherits…
Purpose ======= Lighten the survey layout. It should be free of website footer and header. Also, livechat button should not appear on survey pages. Specifications =========== Survey Layout inherits from web.frontend_layout, mainly to be able to use all the styles rules defined in it and keep consistency between other frontend pages and survey. Instead of inheriting another layout, this PR sets no_footer and no_header to True for all survey layout. The idea is to show only the survey itself without having other web/website object in the layout. Also, to avoid having the livechat button displayed on survey layout, 'no_livechat' template variable has been introduced. The livechat button will be displayed on all layout inheriting from frontend_layout (that is extended in website_livechat to add that livechat button) only if 'no_livechat' is False. By default, this variable is not set so will be considered as False. In survey layout, no_livechat is set to True. Links ===== Task ID: 2195185
This update gives Odoo's web interface more flexibility in how it reacts to user actions such as clicks. It helps developers fine-tune interaction behavior without changing the user experience directly.
Original PR description
Helpful if for example one wants to trigger the capture phase of the event
processing.
e.g.
`useListener('click', 'button', this.onClick, { capture: true })`
--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prWebsite menus are now loaded together instead of one section at a time, reducing unnecessary database work and improving page loading efficiency. The main menu can also be reordered more easily using its configured sequence, without workarounds based on internal IDs.
Original PR description
Before this commit, the menus would be prefetched per sub-menu, leading to many queries when fetching each of them. This reduces the number of queries on `/` after just `website` install from 40 to 34. Moreover the Main Menu was computed based on id, now it uses the default order which is sequence first, then id. This allows to change the Main Menu without having to delete/create menus to manipulate the ids. Part of task-2061122
Planning users no longer see Edit or Delete buttons in calendar popovers. This helps keep schedule changes limited to the appropriate roles and reduces the risk of accidental updates.
Original PR description
This commit aims at removing the buttons "Edit" / "Delete" in the calendar popover for Planning Users. TaskID: 2181530
Social posts and comments now turn hashtags, web links, and supported @mentions into clickable links in previews and views. Hashtag links now open on the correct social network, improving accuracy for users managing content across Facebook, Twitter, and LinkedIn.
Original PR description
Done ==== 1. In post preview, highlight URL and #hashtag 2. #hashtag now depends on the media (#hashtag on Facebook redirects to Facebook, before it was redirecting always to Twitter) 3. highlight…
Done
====
1. In post preview, highlight URL and #hashtag
2. #hashtag now depends on the media
(#hashtag on Facebook redirects to Facebook,
before it was redirecting always to Twitter)
3. highlight @tag (Twitter only)
How
===
Rename ``SocialStreamPostFormatterMixin`` to ``SocialPostFormatterMixin``
(because we use it in post preview, comment view, kanban view...)
Add ``SocialEmojisMixin`` into ``SocialPostFormatterMixin``, so the code is cleaner
Add the attribute ``media_type`` on ``SocialPostFormatterMixin``
this attribute is used to determine the URLs we need to use to build anchors
Impacted widgets:
- social_post_preview
- social_kanban_field_stream_post
- social_post_kanban_comments
Facebook case
=============
API
---
The Facebook API returns the position and the length of the tag.
If there is "@tag" in the post, it doesn't means that's a tag... Maybe it's raw text.
We must care about this to parse tag in the message.
How
---
1. Modify posts and comments API calls to get the tags information in the message
2. Replace "simple tag text" by ``@text``
3. Let the widget handle the text rendering
Task #2088851This update standardizes internal accounting field names across invoices, assets, follow-ups, bank reconciliation, inter-company rules, intrastat, and invoice extraction. It improves consistency and maintainability for future accounting changes without changing report data structures or expected business workflows.
Original PR description
Rename field 'type' to 'move_type' in a model account.move Rename field 'tag_ids' to 'tax_tag_ids' in module account.move.line
Marketing automation campaigns now better separate email and SMS follow-up steps, reducing the risk of invalid customer journeys. The update adds checks that prevent users from linking incompatible activities, making campaigns easier to configure correctly and maintain.
Original PR description
PURPOSE Improve activities chaining in marketing automation, notably chain of mail or SMS based activities. Add coherency checks to avoid defining badly configured campaigns. SPECIFCIATIONS Rename the trigger type value "act" to "activity" to ease code reading. Add SMS-based ``trigger_type`` values. In order to distinguish SMS based activities from mail based activities we introduce 3 new values for the trigger type of marketing activities : * sms_click * sms_not_click * sms_bounce Clean ``HierarchyKanbanRenderer`` Clean constraints and check activities consistency. Notably SMS activities should be limited to SMS parents, same for email activities. LINKS Task ID 2088158 Enterprise Pr odoo/enterprise#6583 Upgrade PR odoo/upgrade#762