Friday, February 3, 2023
19 changes · master
Enhancements to existing features
Sales recurrence names can now be shown in the user's preferred language. This improves the experience for multilingual teams and customers by making recurring sale options easier to understand.
Original PR description
Before this commit, it wasn't possible to use translations on the sale.temporal.recurrence records, because their names were computed but not translated. Now, it is possible to add the temporal recurrence name in different languages to provide better user experience. Task ID: 3149661
Sales rental orders now use Odoo's updated currency conversion tooling. This helps keep rental pricing calculations aligned with the latest platform standards and reduces the risk of inconsistent currency handling.
Original PR description
Community PR: https://github.com/odoo/odoo/pull/110833
The Planning app now includes generated sample data used to populate roles, shifts, and shift templates. This helps teams test, demonstrate, and evaluate planning workflows with realistic example information more easily.
Original PR description
This commit add populate for planning app. task-3081985
Resolved issues and error corrections
This fixes how monetary amounts are formatted on the subscription dashboard so values use the currency's own decimal settings. It prevents incorrect amount formatting that could confuse users reviewing subscription figures.
Original PR description
Before this commit, default digits were given to the monetary formatter but those were not used as we also gave a currency. since commit https://github.com/odoo-dev/odoo/commit/996cc74745a2fb72547053991a79d233d6916587, the digits are used if given to the formatter and caused a formatting error as the digits were wrong. This commit removes the given digits to use the currency ones. community part: https://github.com/odoo/odoo/pull/111308
Features or functions removed from Odoo
An obsolete reference in Studio to an editor toolbar element was removed because that element no longer exists. This keeps Studio aligned with the updated editor and helps avoid maintenance issues without changing user-facing functionality.
Original PR description
This PR removes a mention to `#table` div of `web_editor.toolbar`, as it is being removed by the commit in community version. task-3074598 Community PR: https://github.com/odoo/odoo/pull/111131
Code cleanup and technical improvements
Payment information used across sales, subscriptions, and online shop pages is now prepared through one shared process. This reduces duplicate work behind the scenes and makes future payment-related changes easier and more consistent across modules.
Original PR description
The payment values in the Qweb context of sale, sale_subscription and website_sale were computed separately, although there is a large common basis. This split made it hard to communicate between modules and generated a lot of duplicates. The new function `_get_payment_values` in sales is now used as a common basis method for all sale_* modules to get the common payment values. task-3062677 See also: - https://github.com/odoo/odoo/pull/107788
Miscellaneous changes
The 'SteuerNummer' that people use and expect on print is the 11-digits format. The export to 'Elster' expects the formatted to a 13-digits. So we format the number when exporting. task-3056694 opw-2974560 Forward-Port-Of: odoo/enterprise#36691 Forward-Port-Of: odoo/enterprise#34853
Original PR description
The 'SteuerNummer' that people use and expect on print is the 11-digits format. The export to 'Elster' expects the formatted to a 13-digits. So we format the number when exporting. task-3056694 opw-2974560 Forward-Port-Of: odoo/enterprise#36691 Forward-Port-Of: odoo/enterprise#34853
This update streamlines how Helpdesk timesheet entries are prepared by allowing multiple entries to be processed together. It aligns Helpdesk behavior with the broader timesheet system and should improve internal consistency without changing the user experience.
Original PR description
With this commit, we allow _timesheet_preprocess to accept a list of dict of values instead of dict of values, as it has been done in hr_timesheet. related: https://github.com/odoo/odoo/pull/103458 task-3030942
Steps to reproduce: - Install "Website Appointment" module - Enable `spanish` language and translate website - Go to website and then "Appointment" page - Switch website language to spanish - Select `Technical Demo` appointment type - Open editor and click on 'Translate' - Try to translate terms in progress bar Issue: Unable to translate terms. Cause: There is a `pe-none` class arround the links (on `li` parent element) to avoid displaying the `click` cu
Original PR description
Steps to reproduce: - Install "Website Appointment" module - Enable `spanish` language and translate website - Go to website and then "Appointment" page - Switch website language to spanish - Select `Technical Demo` appointment type - Open editor and click on 'Translate' - Try to translate terms in progress bar Issue: Unable to translate terms. Cause: There is a `pe-none` class arround the links (on `li` parent element) to avoid displaying the `click` cursor on current and future stage, and avoid the user to click on the link of current step. Solution: Remove `pe-none` class and add `cursor: default` to the `li` element to avoid displaying the `click` cursor on current and future step. Set `href` attribute on link to `#` if step is current or future. opw-3110981 Forward-Port-Of: odoo/enterprise#36601
Since https://github.com/odoo/odoo/pull/107508 `formatFloatTime` uses `Math.round` when timerRunning is off. ``` 12 + 34/60 + 56 / 3600 = 12.582222222222223 60 * .582222222222223 = 34.93333333333338 ``` With `Math.floor`, minutes were computed as `34` (correct), but with `Math.round` it gives `35` (incorrect). So, we modify tests: ``` 12 + 34/60 = 12.566666666666666 60 * .566666666666666 = 33.99999999999996 ``` and `Math.round` gives correct value `34` Forward-Port-Of: odo
Original PR description
Since https://github.com/odoo/odoo/pull/107508 `formatFloatTime` uses `Math.round` when timerRunning is off. ``` 12 + 34/60 + 56 / 3600 = 12.582222222222223 60 * .582222222222223 = 34.93333333333338 ``` With `Math.floor`, minutes were computed as `34` (correct), but with `Math.round` it gives `35` (incorrect). So, we modify tests: ``` 12 + 34/60 = 12.566666666666666 60 * .566666666666666 = 33.99999999999996 ``` and `Math.round` gives correct value `34` Forward-Port-Of: odoo/enterprise#36657
Before this commit: if you don't put the product in a package, the package name would be "Bulk Content". In case of sending the package inside the US, we will send the package name to the UPS, but it has to be a barcode and can not contain spaces. The solution is first to check whether the package name contains spaces or not. opw-3054892 Forward-Port-Of: odoo/enterprise#36647 Forward-Port-Of: odoo/enterprise#35306
Original PR description
Before this commit: if you don't put the product in a package, the package name would be "Bulk Content". In case of sending the package inside the US, we will send the package name to the UPS, but it has to be a barcode and can not contain spaces. The solution is first to check whether the package name contains spaces or not. opw-3054892 Forward-Port-Of: odoo/enterprise#36647 Forward-Port-Of: odoo/enterprise#35306
With CO localization set up Create an invoice using 'IVA Excento' or another 0% tax Confirm Traceback opw-3150594 Forward-Port-Of: odoo/enterprise#36589
Original PR description
With CO localization set up Create an invoice using 'IVA Excento' or another 0% tax Confirm Traceback opw-3150594 Forward-Port-Of: odoo/enterprise#36589
Following odoo/odoo@44a4cdb, account.edi.document `attachment_id` now is restricted, so force getting it's value as superuser. Forward-Port-Of: odoo/enterprise#36565 Forward-Port-Of: odoo/enterprise#36557
Original PR description
Following odoo/odoo@44a4cdb, account.edi.document `attachment_id` now is restricted, so force getting it's value as superuser. Forward-Port-Of: odoo/enterprise#36565 Forward-Port-Of: odoo/enterprise#36557
When the user clicked the Documents stat button from the Employee's form view, they would get a `ValidationError` in case the Employee had no `address_home_id`. However the message of the `ValidationError` did not specify that a private address is needed (not the address of the company) making it confusing for the user. opw-3144207 NOTE: the same behavior can be reproduced in 16.0, so we would need to forward-port this branch. Forward-Port-Of: odoo/enterprise#36608
Original PR description
When the user clicked the Documents stat button from the Employee's form view, they would get a `ValidationError` in case the Employee had no `address_home_id`. However the message of the `ValidationError` did not specify that a private address is needed (not the address of the company) making it confusing for the user. opw-3144207 NOTE: the same behavior can be reproduced in 16.0, so we would need to forward-port this branch. Forward-Port-Of: odoo/enterprise#36608
Add totals line on the Disallowed Expense Report (DNA) to provide useful information to accountants Task-3159139 Forward-Port-Of: odoo/enterprise#36403
Original PR description
Add totals line on the Disallowed Expense Report (DNA) to provide useful information to accountants Task-3159139 Forward-Port-Of: odoo/enterprise#36403
- Create an asset with acquisition/depreciation date : 05/05/22, duration : 24 months - Confirm it - Create a journal entry on 09/09/22 - Press the cancel asset button => UserError, saying you cannot delete an entry which has not the last sequence. So, now, we force the deletion of the entries if they are not protected by lock date or an hash. task-3142477 Forward-Port-Of: odoo/enterprise#36578 Forward-Port-Of: odoo/enterprise#36113
Original PR description
- Create an asset with acquisition/depreciation date : 05/05/22, duration : 24 months - Confirm it - Create a journal entry on 09/09/22 - Press the cancel asset button => UserError, saying you cannot delete an entry which has not the last sequence. So, now, we force the deletion of the entries if they are not protected by lock date or an hash. task-3142477 Forward-Port-Of: odoo/enterprise#36578 Forward-Port-Of: odoo/enterprise#36113
Currently, the `useEffect` function uses a variable that will be set on the instance of the Knowledge renderer when the messaging service has finished loading. The loading occurs asynchronously. Sometimes, it may happen that the Knowledge renderer loads faster than the messaging service. In that case, the message service reference used in the `useEffect` functions of the Knowledge renderer can be undefined. The script can thus raise an error when it calls a function on the message service ref
Original PR description
Currently, the `useEffect` function uses a variable that will be set on the instance of the Knowledge renderer when the messaging service has finished loading. The loading occurs asynchronously.…
Currently, the `useEffect` function uses a variable that will be set on the instance of the Knowledge renderer when the messaging service has finished loading. The loading occurs asynchronously. Sometimes, it may happen that the Knowledge renderer loads faster than the messaging service. In that case, the message service reference used in the `useEffect` functions of the Knowledge renderer can be undefined. The script can thus raise an error when it calls a function on the message service reference. To fix the issue, we will move the code of the `useEffect` function using the messaging service to the promise loading the message service. The promise will have the responsibility to (1) load the service, (2) set the `messaging` variable used by the Knowledge renderer and (3) add some event listeners to the messaging bus. Those listeners will be removed when the Knowledge renderer is destroyed. With this approach, we do not have to wait for the messaging service to be loaded to start using Knowledge. task-3164403 Forward-Port-Of: odoo/enterprise#36591 Forward-Port-Of: odoo/enterprise#36554
Add a company that has test credentials for GST return e-filing as well as invoices for all GST sections. Forward-Port-Of: odoo/enterprise#35963
Original PR description
Add a company that has test credentials for GST return e-filing as well as invoices for all GST sections. Forward-Port-Of: odoo/enterprise#35963
The helper used to make an element visible was not really reliant. Runbot id: 15828 Forward-Port-Of: odoo/enterprise#36634 Forward-Port-Of: odoo/enterprise#36619
Original PR description
The helper used to make an element visible was not really reliant. Runbot id: 15828 Forward-Port-Of: odoo/enterprise#36634 Forward-Port-Of: odoo/enterprise#36619