Monday, June 16, 2025
36 changes · saas-18.3
Enhancements to existing features
This change prevents automatic PDF creation for statement demo data during installation. It avoids unnecessary warnings when the PDF service is unavailable, making demo database setup cleaner and less confusing.
Original PR description
In the enterprise commit, we create a pdf at the creation of the statement. But for demo data, the connection to wkhtml2pdf is unreachable and it makes a warning. This will add a context key to avoid the pdf to be created when installing demo data task-4863754 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Resolved issues and error corrections
This fix keeps the current screen visible while users reload or switch views, avoiding a brief blank or flickering state. It improves the experience in common list, kanban, graph, and pivot views without changing business workflows.
Original PR description
This commit is a followup of odoo/odoo#205129 where we now directly display the view, without waiting for its data, such that the control panel is directly available. However, this isn't necessary when we are reloading the view by clicking on the view switcher. Indeed, in that case, the control panel is already displayed. Moreover, clearing the view in that case produces an annoying flickering. This commit thus disables the "show control panel asap" logic in the case of a reload. Followup of task-4727791 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
Commit [1] added a compatibility layer when we switched to Bootstrap 4. That compatibility layer actually still exists in master, even though we are now using Bootstrap 5. A specific rule was forcing input-group elements on one row... which conflicts with the fact that invalid feedbacks are supposed to wrap on the next row. This commit fixes that by re-enabling the wrap, when such a feedback is displayed only. In master, the rule should probably be removed, hoping outdated layouts were update
Original PR description
Commit [1] added a compatibility layer when we switched to Bootstrap 4. That compatibility layer actually still exists in master, even though we are now using Bootstrap 5. A specific rule was forcing…
Commit [1] added a compatibility layer when we switched to Bootstrap 4. That compatibility layer actually still exists in master, even though we are now using Bootstrap 5. A specific rule was forcing input-group elements on one row... which conflicts with the fact that invalid feedbacks are supposed to wrap on the next row.
This commit fixes that by re-enabling the wrap, when such a feedback is displayed only. In master, the rule should probably be removed, hoping outdated layouts were updated to Bootstrap 4+ correctly at this point (not even sure what exactly is broken by not forcing the input-group on one row).
Steps to reproduce:
- Add a form in your website page
- Add a date field (this is an input-group)
- Make it required
- Save
- Open the HTML editor(*) and add an invalid-feedback in that field
- Save
- Send your form without filling it => the input-group is broken
(*) starting from 18.4, there is a standard use case on the /my/security
page. There might be unknown usecases between 16.0 and 18.4.
[1]: https://github.com/odoo/odoo/commit/7aa473e09944bc5c1aba2dbcd611097dd36db6c5
Related to task-3959739
Forward-Port-Of: odoo/odoo#214029Long linked-record names in list views are now shortened when their column is too narrow. This keeps rows tidy and prevents text from spilling into nearby content, improving readability in dense lists.
Original PR description
After this commit, the text of many2ones is truncated when the list view's columns are too small for the text.
The allocations search bar now looks for employees first instead of descriptions. This makes it faster for managers to find leave allocations linked to a specific employee.
Original PR description
In Management < Allocations, the first research was Description. The search bar has been adjusted to search allocations by employee firstly.
Fixes an issue in Odoo Studio where clearing the Default Group By field could cause an error and leave the view stuck loading. Users can now remove this setting safely without interrupting their workflow.
Original PR description
A `ValueError` occurs when we set and remove values `Default Group By` in terminal when you click the cross button multiple times the view gets stuck in infinite loading screen. **Steps to reproduce:** * Install `web_studio` and `inventory` with demo data * Inventory>Toggle Studio button>View * Select any value in `Default Group By` and remove it using cross button. `ValueError: Invalid field 'None' on model 'stock.picking.type'` **Solution:** * The Javascript is passing null value instead we pass an empty string. **Sentry-6618531530**
When receiving a websocket message, an iot box identifies if it needs to process it depending on the mac address contained in the message. If an IoT Box was connected through ethernet, then switched to Wi-Fi, it disconnects then reconnects to the websocket channel, but the db still sends messages containing the previous mac address (`eth0` interface's one). We now check if the mac address contained in the message is part of those from all rpi's interfaces. Task: 4860617 Forward-Port-Of
Original PR description
When receiving a websocket message, an iot box identifies if it needs to process it depending on the mac address contained in the message. If an IoT Box was connected through ethernet, then switched to Wi-Fi, it disconnects then reconnects to the websocket channel, but the db still sends messages containing the previous mac address (`eth0` interface's one). We now check if the mac address contained in the message is part of those from all rpi's interfaces. Task: 4860617 Forward-Port-Of: odoo/odoo#213741
Before this commit there was a race condition that prevented other DynmaicPlaceholder to be spawned because they waited a Promise that was initiated by a now dead instance of the same class This was because the cached promise was originating from a protected method (orm service, with useService) Also, the cache did not account for failures. After this commit, there is no concurrency failures of that kind. opw-4815802 Description of the issue/feature this PR addresses: Current beha
Original PR description
Before this commit there was a race condition that prevented other DynmaicPlaceholder to be spawned because they waited a Promise that was initiated by a now dead instance of the same class This was because the cached promise was originating from a protected method (orm service, with useService) Also, the cache did not account for failures. After this commit, there is no concurrency failures of that kind. opw-4815802 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#213799
- Ensure that multiple (rapid) clicks on the order button no longer print duplicate preparation tickets. - Await for the order to be printed, as it's done in `saas-18.2` since the following PR (https://github.com/odoo/odoo/pull/204444). Steps to reproduce: - Connect a preparation printer to the restaurant - Make an order - Spam the order btn to send the order to the kitchen - => Multiple preparation ticket for the same order are printed task-id: 4752376 --- I confirm I have si
Original PR description
- Ensure that multiple (rapid) clicks on the order button no longer print duplicate preparation tickets. - Await for the order to be printed, as it's done in `saas-18.2` since the following PR (https://github.com/odoo/odoo/pull/204444). Steps to reproduce: - Connect a preparation printer to the restaurant - Make an order - Spam the order btn to send the order to the kitchen - => Multiple preparation ticket for the same order are printed task-id: 4752376 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#212694 Forward-Port-Of: odoo/odoo#210526
Global purpose is to make mail/view controller more resilient by improving redirections when not having access to the record. Notably * correctly route internal users to discuss, portal users to /my and unlogged users to login; * keep original mail/view route when performing redirection after login so that we try the routing again; * fix various issues in redirect computation, such as lost access token parameter or partial reconstruction of URLs; Improve test coverage.
Original PR description
Global purpose is to make mail/view controller more resilient by improving redirections when not having access to the record. Notably * correctly route internal users to discuss, portal users to /my and unlogged users to login; * keep original mail/view route when performing redirection after login so that we try the routing again; * fix various issues in redirect computation, such as lost access token parameter or partial reconstruction of URLs; Improve test coverage. Task-4685166 Forward-Port-Of: odoo/odoo#214119 Forward-Port-Of: odoo/odoo#212545
Prevent sending empty array to indexedDB to avoid useless writes and potential errors. Check variable before calling a the `isEquals` method on it to avoid TypeError when the variable is undefined. Forward-Port-Of: odoo/odoo#214166
Original PR description
Prevent sending empty array to indexedDB to avoid useless writes and potential errors. Check variable before calling a the `isEquals` method on it to avoid TypeError when the variable is undefined. Forward-Port-Of: odoo/odoo#214166
Added new tax and tax group for the 24% VAT rate effective from 1 July 2025. Updated account.tax.report to include a new line for the 24% VAT rate (Line 1) to ensure backward compatibility with reports generated before 1 July 2025. Updated account.tax.report to include a new line for the 22% VAT rate (Line 1_2). Ensured automatic creation of new taxes and tax groups during module upgrade. Adjusted related tax report data and views reflect the updated VAT rate. Maintained compatibility wi
Original PR description
Added new tax and tax group for the 24% VAT rate effective from 1 July 2025. Updated account.tax.report to include a new line for the 24% VAT rate (Line 1) to ensure backward compatibility with reports generated before 1 July 2025. Updated account.tax.report to include a new line for the 22% VAT rate (Line 1_2). Ensured automatic creation of new taxes and tax groups during module upgrade. Adjusted related tax report data and views reflect the updated VAT rate. Maintained compatibility with existing data and reports by preserving the 22% VAT rate for historical records. For technical info please see: https://www.emta.ee/en/business-client/e-services-training-courses/how-use-e-services/technical-information-services#value-added-tax-return --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#213805 Forward-Port-Of: odoo/odoo#207751
Issue: field `amount_company_currency_signed` does not have the correct sign when the payment is created without an associated move It occurs because we convert the `amount` but we should use the `amount_signed` opw-4656807 Forward-Port-Of: odoo/odoo#213653
Original PR description
Issue: field `amount_company_currency_signed` does not have the correct sign when the payment is created without an associated move It occurs because we convert the `amount` but we should use the `amount_signed` opw-4656807 Forward-Port-Of: odoo/odoo#213653
Problem: When the `codeview` option is enabled in the HTML editor, embedded components like videos no longer work and disappear from the content. Cause: The `html_field` overrides `config.resources` entirely when `codeview` is enabled, which prevents other required plugins (e.g., for embedded components) from being loaded. Solution: Move the code view logic into its own dedicated plugin, consistent with how other optional features are handled, to avoid overriding `config.resources`.
Original PR description
Problem: When the `codeview` option is enabled in the HTML editor, embedded components like videos no longer work and disappear from the content. Cause: The `html_field` overrides `config.resources` entirely when `codeview` is enabled, which prevents other required plugins (e.g., for embedded components) from being loaded. Solution: Move the code view logic into its own dedicated plugin, consistent with how other optional features are handled, to avoid overriding `config.resources`. Steps to reproduce: 1. Open an HTML field. 2. Add a video (embedded component). 3. Enable the `codeview` option. 4. Enter debug mode. → The video disappears from the content. opw-4837016 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#214163
**Current behavior before PR:** When the user opened the Favorite category with no favorite GIFs, nothing was shown. This was caused by using `.length` on Map objects (`evenGif.gifs` and `oddGif.gifs`) , which should have been `.size`. (since #131344 ) **Desired behavior after PR is merged:** Help message is correctly displayed when no favorite GIFs are available. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo
Original PR description
**Current behavior before PR:** When the user opened the Favorite category with no favorite GIFs, nothing was shown. This was caused by using `.length` on Map objects (`evenGif.gifs` and `oddGif.gifs`) , which should have been `.size`. (since #131344 ) **Desired behavior after PR is merged:** Help message is correctly displayed when no favorite GIFs are available. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#214026 Forward-Port-Of: odoo/odoo#213374
When User removes the currency from an invoice, A traceback will appear. Steps to reproduce the error: - Install ``l10n_es`` module and switch to ``ES Company`` - Enable Multiple currency - Create an invoice > Set customer > save - Now, Remove currency and customer from an invoice Traceback: ``` ValueError: Expected singleton: res.currency() ``` https://github.com/odoo/odoo/blob/51fcbd211d2b1abf4b93becedbcbb9e03002cdd6/addons/l10n_es/models/account_move.py#L23 This line causes
Original PR description
When User removes the currency from an invoice, A traceback will appear. Steps to reproduce the error: - Install ``l10n_es`` module and switch to ``ES Company`` - Enable Multiple currency - Create an invoice > Set customer > save - Now, Remove currency and customer from an invoice Traceback: ``` ValueError: Expected singleton: res.currency() ``` https://github.com/odoo/odoo/blob/51fcbd211d2b1abf4b93becedbcbb9e03002cdd6/addons/l10n_es/models/account_move.py#L23 This line causes a traceback with an empty currency when the user removes the currency from the invoice. sentry-6670501631 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#214184 Forward-Port-Of: odoo/odoo#213731
Currently, we prevent user to register payment for invoices belonging to different branches. With this commit, when trying to register payments for two invoices belonging to different branches, we register it as parent company. Steps: - Have a main company with 2 branch - Create and confirm one invoice for each branch - Select both branches in company selector - From the invoice list view, select the 2 invoices - Try to register payment -> Error: "You can't create payments for entries belongin
Original PR description
Currently, we prevent user to register payment for invoices belonging to different branches. With this commit, when trying to register payments for two invoices belonging to different branches, we register it as parent company. Steps: - Have a main company with 2 branch - Create and confirm one invoice for each branch - Select both branches in company selector - From the invoice list view, select the 2 invoices - Try to register payment -> Error: "You can't create payments for entries belonging to different branches." opw-4563936 Forward-Port-Of: odoo/odoo#214183 Forward-Port-Of: odoo/odoo#212686
Steps to reproduce the issue: 1- install sale_project without demo data 2- as the test is not deterministic, adding step_delay may help reproducing it The project creation tour was intermittently failing at the step that attempts to save the project (.o_form_button_save:enabled). The failure occurred because this step was triggered while a modal (for creating a Sales Order Item) was still visible and overlaid on top of the main form. Add missing steps in the project tour to select a
Original PR description
Steps to reproduce the issue: 1- install sale_project without demo data 2- as the test is not deterministic, adding step_delay may help reproducing it The project creation tour was intermittently failing at the step that attempts to save the project (.o_form_button_save:enabled). The failure occurred because this step was triggered while a modal (for creating a Sales Order Item) was still visible and overlaid on top of the main form. Add missing steps in the project tour to select a product in the Sales Order Item form and save and close the form. build_error-163102 Forward-Port-Of: odoo/odoo#211934
- Ensured that when a group of taxes is selected, the designated label is displayed on the invoice instead of the tax names. Task-4637341 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#211077 Forward-Port-Of: odoo/odoo#201308
Original PR description
- Ensured that when a group of taxes is selected, the designated label is displayed on the invoice instead of the tax names. Task-4637341 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#211077 Forward-Port-Of: odoo/odoo#201308
Follow-up of [1]. - Using `invalidate_model` without giving the related field seems to be causing issues in the master version. Let's just mention what we need only to be sure. - Check the proper update of write_date.s (note that this was already done in some forward-ported versions of [1]). - Use two distinct "new dates" so that potential cache features do not make the test pass by chance, and ease debugging of the test. [1]: https://github.com/odoo/odoo/commit/4df533196d3cfdee34beb
Original PR description
Follow-up of [1]. - Using `invalidate_model` without giving the related field seems to be causing issues in the master version. Let's just mention what we need only to be sure. - Check the proper update of write_date.s (note that this was already done in some forward-ported versions of [1]). - Use two distinct "new dates" so that potential cache features do not make the test pass by chance, and ease debugging of the test. [1]: https://github.com/odoo/odoo/commit/4df533196d3cfdee34beb2ae604f569e67cf4f93 Forward-Port-Of: odoo/odoo#213851 Forward-Port-Of: odoo/odoo#213760
the tour was failing because the phone number was not set in the website configuration, which is required for the add to cart snippet tour to pass because it checks the phone number in the billing address form page which is required to be filled in order to proceed with the tour and confirm order is on the next page which is not reached so the tour was failing due to timeout build_error-160894 Forward-Port-Of: odoo/odoo#213870 Forward-Port-Of: odoo/odoo#213178
Original PR description
the tour was failing because the phone number was not set in the website configuration, which is required for the add to cart snippet tour to pass because it checks the phone number in the billing address form page which is required to be filled in order to proceed with the tour and confirm order is on the next page which is not reached so the tour was failing due to timeout build_error-160894 Forward-Port-Of: odoo/odoo#213870 Forward-Port-Of: odoo/odoo#213178
Fix runbot error where opening quickly two times the `selectPresetTimingSlotHour` would ignore the second call since the method `openPresetTimin` is `asyncLocked`. Now, we only call it one time in the tours, which is sufficient for testing the presets. runbot error: 226439 Forward-Port-Of: odoo/odoo#213097
Original PR description
Fix runbot error where opening quickly two times the `selectPresetTimingSlotHour` would ignore the second call since the method `openPresetTimin` is `asyncLocked`. Now, we only call it one time in the tours, which is sufficient for testing the presets. runbot error: 226439 Forward-Port-Of: odoo/odoo#213097
Have a model that returns a warning onchange during the first call to onchange. On another model that has a many2one to the first model, Create And Edit a record via the many2one field on the form view. Before this commit, there was an endless loop because on dialog was triggering the opening of a second one *during* its willStart lifecycle period, so none of them end up mounted, instead, the formViewDialog was constantly reinstanciated because the dialog container constantly received request
Original PR description
Have a model that returns a warning onchange during the first call to onchange. On another model that has a many2one to the first model, Create And Edit a record via the many2one field on the form view. Before this commit, there was an endless loop because on dialog was triggering the opening of a second one *during* its willStart lifecycle period, so none of them end up mounted, instead, the formViewDialog was constantly reinstanciated because the dialog container constantly received requests to re-render. After this commit, we only open those dialog onMounted of the main component, and this issue doesn't occur anymore. opw-4783459 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#213888 Forward-Port-Of: odoo/odoo#213742
there was a divide by zero in the price unit computation when the originalTotal is 0 which lead to infinity price unit and a crash in the POS order summary result. opw-4650315 Forward-Port-Of: odoo/odoo#202668
Original PR description
there was a divide by zero in the price unit computation when the originalTotal is 0 which lead to infinity price unit and a crash in the POS order summary result. opw-4650315 Forward-Port-Of: odoo/odoo#202668
Following page 35 of the documentation here https://www.six-group.com/dam/download/banking-services/standardization/sps/ig-credit-transfer-sps2024-2.1.1-en.pdf In Switzerland, SEPA and ISO20022 are considered as subsets of the Swiss standard, and it is hence possible to include within the Swiss file nodes that are generated following these formats. We didn't support that before this commit. To allow that, we also remove the ability to force the value of the ChrgBr node when using SEPA ; ot
Original PR description
Following page 35 of the documentation here https://www.six-group.com/dam/download/banking-services/standardization/sps/ig-credit-transfer-sps2024-2.1.1-en.pdf In Switzerland, SEPA and ISO20022 are considered as subsets of the Swiss standard, and it is hence possible to include within the Swiss file nodes that are generated following these formats. We didn't support that before this commit. To allow that, we also remove the ability to force the value of the ChrgBr node when using SEPA ; other values as SLEV are not supported by that format anyway. opw-4535542 Forward-Port-Of: odoo/enterprise#87441 Forward-Port-Of: odoo/enterprise#86996
Rounding errors may occur when using `int()` on float values. Steps to reproduce: - Create an invoice with a total amount of 256.46 - Create a RIBA payment for this invoice - Add this payment to a batch payment - Export the batch payment file In the exported file, the amount should be 25646, but it is incorrectly 25645 in two places. This happens because in Python: `int(256.46 * 100) → int(25645.999999...) → 25645` To fix this, we use `float_round()` to round correctly the float
Original PR description
Rounding errors may occur when using `int()` on float values. Steps to reproduce: - Create an invoice with a total amount of 256.46 - Create a RIBA payment for this invoice - Add this payment to a batch payment - Export the batch payment file In the exported file, the amount should be 25646, but it is incorrectly 25645 in two places. This happens because in Python: `int(256.46 * 100) → int(25645.999999...) → 25645` To fix this, we use `float_round()` to round correctly the float before applying `int()` to convert the value to an integer. This ensures accurate rounding for exported payment amounts. Ticket [link](https://www.odoo.com/odoo/project/967/tasks/4858205) opw-4858205 Forward-Port-Of: odoo/enterprise#87703 Forward-Port-Of: odoo/enterprise#87597
remove the unnecessary selector that was causing the tour test to fail 00:1 was not found in the view nor the DOM  build_error-163619 Forward-Port-Of: odoo/enterprise#87105
Original PR description
remove the unnecessary selector that was causing the tour test to fail 00:1 was not found in the view nor the DOM  build_error-163619 Forward-Port-Of: odoo/enterprise#87105
…t mail should do Before this commit, in the reportEditor, add a field (by typing "/") There was calls made to the server that are not necessary for the report editor. This commit removes the calls by overriding the corresponding method. opw-4815802 Forward-Port-Of: odoo/enterprise#87425
Original PR description
…t mail should do Before this commit, in the reportEditor, add a field (by typing "/") There was calls made to the server that are not necessary for the report editor. This commit removes the calls by overriding the corresponding method. opw-4815802 Forward-Port-Of: odoo/enterprise#87425
- Fix error when trying to `Mark as Ready` an order coming from `pos_urban_piper` when using it with a Belgian blackbox. - Now we also correctly send a NS (Normal Sale) to the blackbox. task-id: 4781945 Forward-Port-Of: odoo/enterprise#87648
Original PR description
- Fix error when trying to `Mark as Ready` an order coming from `pos_urban_piper` when using it with a Belgian blackbox. - Now we also correctly send a NS (Normal Sale) to the blackbox. task-id: 4781945 Forward-Port-Of: odoo/enterprise#87648
In this commit: ------------ - We are fixing the unknown key "test" runbot error. runbot error-226611 Forward-Port-Of: odoo/enterprise#87482
Original PR description
In this commit: ------------ - We are fixing the unknown key "test" runbot error. runbot error-226611 Forward-Port-Of: odoo/enterprise#87482
Added compatibility with Estonia tax report version KMD6 that is valid from 1. July 2025. For technical info please see: https://www.emta.ee/en/business-client/e-services-training-courses/how-use-e-services/technical-information-services#value-added-tax-return Forward-Port-Of: odoo/enterprise#87426 Forward-Port-Of: odoo/enterprise#84306
Original PR description
Added compatibility with Estonia tax report version KMD6 that is valid from 1. July 2025. For technical info please see: https://www.emta.ee/en/business-client/e-services-training-courses/how-use-e-services/technical-information-services#value-added-tax-return Forward-Port-Of: odoo/enterprise#87426 Forward-Port-Of: odoo/enterprise#84306
**Before this commit:** - If the user had a website with a theme, then exporting from `Studio Export` would fail if no changes were made to the view via `web_studio`. **After this commit:** - The export now completes successfully, even when there are no changes made in the view through `web_studio`. task-4815179 Forward-Port-Of: odoo/enterprise#87655 Forward-Port-Of: odoo/enterprise#86972
Original PR description
**Before this commit:** - If the user had a website with a theme, then exporting from `Studio Export` would fail if no changes were made to the view via `web_studio`. **After this commit:** - The export now completes successfully, even when there are no changes made in the view through `web_studio`. task-4815179 Forward-Port-Of: odoo/enterprise#87655 Forward-Port-Of: odoo/enterprise#86972
The Libro Giornale report was missing the bank (liquidity) line for payment entries, which caused the report to be unbalanced. This happened because the report is based on the standard journal report, which skips liquidity lines by default. To fix this, the `_get_export_lines_for_journal` method was updated to treat the bank line like a normal journal line, so it now appears in the report. This ensures that payment entries show both the credit and debit sides as required. Return to t
Original PR description
The Libro Giornale report was missing the bank (liquidity) line for payment entries, which caused the report to be unbalanced. This happened because the report is based on the standard journal report, which skips liquidity lines by default. To fix this, the `_get_export_lines_for_journal` method was updated to treat the bank line like a normal journal line, so it now appears in the report. This ensures that payment entries show both the credit and debit sides as required. Return to the default pdf and xml buttons name and remove _custom_options_initializer overwrite function task-4830113 Forward-Port-Of: odoo/enterprise#86984
Enterprise part of https://github.com/odoo/odoo/pull/213653 opw-4656807 Forward-Port-Of: odoo/enterprise#87478
Original PR description
Enterprise part of https://github.com/odoo/odoo/pull/213653 opw-4656807 Forward-Port-Of: odoo/enterprise#87478
Steps: - Install `documents` - Open documents - Try to drag a file from your file explorer to documents A document can only be dragged into a free zone, i.e. not into areas of the screen where a record (file) is. This makes drag'n'drop less practical when a user has a lot of files, leaving almost no space left on the screen. opw-4699728 Forward-Port-Of: odoo/enterprise#87583 Forward-Port-Of: odoo/enterprise#86500
Original PR description
Steps: - Install `documents` - Open documents - Try to drag a file from your file explorer to documents A document can only be dragged into a free zone, i.e. not into areas of the screen where a record (file) is. This makes drag'n'drop less practical when a user has a lot of files, leaving almost no space left on the screen. opw-4699728 Forward-Port-Of: odoo/enterprise#87583 Forward-Port-Of: odoo/enterprise#86500
Steps to reproduce: 1. Install website_sale_renting. 2. Go to the Website -> shop, open the renting product 3. Try to set today's date as start date of the Rental Period Issue: - The default date was always set to the next day with the current time hours. That's making it impossible for users to select today's date without Adjusting the time manually. Solution: - Updated the logic for hourly rentals to set the default date next day with adding one hour from the current time, to allow
Original PR description
Steps to reproduce: 1. Install website_sale_renting. 2. Go to the Website -> shop, open the renting product 3. Try to set today's date as start date of the Rental Period Issue: - The default date was always set to the next day with the current time hours. That's making it impossible for users to select today's date without Adjusting the time manually. Solution: - Updated the logic for hourly rentals to set the default date next day with adding one hour from the current time, to allow customers to select the current date Reference-https://github.com/odoo/enterprise/commit/32b5db6242a0a9cf43002e3723442be7d0cd210a opw-4844754 Forward-Port-Of: odoo/enterprise#86908