Daily updates from Odoo
Navigate
Branch
Thursday, June 22, 2023
20 changes
Enhancements to existing features
New spreadsheets that are opened and closed without any edits will now be cleaned up automatically. This reduces clutter in Documents and saves users from manually finding and archiving empty spreadsheet files.
Original PR description
## Task Description When creating a new spreadsheet and directly closing it without any changes, it is automatically saved, leading clients to have lots of empty documents in the database and forcing them to regularly filter theirs documents to archive empty/unused spreadsheets. This task add an automated task in the autoremove cron to check every day if there is any empty spreadsheet (without any changes) created during the day before and, if there is some, to automatically remove it. ## Related Task - task-2871820
Spreadsheet exports to Excel now include embedded images, so files opened outside Odoo better match the original spreadsheet. This improves sharing and offline use by keeping visual content together with the exported workbook.
Original PR description
This commits implements the zipping of images when exporting to .xlsx file. Because the image file needs to be copied into the .xlsx, a helper function to get the image file using relative path is also made. This way we can avoid transfer the image between JS and Python backend. task [3125701](https://www.odoo.com/web#id=3125701&cids=1&menu_id=4720&action=333&active_id=2328&model=project.task&view_type=form)
Users can now personalize the main Odoo home menu by long-clicking and dragging app icons into their preferred order. The chosen order is saved to the user’s settings, making the layout persist across sessions and improving day-to-day navigation.
Original PR description
Before this commit, the application icons in the root menu of the enterprise version were fixed in order. It is now possible to drag and drop the icons after a long click to reorder them and the changes will be stored on the user model propagated by the session dict. Depends on changes made in community: https://github.com/odoo/odoo/pull/116005 opw-3181082
Resolved issues and error corrections
This update fixes the Knowledge editor helper so users can create a new article from its prompt when no articles exist. It also improves the mobile layout so the helper no longer blocks the sidebar, making navigation usable on phones.
Original PR description
This PR will address to following issues with the action helper of the Knowledge editor: 1. The link that allows users to create a new article from the action helper is currently broken: When the user clicks on it, nothing happens. This PR will address that issue by attaching to that link a listener that will allow the creation of an article. 2. On mobile devices, the action helper currently appears above the sidebar which makes some items of the sidebar unreachable. This commit will address that issue by updating the z-index of the different layers. Reference: https://github.com/odoo/enterprise/pull/34788 task-3367208
Users can now add or remove tags when working with one selected document. This fixes a workflow issue where tag changes appeared to do nothing, making document organization more reliable.
Original PR description
Before this commit: Select a document and try to add/remove a tag. Nothing happens and we are unable to add/remove the tag. Reason: Before any changes are updated, we call the '_save' method. And hence, the issue. After this commit: As a result, we are now able to add or remove tags to a single document. task-3299003
Code cleanup and technical improvements
The sales order process has been streamlined by removing the separate locked/done state and aligning related apps with the updated confirmation flow. This reduces workflow complexity across sales, rentals, field service, planning, helpdesk, tax, and Amazon integrations while keeping business processes consistent.
Original PR description
Task-3163931 Community PR: https://github.com/odoo/odoo/pull/115871 Upgrade PR: https://github.com/odoo/upgrade/pull/4452
The Knowledge app’s form search button was cleaned up behind the scenes to rely on newer platform components instead of older code. This reduces maintenance risk and adds automated checks to help keep the behavior stable for users.
Original PR description
This commit is a followup of https://github.com/odoo/enterprise/commit/0cf0f1107a1c60d1df382e302d218c291f49ec79 in which we remove dependency to the legacy web.core and add qunit tests.
Documentation and clarification updates
The Enterprise license link in General Settings now points to a publicly accessible Odoo documentation page instead of a private GitHub repository page. This prevents users without repository access from seeing a 404 error and makes license information easier to reach.
Original PR description
before this commit, if user clicks on the "Odoo Enterprise Edition License V1.0" in the general settings page, it redirects the user to the odoo enterprise github license page [1] but this page can only be accessed by the person who has access to the odoo enterprise repository, for others it will show 404 after this commit, on clicking the license link it will redirect to the public page: https://www.odoo.com/documentation/master/legal/licenses.html [1] https://github.com/odoo/enterprise/blob/master/LICENSE
Miscellaneous changes
Steps to reproduce: ------------------- - go to user "My profile"; - change timezone to one where you are yesterday; - reload the page; - click on global start button; - set a project; Remark: It is not possible to reproduce this problem at any time of day. Issue: ------ When we call the `action_add_time_to_timer` method, we don't yet have an existing timer. So we'll create one using the `action_timer_start` method (1). This will start a timer for the current timesheet. If the u
Original PR description
Steps to reproduce: ------------------- - go to user "My profile"; - change timezone to one where you are yesterday; - reload the page; - click on global start button; - set a project; Remark: It is…
Steps to reproduce: ------------------- - go to user "My profile"; - change timezone to one where you are yesterday; - reload the page; - click on global start button; - set a project; Remark: It is not possible to reproduce this problem at any time of day. Issue: ------ When we call the `action_add_time_to_timer` method, we don't yet have an existing timer. So we'll create one using the `action_timer_start` method (1). This will start a timer for the current timesheet. If the user does not yet have a timer in progress (and we want to display the timer), if the timesheet date is before today's date, we will create a new timesheet with the context date via `action_start_new_timesheet_timer`. Then we start a new timer via `action_timer_start`. We return to step (1). Cause: ------ The problem is that we are comparing a date that takes into account the Odoo context and a date that takes into account the system: `self.date < fields.Date.today()` can be written: `fields.Date.context_today(self) < fields.Date.today()` If the context is such that you find yourself one day ahead, this condition will always be `True`. We are therefore entering a recursion. Solution: --------- Use context to compare dates. opw-3309214 Forward-Port-Of: odoo/enterprise#42975
Bug: the property name was removed in https://github.com/odoo/odoo/commit/d200dcfb2c912353d404312b9d9484846868cf96 similar to: https://github.com/odoo/enterprise/pull/42033 https://github.com/odoo/enterprise/pull/40754 https://github.com/odoo/odoo/pull/124737 opw-3368194 Forward-Port-Of: odoo/enterprise#42517 Forward-Port-Of: odoo/enterprise#42410
Original PR description
Bug: the property name was removed in https://github.com/odoo/odoo/commit/d200dcfb2c912353d404312b9d9484846868cf96 similar to: https://github.com/odoo/enterprise/pull/42033 https://github.com/odoo/enterprise/pull/40754 https://github.com/odoo/odoo/pull/124737 opw-3368194 Forward-Port-Of: odoo/enterprise#42517 Forward-Port-Of: odoo/enterprise#42410
For whatever reason it was missed that a payslip is taken into consideration in case the payslip is marked as paid which is basically done on magic steroids. Info: @wt-io-it Forward-Port-Of: odoo/enterprise#42751
Original PR description
For whatever reason it was missed that a payslip is taken into consideration in case the payslip is marked as paid which is basically done on magic steroids. Info: @wt-io-it Forward-Port-Of: odoo/enterprise#42751
Before this commit, the report was broken when adding an extra column. This is because we were looking for specific indexes for the debit and credit columns. Steps: - Activate the debug mode - Go to Accounting->Configuration->Accounting Reports - Select Trial Balance and add a column with expression label 'balance' - Go to Trial Balance report -> Report is broken opw-3291610 Forward-Port-Of: odoo/enterprise#42016
Original PR description
Before this commit, the report was broken when adding an extra column. This is because we were looking for specific indexes for the debit and credit columns. Steps: - Activate the debug mode - Go to Accounting->Configuration->Accounting Reports - Select Trial Balance and add a column with expression label 'balance' - Go to Trial Balance report -> Report is broken opw-3291610 Forward-Port-Of: odoo/enterprise#42016
With a Germany company setup On the Bank journal: - Have the 'Bank Account' set as '1204 Bank' - In Incoming Payment tab, set a payment method outstanding receipts account equal to '1204 Bank' Create an invoice Register a payment, in the journal entry there should be 2 amls for accounts: - 1204 Bank - 1410 Forderungen aus Lieferungen u.Leistung Go to General Ledger Export DATEV Issue: Payment will be missing from accounting_entries.csv This occurs because we will fi
Original PR description
With a Germany company setup On the Bank journal: - Have the 'Bank Account' set as '1204 Bank' - In Incoming Payment tab, set a payment method outstanding receipts account equal to '1204 Bank' Create an invoice Register a payment, in the journal entry there should be 2 amls for accounts: - 1204 Bank - 1410 Forderungen aus Lieferungen u.Leistung Go to General Ledger Export DATEV Issue: Payment will be missing from accounting_entries.csv This occurs because we will filter out both aml of the move. The first one, because the account is equal to the counteraccount The second one, in the attempt to skip outstanding payment/receipt lines. opw-3340830 Forward-Port-Of: odoo/enterprise#42894 Forward-Port-Of: odoo/enterprise#42126
The Standard Business Reporting is a group of international programs instigated by a number of governments to reduce the regulatory burden for business. This commit aims to allow Dutch customers to send their tax report to the Dutch authorities (Belastingdienst) directly from Odoo. This new module: - adds some fields in the accounting settings: client certificate & private key, used to identify the company when sending the report to the authorities, - uses a new wizard to
Original PR description
The Standard Business Reporting is a group of international programs instigated by a number of governments to reduce the regulatory burden for business. This commit aims to allow Dutch customers to…
The Standard Business Reporting is a group of international programs instigated by a number of governments to reduce the regulatory burden for business.
This commit aims to allow Dutch customers to send their tax report to the Dutch authorities (Belastingdienst) directly from Odoo.
This new module:
- adds some fields in the accounting settings: client certificate &
private key, used to identify the company when sending the report
to the authorities,
- uses a new wizard to collect last useful information for correctly
sending the report to the tax authorities.
- generate the XBRL file containing the tax report information,
which can be downloaded or sent directly to the authorities.
This module will (should) be implemented in 15.0, without the use of xmlsec, as it is not present on Ubunto 20.04 (15.0 runbot and saas versions). That PR will probably be forwarded to 16 and master to avoid using xmlsec, which is prone to raising errors.
Forward-Port-Of: odoo/enterprise#42767
Forward-Port-Of: odoo/enterprise#36941This issue happens when we try to upsell a SO with recurrence and empty start date, the reason is because since there is no start_dt the value of this variable is False instead of a date. How to reproduce: 1. Create a Recurring product service type -> Create a Sales order with monthly recurrence -> Remove start date (from other info) -> Save and confirm-> Click Upsell -> Traceback 2. Another method to reproduce(V16) - Create a Sales order with monthly recurrence -> > Save and confirm-> Cl
Original PR description
This issue happens when we try to upsell a SO with recurrence and empty start date, the reason is because since there is no start_dt the value of this variable is False instead of a date. How to reproduce: 1. Create a Recurring product service type -> Create a Sales order with monthly recurrence -> Remove start date (from other info) -> Save and confirm-> Click Upsell -> Traceback 2. Another method to reproduce(V16) - Create a Sales order with monthly recurrence -> > Save and confirm-> Click Upsell -> Confirm upsell order -> remove start date from upsell order -> confirm order -> Create invoice -> Traceback OPW: 3297893 Forward-Port-Of: odoo/enterprise#42880 Forward-Port-Of: odoo/enterprise#41883
This commit fixes a bug where the test `test_knowledge_template_command_tour` would be failing inside runbot build and create error on every runbot build. We removed the `@users` decorator from the test and moved the partner creation to the setUpClass. We also remarked that the parameter allow_end_on_form was causing problems with the tests, so we removed all the usages of the parameter and adapted the impacted tests with a new step. This step brings the user to the apps menu, this way
Original PR description
This commit fixes a bug where the test `test_knowledge_template_command_tour` would be failing inside runbot build and create error on every runbot build. We removed the `@users` decorator from the test and moved the partner creation to the setUpClass. We also remarked that the parameter allow_end_on_form was causing problems with the tests, so we removed all the usages of the parameter and adapted the impacted tests with a new step. This step brings the user to the apps menu, this way we ensure that the record has been correctly flushed before ending the tour. task-3345004 Co-authored-by: Thomas Josse <thjo@odoo.com> Co-authored-by: Damien Abeloos <abd@odoo.com> Forward-Port-Of: odoo/enterprise#42836 Forward-Port-Of: odoo/enterprise#42555
Steps: - Install project app. - Enable 'Task Dependencies' from configuration-> Setting Issue: - From task form view 'Blocked By' open add task dialog and create new task from 'New' button of dialog traceback ' field.selection is undefined'. - Same traceback for calendar view if task having sub task it is not able to open Cause: -The recent changes in web [1] replace the use of the method find from lodash with the method find of Array in native JS. In abstractModel, the method fin
Original PR description
Steps: - Install project app. - Enable 'Task Dependencies' from configuration-> Setting Issue: - From task form view 'Blocked By' open add task dialog and create new task from 'New' button of dialog…
Steps: - Install project app. - Enable 'Task Dependencies' from configuration-> Setting Issue: - From task form view 'Blocked By' open add task dialog and create new task from 'New' button of dialog traceback ' field.selection is undefined'. - Same traceback for calendar view if task having sub task it is not able to open Cause: -The recent changes in web [1] replace the use of the method find from lodash with the method find of Array in native JS. In abstractModel, the method find is used to check is the key 0 is present in a selection field. However, the attribute "selection" may not exist for some fields and therefore, the call of "find" for this attribute will results in a traceback. Fix: - A simple check is added to ensure that the attribute "selection" exists before calling its method find. [1]https://github.com/odoo/odoo/pull/117319 task-3268923 related-https://github.com/odoo/odoo/pull/120103/files Co-Author-By: Hugo Carlier <huca@odoo.com> Forward-Port-Of: odoo/enterprise#41717
In this PR, - The 'timesheet_uom_timer' widget has been removed from the tree view of All Timesheet. - Fix preview of shift re-assigned mail template. task-3304959 Forward-Port-Of: odoo/enterprise#40871
Original PR description
In this PR, - The 'timesheet_uom_timer' widget has been removed from the tree view of All Timesheet. - Fix preview of shift re-assigned mail template. task-3304959 Forward-Port-Of: odoo/enterprise#40871
* sale_purchase_inter_company_rules before this commit, in UserError instead of %s % was written after this commit, missing s will be added to string formatter issue: https://github.com/odoo/odoo/issues/69963 Forward-Port-Of: odoo/enterprise#42909 Forward-Port-Of: odoo/enterprise#41909
Original PR description
* sale_purchase_inter_company_rules before this commit, in UserError instead of %s % was written after this commit, missing s will be added to string formatter issue: https://github.com/odoo/odoo/issues/69963 Forward-Port-Of: odoo/enterprise#42909 Forward-Port-Of: odoo/enterprise#41909
This commit contains the test for keyError of mrp workcenter when confirming the manufacturing order. sentry-4146643254 Forward-Port-Of: odoo/enterprise#42813 Forward-Port-Of: odoo/enterprise#41956
Original PR description
This commit contains the test for keyError of mrp workcenter when confirming the manufacturing order. sentry-4146643254 Forward-Port-Of: odoo/enterprise#42813 Forward-Port-Of: odoo/enterprise#41956