Tuesday, February 14, 2023
20 changes · master
Enhancements to existing features
The Brazilian localization module now uses English as its main language, with the original Portuguese text preserved in translation files. This makes the module easier for international teams to maintain while keeping Portuguese available for local users.
Original PR description
This commit replaces terms in Portuguese with English translations and moves the original Portuguese terms into pt.po translation files. This makes it easier to maintain the module. task-3116558 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update renames an internal Sales CRM view identifier to remove an unnecessary number. It improves consistency and maintainability without changing how users interact with the system.
Original PR description
before this commit, the inherited view is not named in a good way. after this commit, 123 will be removed from the external id of the inherited view. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Users can now drag dialog windows to reposition them on the screen. This makes it easier to view information behind a pop-up and work more comfortably in busy screens.
PDF reports now include needed web assets directly in the document before rendering, reducing dependency on extra server workers and avoiding failures when assets are not yet fully available. This makes report generation more reliable and easier to test, with a small fix to prevent unnecessary asset-related requests during PDF creation.
Original PR description
Before this commit printing a report would require at least two workers, one for the original request "print this report" plus one used by the wkhtmltopdf subprocess to download the many assets…
Before this commit printing a report would require at least two workers, one for the original request "print this report" plus one used by the wkhtmltopdf subprocess to download the many assets (css/js/img) present in the html document it is rendering. Because it was using a minimum of two workers, it was not possible to test the rendering of PDF reports as only one worker was available for HttpCase tests methods. In this work, we download all assets and inline them inside the html document prior of invocating the wkhtmltopdf subprocess so that no further download is necessary. task-2706552 --- **[FIX] base: 404 /web/assets during pdf rendering** Special case for when the assets have been generated in the current transaction, have not been commited yet and thus are not visible to the request made with `wsgi_client` as it opens its own cursor. This prevents the assets inlining algorithm from crashing for not found assets. --- *I made the extra fix commit so that it has its own commit message* With some help from @Gorash for the unittest <3
Down payments on sales orders are now split by tax rate instead of shown as one combined line. This makes invoices and sales documents clearer when orders include products with different taxes, and helps users better understand how down payments affect taxable amounts.
Original PR description
Break down payments per tax. When creating a down payment for a sale order, create one line per tax instead of one line for the entire order. [Sale Order] Product Qty Unit price Tax Subtotal Product1…
Break down payments per tax. When creating a down payment for a sale order, create one line per tax instead of one line for the entire order.
[Sale Order]
Product Qty Unit price Tax Subtotal
Product1 1 1000 10% 1000
Product2 1 1000 5% 1000
====
Untaxed 2000
Tax 150
====
Total 2150
Make a 50% (1075) down payment :
[BEFORE]
Product Qty Unit price Tax Subtotal
Product1 1 1000 10% 1000
Product2 1 1000 5% 1000
Down pay 1 1075 0
====
Untaxed 2000
Tax 150
====
Total 2150
[AFTER]
Product Qty Unit price Tax Subtotal
Product1 1 1000 10% 1000
Product2 1 1000 5% 1000
Down pay 1 500 10% 0
Down pay 1 500 5% 0
====
Untaxed 2000
Tax 150
====
Total 2150
Task: 2678531
Enterprise PR: https://github.com/odoo/enterprise/pull/36331The Fleet app now shows a properly designed form when viewing vehicle cost report details instead of a generic automatically generated layout. The list view also hides the option to create new report records from this reporting screen, reducing confusion for users.
Original PR description
before this commit, form view for the model fleet.vehicle.cost.report model was not defined, thus on opening the form view of this model shows odoo generated form view. after this commit, as the form view is added for the model, on opening the form, clean form will be displayed. also in the file, there is a record with wrongly aligned corrected that and set create="0" attribute in tree to hide the new/create button. Before:  After:  --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
List views now calculate totals only for columns that are actually shown, instead of also processing hidden optional columns. This reduces unnecessary work and can make list screens more efficient without changing what users see.
Original PR description
The purpose of this commit is to no longer calculate the aggregated value of columns that are not displayed in the list view. Before this commit, we always calculated the aggregate value of optional columns that are hidden. 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
Project users can now delete or archive a recurring task while choosing whether the recurrence should continue or stop. Recurrences now rely on hidden task templates, so future tasks can still be generated without forcing users to keep an old visible task in place.
Original PR description
The goal of this task is to ease the deletion/archiving of recurrent tasks by giving the user the option to either continue or stop the recurrence. The two main use-cases are: \- You have a recurring…
The goal of this task is to ease the deletion/archiving of recurrent tasks by giving the user the option to either continue or stop the recurrence. The two main use-cases are: \- You have a recurring task for a weekly meeting. Next week, the user will be on time off. You are thus deleting the task. However, you would still like tasks generated for the following meetings and to keep track of the previous meetings. \- You have a recurring task for a weekly meeting with an employee that has just been fired. You are thus deleting the task and you won't need this recurrence anymore. (You may or may not want to keep track of the previous meetings.) The main issue we are currently facing is that we need a task that acts as a template for the recurrence to continue. This means that a user cannot delete all of his tasks without breaking their recurrence. Consequently, we will be using a "task template" for each recurrence, which will only serve technical purposes and be invisible to the users. When the recurrence is stopped, the task template is deleted. This simplifies the technical and functional implementation as the user won't be able to modify the template themselves. \- Added task templates to recurrences in the data. \- Deleted "all tasks" option form recurence update and changed "this and following tasks" to "this and future tasks". Most of the time, the user is going to update the most recent task, and it doesn't make any functional sense to update past ones. \- Same options for delete and archive. \- No recurrent subtasks allowed anymore. \- `date_deadline` is copied. We compute it by adding the delta between the create date and the `date_deadline` of the template to the next recurrence date. \- Added filter to several view not to display task templates. task-2937565 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The Gantt planning view has been rebuilt to make large schedules load and scroll much faster. Users will also notice that details now open by clicking an item instead of hovering, making interactions more deliberate and predictable.
Original PR description
Conversion of the gantt view to OWL. Along the way the UI has been changed: - hover a pill does not make a popover appear anymore. It is now necessary to click on the pill to make it appear. A button…
Conversion of the gantt view to OWL. Along the way the UI has been changed: - hover a pill does not make a popover appear anymore. It is now necessary to click on the pill to make it appear. A button "Edit" in the popover still allows to edit the pill (if edition is available). The unused arch attribute collapse_first_level has been removed. Technically: - complete revamp of the DOM and class names to trim down dead code and needless nesting; - the gantt view now makes use of the CSS display "grid" property in several places (most importantly in the main row container), further simplifying the DOM and allowing for list virtualization; - this virtualization process ensures that only visible rows (and their related elements) are effectively rendered in the DOM. This is done using the newly added "useVirtual" hook. The rendering process of the new gantt view should thus be a lot quicker as a result. Enterprise counterpart PR: odoo/enterprise#36202 Task Id: 3105022 Co-authored-by: Bruno Boi <boi@odoo.com> Co-authored-by: Julien Mougenot <jum@odoo.com> Co-authored-by: Mathieu Duckerts-Antoine <dam@odoo.com>
Onboarding and offboarding plan activities can now be assigned to regular employees, not just HR officers. A dedicated activity area lets employees and their managers manage these tasks while keeping employee records appropriately restricted.
Original PR description
When starting an onboarding/offboarding plan on an employee, activities were only created for the users that were part of the HR Officer group. Regular users can't access the `hr.employee` model and it's not possible to have activities on `hr.employee.public`. A new model has been created to manage those activities and is only accessible to the user and their manager. task-3151758
Companies in Mexico can now record import taxes charged by customs brokers and have them treated as creditable taxes. This helps ensure those payments are included correctly in DIOT tax reporting.
Original PR description
User Case: The Company A buy some products from a Foreign Customer, and when they are received in Mexico, the Broker Partner send an invoice to Company A by the importation taxes. In this case, when Company A, make the payment to the broker, the taxes could be accredited for the company and in your case must be reported in the DIOT report. More info about the configuration in the README file. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
YouTube previews now link correctly, and push notification previews show real content instead of placeholder information. The update also hides an unavailable sync action when no account is connected and corrects a small wording issue.
Original PR description
This commit changes the youtube link from the preview to a functioning one and updates the push notification preview with actual data. It also hide the synchronize button when there is no account linked. It finally fix a typo. Task-3068775
Document workflow actions can now specify which accounting journal to use when creating accounting entries. This helps businesses that use separate journals for expenses, purchases, bank transactions, or other document types route documents more accurately while keeping the previous default behavior if no change is made.
Original PR description
Some customers use more than one journal to input accounting, ie: one journal for expense or visa and one for "standard" purchase or 2 banks journals. We want to let them decide which journal will be used in their workflow. This commit adds the selection of journal in the action form. By default, the first one of the list is selected to keep the actual behavior, but allow the user to select another one. taskid: 3134526 [community](https://github.com/odoo/odoo/pull/111328) [enterprise](https://github.com/odoo/enterprise/pull/36308)
The Gantt view used across planning-style screens has been rebuilt to load and scroll faster, especially with many rows. Users will notice a small interaction change: clicking an item now opens its details instead of hovering over it.
Original PR description
Conversion of the gantt view to OWL. Along the way the UI has been changed: - hover a pill does not make a popover appear anymore. It is now necessary to click on the pill to make it appear. A button…
Recurring project and field service tasks now keep their planned start and end dates when copied or regenerated. This helps teams preserve scheduling information and avoid manual date re-entry.
Original PR description
Copy `planned_date_begin`and `planned_date_end`. More details about how it is done in community commit. task-2937565 Community : https://github.com/odoo/odoo/pull/98088
Odoo's document extraction features now use clear text statuses such as success, processing, or error_no_credit instead of numeric codes. This makes status handling more readable and consistent across invoice, expense, purchase, recruitment, and IAP extraction workflows, with limited direct impact for end users.
Original PR description
The extract server now returns the status of the request as a string (e.g. `success`, `processing`, `error_no_credit`, etc) instead of an integer status code. Upgrade PR: odoo/upgrade/pull/4180
This update adjusts how TaxCloud tax settings are applied in sales order screens, keeping them aligned with the parent sales order configuration. It helps ensure the right tax behavior is shown and used consistently when managing orders.
Original PR description
Update tax_id attr attribute override with parent attr. Task: 2678531 Community PR: https://github.com/odoo/odoo/pull/105177
Partner address lists now place follow-up addresses before general “other” addresses. This makes credit control and payment follow-up details easier to spot while keeping miscellaneous addresses at the end of the list.
Original PR description
Currently, follow-up address show last after the other address, this is an inconvenience because other address always show last. This commit reorders the address type. Other addresses are now displayed last, and follow-up addresses are displayed before other addresses, changing the tooltip to adapt the follow-up address. task-3087691
Recurring plan names are now handled in a way that supports proper translation for each user's language. This helps customers and staff see clearer, localized subscription timing labels on sales and website subscription pages.
Original PR description
Before this commit, the recurrence name was computed and stored but the translations could not work because they were depending on other fields values and the lang of the consulting user. taskid 3184794
The Brazilian reporting module now uses English as its main language, with the original Portuguese wording kept in the translation file. This makes the module easier to maintain while preserving Portuguese translations for users who need them.
Original PR description
This commit translates the module into English, replacing the Portuguese terms with English, and moves the original terms into pt.po translation file. This makes it easier to maintain the module. task-3116558
Conversion of the gantt view to OWL. Along the way the UI has been changed: - hover a pill does not make a popover appear anymore. It is now necessary to click on the pill to make it appear. A button "Edit" in the popover still allows to edit the pill (if edition is available). The unused arch attribute collapse_first_level has been removed. Technically: - complete revamp of the DOM and class names to trim down dead code and needless nesting; - the gantt view now makes use of the CSS display "grid" property in several places (most importantly in the main row container), further simplifying the DOM and allowing for list virtualization; - this virtualization process ensures that only visible rows (and their related elements) are effectively rendered in the DOM. This is done using the newly added "useVirtual" hook. The rendering process of the new gantt view should thus be a lot quicker as a result. Note that the legacy gantt view is still available since its extensions are not yet converted (through the js_class legacy_gantt). Its class name is now o_legacy_gantt_view. Community counterpart PR: odoo/odoo#110819 Task Id: 3105022 Co-authored-by: Bruno Boi <boi@odoo.com> Co-authored-by: Julien Mougenot <jum@odoo.com> Co-authored-by: Mathieu Duckerts-Antoine <dam@odoo.com>