Tuesday, July 13, 2021
42 changes · master
New functionality added to Odoo
A new project mail plugin lets users view customer-related tasks from their mailbox, log emails directly on existing tasks, and create new tasks from email content. This helps teams keep customer conversations and project work connected in one place.
Original PR description
…ugin Add support for tasks for the mail plugins via the new project_mail_plugin module. The new module provides the following new features: Enables the user to see tasks related to the selected…
…ugin Add support for tasks for the mail plugins via the new project_mail_plugin module. The new module provides the following new features: Enables the user to see tasks related to the selected contact, tasks where the contact is the customer Enables the user to log an email directly to a task as this can be useful when the user finds important information in the email Enable the user to create a task with the email message being directly set in the description field, as the user would probable want the email message to be included in the created task, this is done through the "create_task" method, which the plugins will use in order to create the task and send the related information, the plugin would then directly redirect the user to the task form view realted to the created record in edit mode. Purpose is to allow users to connect their tasks to their mailbox. Which allows for example to create a task from an email received,centralize data regarding a customer on its task, check ongoing tasks for a customer, ...etc Task-2518640 UPG-PR: odoo/upgrade#2488 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Enhancements to existing features
The stock putaway rules screen has been reorganized to make setup clearer and faster. Default locations are filled in more intelligently, related location fields stay aligned when changed, and less-used location details are moved behind a smart button to reduce clutter.
Original PR description
1. When creating a putway rule, default location_in_id is receipt destination location (in case of single warehouse). 2. When changing location_in_id, copy value to location_out_id. 3. Allow to hide some fields and change of some labels. 4. Move location tab to a smart button. 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
Resolved issues and error corrections
Several country-specific accounting localizations were corrected so tax groups and related test data align with new mandatory requirements. This helps prevent test failures and improves reliability of localized accounting configurations without changing day-to-day user workflows.
Features or functions removed from Odoo
This change removes the recently added feature that linked blog posts with related products through a carousel. Businesses can still achieve similar merchandising using existing dynamic website snippets, product categories, or community modules, avoiding extra built-in complexity.
Original PR description
This reverts commit c5c62908be621f40101e0b405375907b657ca6ee and the feature. You can hack odoo with dynamic filter to make something similar. (string matching, or ugly categ hack)
Miscellaneous changes
Before this commit, Non admin user was not allowed to Replenish product with `Buy` route as access to `ir.config_parameter` is allowed to Admin users only. With this commit, we are passing `sudo()` to get `purchase_stock.delta_days_merge` from `ir.config_parameter`. Fixes #73400 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.
Original PR description
Before this commit, Non admin user was not allowed to Replenish product with `Buy` route as access to `ir.config_parameter` is allowed to Admin users only. With this commit, we are passing `sudo()` to get `purchase_stock.delta_days_merge` from `ir.config_parameter`. Fixes #73400 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 Forward-Port-Of: odoo/odoo#73528
The website editor color picker now separates theme and custom colors into clearer tabs, helping users find the right color options faster while saving screen space. It also improves how selected, common, custom, and transparent colors behave during editing, making color choices more intuitive.
Original PR description
In order to save space & gain clarity, the color picker is now displaying two separate tabs : "theme" and "custom". It is still possible to display the combinations tab instead of the theme to update buttons and backgrounds. task-2476601 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Warehouse teams can now delete picking batches unless they are already completed. Cancelling a batch also frees its assigned pickings, making them easier to reassign in the barcode app.
Original PR description
This commit loosens 2 things: 1. A batch can now be deleted for all statuses except 'done' 2. Cancelled batches will now remove links to any pickings assigned to it (so they can be more easily reassigned in barcode app) Task: 2486993 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Manufacturing orders with no components can now be cancelled even when they are ready to close, avoiding unnecessary blockage. Work orders now show clearer readiness status based on component availability, helping teams see what can start while still allowing work to proceed when needed.
Reversing an accounting entry now ensures the new reversal can only be posted in a journal of the same type as the original entry. This improves accounting data consistency and helps prevent posting errors across sales, purchases, and stock-related accounting flows.
Original PR description
For data quality purposes and bug prevention, when I reverse an entry, the reversal should always be postable on a journal having the same type as the initial Journal Entry's journal. Task: 2497529 Enterprise PR: https://github.com/odoo/enterprise/pull/19543
This update adds a name field to survey question answer elements so they can be identified and accessed more easily. It supports smoother customization or integration work around surveys without changing the survey experience for end users.
Original PR description
Add name to the div tag in order to easily access it task - 2528209
The command palette has a refreshed design and smoother keyboard navigation, making it easier for users to find and run actions quickly. It also improves hotkey behavior and fixes a Firefox-specific issue that could accidentally show the browser menu.
Original PR description
The purpose of this commit is to: - Improve the design of the command palette - Add some data-command-category - Scrolling through the command palette dropdown with the up/down arrows should loop Task-2590390 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
Message author names now use the standard text color instead of a stronger heading color. This makes conversations better aligned with the updated web client design and reduces unnecessary visual emphasis.
Original PR description
Following design update with new web client, the heading color is too strong to be kept on author. The default color now does just fine actually.
This update removes an unused styling marker from the Mail app's message display code. It helps keep the interface code simpler and easier to maintain, with no expected change to users' day-to-day experience.
Messaging views now use the conversation display name rather than the underlying technical name. This helps users see the expected chat or direct message name, reducing confusion when custom or contact-based names differ.
Original PR description
More often than not these 2 fields have the same value, but when they are different it is `displayName` that holds the expected value (eg. for a DM, `displayName` would be the custom name or the name of the correspondent). This commit updates them to avoid confusion and having bad examples in the code.
The app menu now updates its label based on whether it is open or closed, making command palette actions easier to understand. This small usability improvement helps users navigate the interface with clearer context.
The mass mailing form has been restyled to use the full available page width. This gives marketing users more room to review and edit campaign details, making the form easier to work with on larger screens.
Original PR description
Odoo PR: https://github.com/odoo/odoo/pull/71511
Manufacturing work orders now show whether required components are available before production starts. Ready work orders are highlighted separately from waiting ones, helping teams prioritize work while still allowing users to proceed when needed.
Original PR description
updated code for the new compute state. task-2426773 https://github.com/odoo/odoo/pull/71250
Reversed accounting entries now explicitly use the same journal context as the original entry during automated checks. This helps keep reversal behavior consistent across reports, localizations, and commission scenarios, reducing the risk of accounting test failures as validation rules become stricter.
Original PR description
"journal_id" is now required on move reversals. Add journal_id at move reversal creation in tests. Task: 2497529 Community PR: https://github.com/odoo/odoo/pull/72431
Original PR description
After making country_id mandatory in account_tax_groups, several tests started to fail and needed adaptation. Also test data needed some mending. * TestAccountInvoicingCommon's setUpClass has been fixed * l10n_ch tests were depending on demo data * l10n_co tax templates missed several mandatory tax_groups * Several `account_data.xml` `account_tax_group_data.xml` have been normalized to `account_tax_group.xml` in localization modules
This update removes slow dynamic filters that could cause performance issues when working with large numbers of records in inventory, manufacturing, purchasing, and landed costs. It also avoids an unnecessary warehouse setup warning and streamlines some purchasing and stock logic, making these workflows more reliable and scalable.
Original PR description
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
This fixes a testing helper so web requests can be mocked even when no extra request settings are provided. It helps keep automated tests aligned with how web requests work in practice, reducing false failures for developers.
Original PR description
Fetch does not require the options parameter, this PR allow to mock resources without it.
Dropdown menus now close automatically when the active element on the page changes. This prevents menus from staying open at the wrong time, making the interface feel cleaner and less confusing for users.
Original PR description
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
This update ensures the Live Chat module includes a required session file so session information loads correctly. It prevents issues for customers using live chat features that rely on the older session handling path.
Original PR description
Since 54e9527ec2fdf0467de08b372c7e891fedaa68ae, a new session module is used to access the session info. The legacy session uses also this module to access the session info. This means that if a module uses the legacy session, the new session.js needs to be added to the manifest.
This change fixes an intermittent issue that could cause attendance-related holiday tests to fail unpredictably. It also makes the affected attendance test suites run much faster, helping development and release checks complete more reliably.
Original PR description
Fixes an underterministic error during the holidays_attendance test. Also speeds up both holidays_attendance and hr_attendance_overtime significantly. Task ID: 2599846
Several country-specific accounting and e-invoicing tests were updated after tax groups began requiring a country setting. This keeps localization checks reliable for Chile, Colombia, Spain, and Peru, reducing the risk of configuration issues during future updates.
Original PR description
After making country_id mandatory in account_tax_groups, several tests started to fail and needed adaptation. Also test data needed some mending. * l10n_cl_edi: one of the tests was failing because in a Tax Exempt document type, a taxed product was used. Now a different document type is used. * l10n_co_edi: country_id added to the tax groups. Some fix to the setUpClass's product creations * l10n_es_reports: fixed the setUpClass * l10n_pe_edi: tax groups data fixed * Minor linting
This change removes a slow filtering behavior in quality checks that could cause performance problems as data volumes grow. Users should experience faster and more reliable quality and manufacturing work order screens without changes to their workflow.
Original PR description
task-2558097
The simplified work order screen now prevents users from marking a work order as done when required quality checks are still pending. This avoids later blocking errors when completing the manufacturing order, while still allowing certain informational or registration checks to be completed automatically.
Original PR description
When a user uses the simplified view to process a Work Order which has quality checks to be done, there is currently no warning about it when marking the WO as done using the "Done" button of the simplified view. The user will therefore get an error when trying to "Mark As Done" a Manufacturing Order even if all the Work Orders are set as "Done" without warnings. This commit forbids to set as "Done" in the simplified view a workorder for which a Quality Check should be done, sending a warning message to complete the QC. This does not apply for Quality Checks of type Instructions, Register Component and Register by Product. For those types, it is possible to set the WO as Done and this will also set the QC as Done.
The project timesheet synchronization module now includes a required session file so it can correctly access user session information. This prevents errors caused by a recent internal session handling change and helps keep timesheet syncing working reliably.
Original PR description
Since 54e9527ec2fdf0467de08b372c7e891fedaa68ae, a new session module is used to access the session info. The legacy session uses also this module to access the session info. This means that if a module uses the legacy session, the new session.js needs to be added to the manifest.
To improve the payment method system, proceed to a few changes such as changing the view a bit, making sure payment acquirers are not linked to a journal by default and that only the manual payment method type can be used multiple times in a single journal. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#72105
Original PR description
To improve the payment method system, proceed to a few changes such as changing the view a bit, making sure payment acquirers are not linked to a journal by default and that only the manual payment method type can be used multiple times in a single journal. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#72105
See odoo task : [2580158](https://www.odoo.com/web#id=2580158&action=333&active_id=1695&model=project.task&view_type=form&cids=1&menu_id=4720) ---------- #### [FIX] web_editor: ensure <font> colors are kept properly color and background-color styles on `<font>` tags were being wrongly overridden when applying another color or background color to the element. ---------- #### [FIX] web_editor: allow deletion of unbreakable elements when empty unbreakable elements were being consi
Original PR description
See odoo task : [2580158](https://www.odoo.com/web#id=2580158&action=333&active_id=1695&model=project.task&view_type=form&cids=1&menu_id=4720) ---------- #### [FIX] web_editor: ensure <font> colors are kept properly color and background-color styles on `<font>` tags were being wrongly overridden when applying another color or background color to the element. ---------- #### [FIX] web_editor: allow deletion of unbreakable elements when empty unbreakable elements were being considered as unremovable in some deletebackward cases. with these changes it is now possible to remove a unbreakble element if it is empty ---------- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#73566 Forward-Port-Of: odoo/odoo#73541
There is no reason to forbid changing the currency when a move has been posted before. Was introduced in [1] without reason. [1] https://github.com/odoo/odoo/commit/d1bbf11af27e4ce12b025ef22e397302ee6336c2 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#73568
Original PR description
There is no reason to forbid changing the currency when a move has been posted before. Was introduced in [1] without reason. [1] https://github.com/odoo/odoo/commit/d1bbf11af27e4ce12b025ef22e397302ee6336c2 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#73568
before this commit, the name of the event and hour is not correctly centered while dragging the pill in month mode. This commit fixes the issue by adding the CSS property. after this commit, the name of the event and hour should be correctly centered while dragging the pill in month mode. TaskID-2506060 Forward-Port-Of: odoo/odoo#73451 Forward-Port-Of: odoo/odoo#69361
Original PR description
before this commit, the name of the event and hour is not correctly centered while dragging the pill in month mode. This commit fixes the issue by adding the CSS property. after this commit, the name of the event and hour should be correctly centered while dragging the pill in month mode. TaskID-2506060 Forward-Port-Of: odoo/odoo#73451 Forward-Port-Of: odoo/odoo#69361
One could edit bank statement line values with new from a bstline modal. This is due to new quick edit behaviour. This prevent the editiing of bst lin values if bst is not new. Task: 2427089 Forward-Port-Of: odoo/odoo#72832
Original PR description
One could edit bank statement line values with new from a bstline modal. This is due to new quick edit behaviour. This prevent the editiing of bst lin values if bst is not new. Task: 2427089 Forward-Port-Of: odoo/odoo#72832
On reconcile models, a rule can be set to map a partner to a bstline if the bstline "Notes" matches a regex. This "Notes" field is actually the "narration" field inherited from move. In commit 0f3c7f153e8bd20f83b7d1df031634996d36935b this field is converted from Text to Html. This breaks the regex match. The fix converts back the field value to text for the regex check. Task: 2427089 Forward-Port-Of: odoo/odoo#73282
Original PR description
On reconcile models, a rule can be set to map a partner to a bstline if the bstline "Notes" matches a regex. This "Notes" field is actually the "narration" field inherited from move. In commit 0f3c7f153e8bd20f83b7d1df031634996d36935b this field is converted from Text to Html. This breaks the regex match. The fix converts back the field value to text for the regex check. Task: 2427089 Forward-Port-Of: odoo/odoo#73282
Sorry but not sorry, I have to fix this file's "codestyle" (unread variable, missing or extra ";" characters, etc) post-editor merge... hard to work inside of it in the current state. Forward-Port-Of: odoo/odoo#73613
Original PR description
Sorry but not sorry, I have to fix this file's "codestyle" (unread variable, missing or extra ";" characters, etc) post-editor merge... hard to work inside of it in the current state. Forward-Port-Of: odoo/odoo#73613
When setting the request_date_from and request_date_to when creating a leave that will be used to show the range of days of the leaves, we are using the current user timezone to determine it. eg. in UTC+2 if the leave begins at midnight on the 6th, we will see 6 and not 5 which is the day in UTC. When creating a leave in a mode different than employee, when it is confirmed and a leave is created for each employee, we would use the UTC day instead which is a little unexpected. Without the fix,
Original PR description
When setting the request_date_from and request_date_to when creating a
leave that will be used to show the range of days of the leaves, we are
using the current user timezone to determine it.
eg. in UTC+2 if the leave begins at midnight on the 6th, we will see 6
and not 5 which is the day in UTC.
When creating a leave in a mode different than employee, when it is
confirmed and a leave is created for each employee, we would use the UTC
day instead which is a little unexpected.
Without the fix, the added test fails with:
AssertionError: datetime.date(2019, 5, 5) !=
datetime.date(2019, 5, 6) : Timezone should be kept between company
and employee leave
opw-2573730
Forward-Port-Of: odoo/odoo#73589
Forward-Port-Of: odoo/odoo#73073When using the Add button on the calendar view introduced with odoo/odoo#64948 the event would not be linked with the applicant. After further investigation the method used to get the applicant id in default_get was not flexible enough, the one from crm calendar has been 'copied' Task ID: 2578165 Forward-Port-Of: odoo/odoo#72731
Original PR description
When using the Add button on the calendar view introduced with odoo/odoo#64948 the event would not be linked with the applicant. After further investigation the method used to get the applicant id in default_get was not flexible enough, the one from crm calendar has been 'copied' Task ID: 2578165 Forward-Port-Of: odoo/odoo#72731
These corrections are made on the basis of the "ElsterBasis (EBA)" documentation, which can be found in this link: https://drive.google.com/file/d/1045jtYMpRtR30qXCjcgU--lpo0rpnCdw/view Changes made: 1:/ Period must be with two digits: See documentation point 4.3.4.2 2:/ The letter “K” in "Kz" must be uppercase 3:/ see documentation 4.3.4.5.2: - "Kz09" and "Kz83" are the only ones that can be with a decimal digit - "Kz39" must be a positive number only - All others "Kz" can
Original PR description
These corrections are made on the basis of the "ElsterBasis (EBA)" documentation,
which can be found in this link: https://drive.google.com/file/d/1045jtYMpRtR30qXCjcgU--lpo0rpnCdw/view
Changes made:
1:/ Period must be with two digits: See documentation point 4.3.4.2
2:/ The letter “K” in "Kz" must be uppercase
3:/ see documentation 4.3.4.5.2:
- "Kz09" and "Kz83" are the only ones that can be with a decimal digit
- "Kz39" must be a positive number only
- All others "Kz" can be postive or negative, but without decimals
opw-2560974
Forward-Port-Of: odoo/enterprise#19593
Forward-Port-Of: odoo/enterprise#19249**First commit**: import stmt with different ccy Backport of e95d537fd8be61411eeda4f5a0786ae704ea21e5 **Second commit**: multi-currency and multi-tx The importation will fail if (AND): - Company's currency is USD - CAMT file has one entry with several transactions - Transactions are expressed in EUR without any information about exchange rate - Exchange rate is given once in the entry but outside the transactions When getting an amount, this commit suggests: - searching fi
Original PR description
**First commit**: import stmt with different ccy Backport of e95d537fd8be61411eeda4f5a0786ae704ea21e5 **Second commit**: multi-currency and multi-tx The importation will fail if (AND): - Company's…
**First commit**: import stmt with different ccy
Backport of e95d537fd8be61411eeda4f5a0786ae704ea21e5
**Second commit**: multi-currency and multi-tx
The importation will fail if (AND):
- Company's currency is USD
- CAMT file has one entry with several transactions
- Transactions are expressed in EUR without any information about
exchange rate
- Exchange rate is given once in the entry but outside the
transactions
When getting an amount, this commit suggests:
- searching first inside the transactions details for both an amount and
an exchange rate
- searching for an amount in the entry if there isn't any amount in the
TX details
- searching for exchange rate in the entry if needed and not already
available in the TX details
Moreover, the node `CcyXchg` can't exist inside a `TxAmt` so the
associated path has been removed.
OPW-2523952
**Third commit**: import stmt with different ccy
Suppose two different journals with the same bank account. The first one
is in USD, the second one in EUR. The import of a CAMT file with two
statements (one in USD, another in EUR) into one of the journals will
fail.
The user should be able to import the CAMT file once per journal
OPW-2558413
Forward-Port-Of: odoo/enterprise#19616
Forward-Port-Of: odoo/enterprise#19423Allow to change the BoM of an operation. Update quality point product on operation change. task: 2566561 port to v14 part of tasks 2373638 & 2413246 Forward-Port-Of: odoo/enterprise#19597 Forward-Port-Of: odoo/enterprise#19136
Original PR description
Allow to change the BoM of an operation. Update quality point product on operation change. task: 2566561 port to v14 part of tasks 2373638 & 2413246 Forward-Port-Of: odoo/enterprise#19597 Forward-Port-Of: odoo/enterprise#19136
Impacted modules: documents_hr, documents_hr_recruitment, documents_product, documents_project Steps to reproduce: - Have a standard V14 with documents_account (not tested in other versions) - Create a new company - Go to Documents / Configuration / Workspaces - Set a company on each workspace - Go to Settings / Documents - Check "Products" - Click on the "Workspaces" dropdown Issue: You can be on any company, only the workspace without any company set w
Original PR description
Impacted modules: documents_hr,
documents_hr_recruitment, documents_product, documents_project
Steps to reproduce:
- Have a standard V14 with documents_account (not tested in other versions)
- Create a new company
- Go to Documents / Configuration / Workspaces
- Set a company on each workspace
- Go to Settings / Documents
- Check "Products"
- Click on the "Workspaces" dropdown
Issue:
You can be on any company, only the workspace without
any company set will be shown.
The ones from the current company are hidden.
Cause:
Using company model instead of id in domain.
Updating all similar domain.
similar fix : https://github.com/odoo/enterprise/pull/16484
opw-2588315
Forward-Port-Of: odoo/enterprise#19611The column code was moved to an own table and is only referenced now in `hr_payslip_worked_days` Info: @wt-io-it Forward-Port-Of: odoo/enterprise#19568
Original PR description
The column code was moved to an own table and is only referenced now in `hr_payslip_worked_days` Info: @wt-io-it Forward-Port-Of: odoo/enterprise#19568
To improve the payment method system, proceed to a few changes such as changing the view a bit, making sure payment acquirers are not linked to a journal by default and that only the manual payment method type can be used multiple times in a single journal. Forward-Port-Of: odoo/enterprise#18981
Original PR description
To improve the payment method system, proceed to a few changes such as changing the view a bit, making sure payment acquirers are not linked to a journal by default and that only the manual payment method type can be used multiple times in a single journal. Forward-Port-Of: odoo/enterprise#18981