Friday, August 16, 2024
24 changes · saas-17.4
Resolved issues and error corrections
This fixes an issue where missed online presence updates were sent to all subscribers instead of only the user who had just subscribed. It reduces unnecessary notifications and helps keep presence information targeted and accurate for users.
Original PR description
Since [1], bus presences are only sent to interested users. Since notifications about presences can be missed between the subscribe client side and the subscribe server side, missed presences are sent when subscribing to new presences. However, the missed presences are broadcasted to every subscriber while it should only be done for the user that just subscribed. This PR fixes this issue. [1]: https://github.com/odoo/odoo/pull/175972
This fix fine-tunes how Odoo's core system registry is based when using the /odoo path. It helps ensure the application initializes and routes requests reliably, reducing the risk of internal access or startup issues for users.
Original PR description
Fine-tunning of c9c58b1d54ad411d9b17914ebf0a6de9273b38dc, see related commit message. 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
A test in the tour recorder area now properly completes before ending. This prevents leftover background activity from interfering with later checks, improving build reliability without changing user-facing behavior.
Original PR description
The last test of tour_recorder was running a tour did not finish it. So an observer remain after the test and this observer was trying to access the fixture. Now the tour is completed before the end of the test. Build error: 75000 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The point of sale receipt screen now shows the resume order button whenever there is at least one open order. This helps cashiers quickly return to pending orders instead of missing the option until multiple orders are open.
Original PR description
The condition for showing the resume order button on the receipt_screen was not working properly. The condition was checking if there was 2 or more open orders but we want to show it if there is 1 or more open orders. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Restaurant tables with upcoming appointments now show the correct table number. This removes an unnecessary extra “T” prefix, reducing confusion for staff managing reservations and seating.
Original PR description
When a table has an upcoming appointment, the table number shown is incorrect. ( a `T` is prepended to the name for no reason ) In this commit we fix the issue and refactor the code slightly. Task: 4110510
Miscellaneous changes
Backport of https://github.com/odoo/odoo/pull/169051 opw-3901878 Forward-Port-Of: odoo/odoo#166277
Original PR description
Backport of https://github.com/odoo/odoo/pull/169051 opw-3901878 Forward-Port-Of: odoo/odoo#166277
Since [1], the memory limit for the gevent workers can be configured with the `limit_memory_*_gevent` options. However, defaults are missing. As a result, when the `--save` option is used, the config file contains `None` values for those options. Parsing this file later on will result in an error since `None` cannot be parsed as an integer value. This PR fixes this issue by providing `False` as a default value. This value was chosen over 0 because it clearly indicates the intent to igno
Original PR description
Since [1], the memory limit for the gevent workers can be configured with the `limit_memory_*_gevent` options. However, defaults are missing. As a result, when the `--save` option is used, the config file contains `None` values for those options. Parsing this file later on will result in an error since `None` cannot be parsed as an integer value. This PR fixes this issue by providing `False` as a default value. This value was chosen over 0 because it clearly indicates the intent to ignore this option and aligns with other option defaults. [1]: https://github.com/odoo/odoo/pull/172604 Forward-Port-Of: odoo/odoo#176773
Backport of: a9be2e45d8db5011cfcbef8f5d81ce4127d5d151 Steps to reproduce: - Planning > Configuration > Shift Templates > Create - Configure the Shift so that it ends 1 minute into the next day. ==> "(2 days span)" is not displayed in the shift template name. What happens: The rounding precision on the number of days computation only goes up to a 16th of a day, any less was rounded down and show up as 1 day (i.e 1-14 minutes assuming 40h work weeks, ...). This 16th rounding was removed e
Original PR description
Backport of: a9be2e45d8db5011cfcbef8f5d81ce4127d5d151 Steps to reproduce: - Planning > Configuration > Shift Templates > Create - Configure the Shift so that it ends 1 minute into the next day. ==> "(2 days span)" is not displayed in the shift template name. What happens: The rounding precision on the number of days computation only goes up to a 16th of a day, any less was rounded down and show up as 1 day (i.e 1-14 minutes assuming 40h work weeks, ...). This 16th rounding was removed entirely. opw-3911429 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#176742 Forward-Port-Of: odoo/odoo#173645
Therefore there's nothing especially wrong in styling it like a button e.g. in the statusbar. Forward-Port-Of: odoo/odoo#176616
Original PR description
Therefore there's nothing especially wrong in styling it like a button e.g. in the statusbar. Forward-Port-Of: odoo/odoo#176616
Steps to reproduce: - Time off > Calendar view > Double click on a day - Sick leave > Attach document > Save - View the leave from calendar The attachment preview window overlaps the leave modal information, making it unreadable. The preview is only displayed above large media breakpoints (> 1550px) so make sure to fullscreen. In 16.0 we used a custom element to render the preview which is no longer available https://github.com/odoo/odoo/commit/824024f8aaa4a5419646d4eec7f529277869ceac#
Original PR description
Steps to reproduce: - Time off > Calendar view > Double click on a day - Sick leave > Attach document > Save - View the leave from calendar The attachment preview window overlaps the leave modal information, making it unreadable. The preview is only displayed above large media breakpoints (> 1550px) so make sure to fullscreen. In 16.0 we used a custom element to render the preview which is no longer available https://github.com/odoo/odoo/commit/824024f8aaa4a5419646d4eec7f529277869ceac#diff-a5f278935504f8e1b287b52fbb88f6e58dedc727ec2c7f1a6a04a67202f18fdaR63. opw-4088218 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#176598
IoT image was missing `xinput` dependency. Required by: [https://github.com/odoo/odoo/pull/174009](https://github.com/odoo/odoo/pull/174009) Forward-Port-Of: odoo/odoo#176751
Original PR description
IoT image was missing `xinput` dependency. Required by: [https://github.com/odoo/odoo/pull/174009](https://github.com/odoo/odoo/pull/174009) Forward-Port-Of: odoo/odoo#176751
The `test_notify_on_status_change` ensures user presences are received when updated. To do so, they send a websocket message to the server. However, there is no guarantee the presence was updated after sending the message as the processing is asynchronous. This PR fixes the issue by directly calling `_update_presence` and waitng for the answer through the websocket. runbot-74017 Forward-Port-Of: odoo/odoo#176728
Original PR description
The `test_notify_on_status_change` ensures user presences are received when updated. To do so, they send a websocket message to the server. However, there is no guarantee the presence was updated after sending the message as the processing is asynchronous. This PR fixes the issue by directly calling `_update_presence` and waitng for the answer through the websocket. runbot-74017 Forward-Port-Of: odoo/odoo#176728
In versions v17 and up, a div with class `.o-discuss-CallInvitations` was causing issues by blocking the scrollbar's up arrow, preventing users from scrolling up. To address this, the display of the `.o-discuss-CallInvitations` div is now conditional, based on `store.discuss.ringingThreads.length > 0`. This ensures the div only appears when necessary, avoiding obstruction of the scrollbar and improving usability. opw-4108057 Forward-Port-Of: odoo/odoo#176608
Original PR description
In versions v17 and up, a div with class `.o-discuss-CallInvitations` was causing issues by blocking the scrollbar's up arrow, preventing users from scrolling up. To address this, the display of the `.o-discuss-CallInvitations` div is now conditional, based on `store.discuss.ringingThreads.length > 0`. This ensures the div only appears when necessary, avoiding obstruction of the scrollbar and improving usability. opw-4108057 Forward-Port-Of: odoo/odoo#176608
[IMP] account,product,website_sale: add helpers for barcodelookup This commit adds a hooks to compute a gross price based on product taxes. This is needed for `product_barcodelookup` module. Also change a wording in the ecommerce product template Related: https://github.com/odoo/enterprise/pull/63740 Task: 3965079 Forward-Port-Of: odoo/odoo#174027
Original PR description
[IMP] account,product,website_sale: add helpers for barcodelookup This commit adds a hooks to compute a gross price based on product taxes. This is needed for `product_barcodelookup` module. Also change a wording in the ecommerce product template Related: https://github.com/odoo/enterprise/pull/63740 Task: 3965079 Forward-Port-Of: odoo/odoo#174027
Before this commit: When a form view was set to non-editable (edit="0"), its x2many fields could still contain editable boolean fields (e.g., Boolean Toggle). After this commit: Boolean fields within x2many fields are now also read-only when the form view is non-editable. Task-3802653 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 ww
Original PR description
Before this commit: When a form view was set to non-editable (edit="0"), its x2many fields could still contain editable boolean fields (e.g., Boolean Toggle). After this commit: Boolean fields within x2many fields are now also read-only when the form view is non-editable. Task-3802653 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#174989
To reproduce the bug: - Add extra step during checkout - Make Sign in/up at check out Mandatory - Add a non-service product to the cart without being logged in and proceed to checkout - Create an account and once logged in continue the checkout process normally until payment is done When the process is done, a request is sent to /shop/payment/validate, and we get a server error message since we try to fetch `sale_last_order_id` from the session but it's not set. To simplify, the buying
Original PR description
To reproduce the bug: - Add extra step during checkout - Make Sign in/up at check out Mandatory - Add a non-service product to the cart without being logged in and proceed to checkout - Create an account and once logged in continue the checkout process normally until payment is done When the process is done, a request is sent to /shop/payment/validate, and we get a server error message since we try to fetch `sale_last_order_id` from the session but it's not set. To simplify, the buying process goes like this: cart > [sign in/up] > [delivery] > checkout > extra_step or confirm_order > payment. The issue is that `sale_last_order_id` is set in confirm_order, which we don't pass through if we have extra_step enabled. To fix that, I moved the set operation a step earlier. opw-3988807 Forward-Port-Of: odoo/odoo#174638
Steps to reproduce: - Enable storage locations - Inventory > Internal Transfers - Gear Icon > Import records - Try to import a file containing picking type Picking type cannot be imported because it is a readonly field, this is even more problematic since picking_type_id is a required field, thus preventing the import of any other data. Previously, the field picking_type_id used to have a state attribute to make it editable when in draft, but this is no longer the case in 17.0. https:/
Original PR description
Steps to reproduce: - Enable storage locations - Inventory > Internal Transfers - Gear Icon > Import records - Try to import a file containing picking type Picking type cannot be imported because it is a readonly field, this is even more problematic since picking_type_id is a required field, thus preventing the import of any other data. Previously, the field picking_type_id used to have a state attribute to make it editable when in draft, but this is no longer the case in 17.0. https://github.com/odoo/odoo/pull/104741 opw-4074746 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#175845
Steps to reproduce: - Create 2 products and publish 1 - Website > Edit > Add a "Products" block - Configure it to filter for recently sold products - Configuration > Payment Providers > Enable Demo - Configuration > Shipping methods > New - Set delivery product to your unpublished product - Publish the shipping method - From Shop buy your published product - Cart > Checkout > Use your shipping method - Validate then return to your products block The delivery products appears in
Original PR description
Steps to reproduce: - Create 2 products and publish 1 - Website > Edit > Add a "Products" block - Configure it to filter for recently sold products - Configuration > Payment Providers > Enable Demo - Configuration > Shipping methods > New - Set delivery product to your unpublished product - Publish the shipping method - From Shop buy your published product - Cart > Checkout > Use your shipping method - Validate then return to your products block The delivery products appears in recently sold, even as a portal user despite never being published and not being directly available to buy. Having unpublished products on the portal should not be possible when logged in as a portal user, much less a delivery product which is insubstantial to the user. opw-4075261 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#175817
There's a single change in this minor version of owl: we no longer call console.warn when a willStart/willUpdateProps callback takes more than 3s (in dev/test mode only anyway). Instead, we use console.log. The reason is that some willStart/willUpdateProps may sometimes take more than 3s (because they lazyload bundles for instance). When this happens, if a warning is logged, the runbot will be yellow and the build will fail. In master, it happenned a lot recently, in tours involving the We
Original PR description
There's a single change in this minor version of owl: we no longer call console.warn when a willStart/willUpdateProps callback takes more than 3s (in dev/test mode only anyway). Instead, we use console.log. The reason is that some willStart/willUpdateProps may sometimes take more than 3s (because they lazyload bundles for instance). When this happens, if a warning is logged, the runbot will be yellow and the build will fail. In master, it happenned a lot recently, in tours involving the WebsiteEditorComponent, which loads the wysiwyg bundle, and since recently, jquery [1]. For that reason, we decided to log instead of warn, at least temporarily, s.t. the skipped tours can be unskipped. [1] odoo/odoo#174213 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#176783
[FIX] l10n_bd: fix loading account template The issue is that I put the account tags templates in the manifest to load into demo section which cause issues when user try to load the package without demo data as It will not going to load Solution: moving the account tags template/states to the data section task-id#3974212 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#176845
Original PR description
[FIX] l10n_bd: fix loading account template The issue is that I put the account tags templates in the manifest to load into demo section which cause issues when user try to load the package without demo data as It will not going to load Solution: moving the account tags template/states to the data section task-id#3974212 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#176845
Partial revert of https://github.com/odoo/enterprise/commit/318ae33da2e36036e1a74028a36d02ad4fa5964e (we keep the test and revert the fix). The reverted commit intended to soluve issues with hide_if_zero, and had it consider the string values as 0. However, in 17.2+, this caused issues with the blank_if_zero columns, which then never showed such string values. We revert the original fix and take a new approach in this commit ; we do that in 17.0 instead of 17.2 just for homogeneity of the
Original PR description
Partial revert of https://github.com/odoo/enterprise/commit/318ae33da2e36036e1a74028a36d02ad4fa5964e (we keep the test and revert the fix). The reverted commit intended to soluve issues with hide_if_zero, and had it consider the string values as 0. However, in 17.2+, this caused issues with the blank_if_zero columns, which then never showed such string values. We revert the original fix and take a new approach in this commit ; we do that in 17.0 instead of 17.2 just for homogeneity of the code base, and ease of maintenance on longer term. The new strategy is bacisally to consider non-number values as 0 only when handling the hide_if_zero option, without touching to the computation of the is_zero key of column dicts. Also, this commit explicitly adds the 'percentage' figure_type to the ones checked by the 'is_zero' key in column dicts: percentages are numeric values; ignoring them there was wrong. Forward-Port-Of: odoo/enterprise#68511 Forward-Port-Of: odoo/enterprise#68450
## Issue: - changing the next invoice date to a future date in the subscription app incorrectly changes the subscription status to "To be invoiced" ## Steps To Reproduce: - create subscription, and confirm it - Run the scheduled action: 'Sale Subscription: generate recurring invoices and payments' - change the 'Date of Next Invoice' on the subscription. - Notice that the related quotation invoice status is `To invoice` ## Solution: - Changing next_invoice_date or last_invoice_date sh
Original PR description
## Issue: - changing the next invoice date to a future date in the subscription app incorrectly changes the subscription status to "To be invoiced" ## Steps To Reproduce: - create subscription, and confirm it - Run the scheduled action: 'Sale Subscription: generate recurring invoices and payments' - change the 'Date of Next Invoice' on the subscription. - Notice that the related quotation invoice status is `To invoice` ## Solution: - Changing next_invoice_date or last_invoice_date should not impact the quantity invoiced, as invoiced amounts should remain unchanged. - Therefore, I removed `order_id.next_invoice_date` and `order_id.last_invoice_date` from the dependencies of `_compute_qty_invoiced`. opw-3932847 Forward-Port-Of: odoo/enterprise#65203
This view is not defined in the manifest and is a duplication error of product_barcodelookup/views/res_config_settings_views.xml Forward-Port-Of: odoo/enterprise#68443
Original PR description
This view is not defined in the manifest and is a duplication error of product_barcodelookup/views/res_config_settings_views.xml Forward-Port-Of: odoo/enterprise#68443
- Age group, brand and manufecturer attributes are created, if not available and set their visibility. - The price provided by BarcodeLookup is properly set according to the price received is with or without tax included. - Extra information is saved in internal note section. - The color attribute will be created only if the value exists. - Making sure that weight and volumes are saved after converted to the company uom. Related: https://github.com/odoo/odoo/pull/174027 task- 3965079 F
Original PR description
- Age group, brand and manufecturer attributes are created, if not available and set their visibility. - The price provided by BarcodeLookup is properly set according to the price received is with or without tax included. - Extra information is saved in internal note section. - The color attribute will be created only if the value exists. - Making sure that weight and volumes are saved after converted to the company uom. Related: https://github.com/odoo/odoo/pull/174027 task- 3965079 Forward-Port-Of: odoo/enterprise#63740