Tuesday, March 9, 2021
26 changes · master
Enhancements to existing features
The Time Off app now presents calendars and forms more clearly by hiding refused leaves from the calendar and improving leave and allocation popup layouts. Leave types are also easier to manage with manual sequencing and clearer ordering, helping HR teams navigate records more efficiently.
Original PR description
Remove 'refuse' leaves from the Calendar View. Improve leave/leave.allocation popup form views. Add Sequence handle to leave type list view. Task ID: 2377043 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Email campaigns scheduled to send immediately or at a specific time will now trigger processing at the intended time instead of waiting for the next hourly check. This reduces unnecessary background activity and improves sending precision while keeping a daily fallback for reliability.
Original PR description
The "launch" button of an email campaign mark the current campaign ready to be processed. As sending all the mails is a pretty heavy operation, it is done asynchronously in a cron. The cron was running every hour, it means the cron was running even if there was no active campaign and it has a best precision of 1 hour. We now use the new mechanism of [cron triggers] to schedule the cron execution at the time the campaign is configured to be sent. It achieves a better precision and ensure the cron only runs when there are stuff to process. We decreased the frequency of the cron to once a day, this is mostly a security. [cron triggers]: 4b28f1162a85d03f9dbe0338b06758ad151ea6a8 Task: 2416741
This update makes the website builder easier and clearer to use with small interface refinements. Users can now select hex color values with one click, see clearer labels when creating content, understand the Theme tab better, and get guidance when entering fullscreen mode.
Original PR description
Description of the issue/feature this PR addresses: Improve onboarding of new users to the website builder by making some layout quick wins. Also trying to make the tool as consistent as possible. Current behavior before PR: Hex color is not selected when clicking on it Desired behavior after PR is merged: Hex color is selected when clicking on it Options tab label is renamed Themed When creating a product Continue button is renamed Create An indication is displayed when the user enters fullscreen -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Website editors now get clearer, more consistent controls when selecting multiple images, adjusting image wall spacing, and choosing background images. These updates make image-heavy page sections easier to understand and edit, reducing friction for content teams.
Original PR description
The goal of this PR is to improve UI to ease the understanding of image options: 1- MEDIA DIALOG : - Use the same layout as in selected themes for multi image selection (Image Wall, Gallery...). 2- IMAGES WALL: - Replace "Image Spacing" Selection by a slider. - Make the "Images Wall" snippet editable to be able to open the media dialog on "double-click" on images. 3- BACKGROUND IMAGES: - Update style for Media Picker button. task-2326573 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Resolved issues and error corrections
This change fixes a typo that could cause automated mass mailing jobs to crash when their recipient rules matched multiple records. It improves reliability for scheduled email campaigns without changing how users create or send mailings.
Original PR description
Sometimes it crashed when the domain used for the mailing cron returned more than one record source commit: 1738f9c8f7188ac4f6e50f771c78905bd3d9396b 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
Code cleanup and technical improvements
This update reorganizes where the employee's current leave information is stored, moving it directly onto the employee record. This is an internal cleanup that should make leave-related data easier to manage without changing the visible user experience.
Original PR description
Move the field current_leave_id to hr.employee. TaskID: 2476677 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
Miscellaneous changes
According to the documentation from IPCF, the proportion of VAT that may not be claimed back must be recorded by default on the same account as the base amount in a different move line that this base amount. **Task ID:** #2373849 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#67461
Original PR description
According to the documentation from IPCF, the proportion of VAT that may not be claimed back must be recorded by default on the same account as the base amount in a different move line that this base amount. **Task ID:** #2373849 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#67461
Point of Sale now handles electronic payment cancellation more reliably when using Worldline terminals. This prevents checkout disruption when a customer has already inserted their card and the cashier needs to cancel the payment.
Original PR description
With Worldline, the cancel command fails when the card was already inserted. TaskID: 2415526 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Fixes a website image gallery issue where thumbnail previews could disappear and be replaced by an arrow when adding the snippet. This keeps the gallery preview working as expected for website editors and improves the page-building experience.
Original PR description
When the snippet was dropped, the miniatures were disappearing and replaced by an arrow. It was due to the wrongly calculated index when the snippet was initialized, as the jquery method .index() will still return -1 when no element is found. task-2472041 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes a broken website editor option that lets users control whether snippets are visible on mobile devices. Restoring this option helps website managers keep pages responsive and present the right content to mobile visitors.
Original PR description
Conflict between a fix in 14.0 (see [1]) and an improvement in master (see [2]) broke the feature (because both introducing a JS option for the feature). [1]: https://github.com/odoo/odoo/commit/9463f0f889f9dd8da6077895c125da4998a933c0 [2]: https://github.com/odoo/odoo/commit/25173a4c29b57a01cbe415de439f2da0f4760507
This fixes an issue where extra components added to a confirmed manufacturing order in tablet view could be counted twice when only part of the order was processed and a backorder was created. The correction helps keep material consumption accurate, reducing inventory discrepancies and production cost errors.
Original PR description
When adding components to a confirmed MO in tablet view, then not processing the full quantity at once and creating a backorder for the remaining quantity, the consumption of the added components in the first backorder is not correct. There was a duplication of the move line of the added components, doubling its used quantity. This duplication came from the lack of move line in the quality check created with the additional component. Not seeing this move line, a new one was created in the _next method of mrp_workorder.
Main = [FIX] l10n_mx: Repartition account for refund must be the same than invoice's one. Current Behavior = Purchase Tax (16%) - |field|value |-|- |Transition Account|Transtion Tax |Invoice Repartition|Paid Tax |Refund Repartition|Transtion Tax (*) |CABA Base|Base Account (*) Wrong Setting Invoice - |account|debit|credit| |-|-:|-:| |Expense|1000|| |Transtion Tax|160|| |Payables||1160| Payment - |account|debit|credit| |-|-:|-:| |Payables|580|| |Bank
Original PR description
Main = [FIX] l10n_mx: Repartition account for refund must be the same than invoice's one. Current Behavior = Purchase Tax (16%) - |field|value |-|- |Transition Account|Transtion Tax |Invoice…
Main = [FIX] l10n_mx: Repartition account for refund must be the same than invoice's one. Current Behavior = Purchase Tax (16%) - |field|value |-|- |Transition Account|Transtion Tax |Invoice Repartition|Paid Tax |Refund Repartition|Transtion Tax (*) |CABA Base|Base Account (*) Wrong Setting Invoice - |account|debit|credit| |-|-:|-:| |Expense|1000|| |Transtion Tax|160|| |Payables||1160| Payment - |account|debit|credit| |-|-:|-:| |Payables|580|| |Bank||580| CABA on Payment - |account|debit|credit| |-|-:|-:| |Base Account|500|| |Base Account||500| |Paid Tax|80|| |Transtion Tax||80| Refund - |account|debit|credit| |-|-:|-:| |Payables|290|| |Discounts||250| |Transtion Tax||40| CABA on Refund - |account|debit|credit| |-|-:|-:| |Base Account|250|| |Base Account||250| |Paid Tax|40|| |Transtion Tax||40| |Base Account|250|| |Base Account||250| |Transtion Tax|40|| |Transtion Tax (*)||40| (*)Wrong Entry Line Trail Balance - |account|debit|credit|balance| |-|-:|-:|-:| |Bank|0|580|-580| |Base Account|1000|1000|0| |Discounts|0|250|-250| |Expense|1000|0|1000| |Paid Tax (*)|120|0|120| |Payables|870|1160|-290| |Transtion Tax (*)|200|200|0| |Total Sum|3190|3190|0| (*) Wrong Balance in Account Expected Behavior = Purchase Tax (16%) - |field|value |-|- |Transition Account|Transtion Tax |Invoice Repartition|Paid Tax |Refund Repartition|Paid Tax (*) |CABA Base|Base Account (*) Right Setting Invoice - |account|debit|credit| |-|-:|-:| |Expense|1000|| |Transtion Tax|160|| |Payables||1160| Payment - |account|debit|credit| |-|-:|-:| |Payables|580|| |Bank||580| CABA on Payment - |account|debit|credit| |-|-:|-:| |Base Account|500|| |Base Account||500| |Paid Tax|80|| |Transtion Tax||80| Refund - |account|debit|credit| |-|-:|-:| |Payables|290|| |Discounts||250| |Transtion Tax||40| CABA on Refund - |account|debit|credit| |-|-:|-:| |Base Account|250|| |Base Account||250| |Paid Tax|40|| |Transtion Tax||40| |Base Account|250|| |Base Account||250| |Transtion Tax|40|| |Paid Tax (*)||40| (*)Right Entry Line Trail Balance - |account|debit|credit|balance| |-|-:|-:|-:| |Bank|0|580|-580| |Base Account|1000|1000|0| |Discounts|0|250|-250| |Expense|1000|0|1000| |Paid Tax (*)|120|40|80| |Payables|870|1160|-290| |Transtion Tax (*)|200|160|40| |Total Sum|3190|3190|0| (*) Right Balance in Account Tax Review = * It is expected that Payables for 290 divided by 1.16 (100% + tax) yields the tax base equal to 250 * Given that tax base of 250 multiplied by 0.16 (tax) should yield the Outstanding Transition Tax. * Transition Tax must be 40. Currently it is 0. * Paid Tax must be 80. Currently is it 120. * Refund must cancel out 40 in Paid Tax because Refund is not an actual Cash Flow. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#64293
Before this commit: place of supply always set from customer address. After this commit: place of supply is set by delivery address opw: 2456095 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#66025
Original PR description
Before this commit: place of supply always set from customer address. After this commit: place of supply is set by delivery address opw: 2456095 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#66025
When a record is written that includes a computed field with an inverse method set and a delete command for an x2many field, the computed field is not properly set in by the inverse method because of a whole cache invalidation that happen during the unlink. With this commit, we write in cache on the fields that have been invalidated before invoking the inverse method. opw #2439861 Forward-Port-Of: odoo/odoo#67152
Original PR description
When a record is written that includes a computed field with an inverse method set and a delete command for an x2many field, the computed field is not properly set in by the inverse method because of a whole cache invalidation that happen during the unlink. With this commit, we write in cache on the fields that have been invalidated before invoking the inverse method. opw #2439861 Forward-Port-Of: odoo/odoo#67152
To reproduce: 1. take a translatable record with an external id 2. delete the record but keep the ir.model.data (sql) 3. export the translations of the module linked to the orphan ir.model.data -> Error while formating the message This commit fixes three issues: - %d instead of %s to construct the string - wrong order to identify the missing records - display the external ids instead of the ids (which may not be very helpful to debug) Courtesy of Yannick Brant Forward-Port
Original PR description
To reproduce: 1. take a translatable record with an external id 2. delete the record but keep the ir.model.data (sql) 3. export the translations of the module linked to the orphan ir.model.data -> Error while formating the message This commit fixes three issues: - %d instead of %s to construct the string - wrong order to identify the missing records - display the external ids instead of the ids (which may not be very helpful to debug) Courtesy of Yannick Brant Forward-Port-Of: odoo/odoo#67509
…ee.public Purpose ====== Currently, in some rare cases, if the hr.employee.public is initialized before the hr.employee.public table, this could lead to a traceback or even some inconsistencies when computing the field current_leave_id, probably because of the MRO graph construction (to be investigated). Specification ========= 1/ Ensure the table existence 2/ Set a dummy value for current_leave_id to force the recomputation to a valid one. opw-2476677 Description of the
Original PR description
…ee.public Purpose ====== Currently, in some rare cases, if the hr.employee.public is initialized before the hr.employee.public table, this could lead to a traceback or even some inconsistencies when computing the field current_leave_id, probably because of the MRO graph construction (to be investigated). Specification ========= 1/ Ensure the table existence 2/ Set a dummy value for current_leave_id to force the recomputation to a valid one. opw-2476677 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#67325
opw-2477881 This commit closes #67421 Courtesy of @fmdl 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#67445
Original PR description
opw-2477881 This commit closes #67421 Courtesy of @fmdl 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#67445
When formatting a message, some record can be with an empty or obsolet record_name field. It's better to rely on the relation between the message and the record and fetch the record_name when formatting the message. task-2411715 Forward-Port-Of: odoo/odoo#67498 Forward-Port-Of: odoo/odoo#63000
Original PR description
When formatting a message, some record can be with an empty or obsolet record_name field. It's better to rely on the relation between the message and the record and fetch the record_name when formatting the message. task-2411715 Forward-Port-Of: odoo/odoo#67498 Forward-Port-Of: odoo/odoo#63000
Sometimes it crashed when the domain used for the mailing cron returned more than one record source commit: 1738f9c8f7188ac4f6e50f771c78905bd3d9396b 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#67539
Original PR description
Sometimes it crashed when the domain used for the mailing cron returned more than one record source commit: 1738f9c8f7188ac4f6e50f771c78905bd3d9396b 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#67539
https://github.com/odoo/odoo/issues/67508 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#67531
Original PR description
https://github.com/odoo/odoo/issues/67508 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#67531
wage_on_signature is defined in hr_contract_salary so it should not be used in hr_payroll. issue found in saas-14.1 when forward-porting 2132a87f opw-2423574 Forward-Port-Of: odoo/enterprise#16543
Original PR description
wage_on_signature is defined in hr_contract_salary so it should not be used in hr_payroll. issue found in saas-14.1 when forward-porting 2132a87f opw-2423574 Forward-Port-Of: odoo/enterprise#16543
With pylint version < 2.5.0, the `formatter` function is detected as a redefined function. As Ubuntu Focal provides pylint 2.4.4 and Debian Buster provides 2.2.2, this fix is needed. Forward-Port-Of: odoo/enterprise#16881
Original PR description
With pylint version < 2.5.0, the `formatter` function is detected as a redefined function. As Ubuntu Focal provides pylint 2.4.4 and Debian Buster provides 2.2.2, this fix is needed. Forward-Port-Of: odoo/enterprise#16881
There is no easy way to edit report translations. The "Translations" menu only show fields and model views, but doesn't show the model reports even if they are editable with the studio. With this changeset, we display in "Translations" terms of views that are shown in "Reports". TaskID-2456107 Forward-Port-Of: odoo/enterprise#16850 Forward-Port-Of: odoo/enterprise#16524
Original PR description
There is no easy way to edit report translations. The "Translations" menu only show fields and model views, but doesn't show the model reports even if they are editable with the studio. With this changeset, we display in "Translations" terms of views that are shown in "Reports". TaskID-2456107 Forward-Port-Of: odoo/enterprise#16850 Forward-Port-Of: odoo/enterprise#16524
Steps to reproduce the bug: - Go to Accounting > Report > Assets report - Click on Save and select xlsx - Confirm Bug: A traceback was raised opw:2469556 Forward-Port-Of: odoo/enterprise#16925
Original PR description
Steps to reproduce the bug: - Go to Accounting > Report > Assets report - Click on Save and select xlsx - Confirm Bug: A traceback was raised opw:2469556 Forward-Port-Of: odoo/enterprise#16925
Forward-Port-Of: odoo/enterprise#16791 Forward-Port-Of: odoo/enterprise#16777
Original PR description
Forward-Port-Of: odoo/enterprise#16791 Forward-Port-Of: odoo/enterprise#16777
…osing entry Forward-Port-Of: odoo/enterprise#16799 Forward-Port-Of: odoo/enterprise#16778
Original PR description
…osing entry Forward-Port-Of: odoo/enterprise#16799 Forward-Port-Of: odoo/enterprise#16778