Saturday, October 26, 2024
14 changes · saas-17.4
Resolved issues and error corrections
This fix prevents website carousel slides from auto-advancing while users are editing or dragging them. It improves the editing experience by avoiding unexpected slide movement during content changes, especially for older carousel blocks.
Original PR description
Follow-up of [1] which was not enough to fully fix the issue.
Indeed, there was a remaining call to `.carousel("pause")` in an editor
option `start` that funnily enough actually unpaused the carousel.
Indeed, it created the carousel bootstrap instance, paused... but meant
to restart on first mouseleave.
The `slider` public widget is in charge of pausing the carousel in edit
mode. And it does so by preventing it to cycle for the whole edit mode
duration. But because of that editor option code, it happened too late.
[1]: https://github.com/odoo/odoo/commit/9eff9ae1904e0583f5dc60c6d925c52b48b208ecThe Payment Reference field is visible again on customer invoices in the Other Info tab. This helps businesses that import invoices or need to enter special payment references manually, while keeping the main invoice screen uncluttered.
Original PR description
We improved in 17.3/17.4 the Customer Invoice form view, and one of the changes where hiding the Payment Reference field. See https://github.com/odoo/odoo/commit/112c68a07b817e5e9a6c01e34a0fe7238b2eaa07 The rationale was: as it's most often generated by Odoo, let's not clutter the interface with a field that is left open most of the time. While this is true, in some cases people need to manage them by hand, for example when they import invoices, or they use specific formats not yet handled by Odoo. This commit restores the field in the Other Info tab for those cases. Task: 4276812
Miscellaneous changes
Steps to reproduce: - On Safari, click on the searchbar from the header - Type anything that gives results (e.g.: "a") - Make a long press on a result. => The search results are closed without leading to the page. This is due to Safari not focusing links and buttons by design (!)[1]. The condition in `_onFocusOut` (no element in the searchbox is the active element) is thus true and the searchbox is rerendered, making the click unresponsive. [1]: https://bugs.webkit.org/show_bug.cgi?
Original PR description
Steps to reproduce: - On Safari, click on the searchbar from the header - Type anything that gives results (e.g.: "a") - Make a long press on a result. => The search results are closed without leading to the page. This is due to Safari not focusing links and buttons by design (!)[1]. The condition in `_onFocusOut` (no element in the searchbox is the active element) is thus true and the searchbox is rerendered, making the click unresponsive. [1]: https://bugs.webkit.org/show_bug.cgi?id=22261#c68 opw-4116832 Forward-Port-Of: odoo/odoo#184580
In some theme customizations, images were replaced by new ones without specifying the usual image classes `img img-fluid mx-auto`. While two of them could be ignored, this is not the case of `img-fluid`, which limits the maximum width of an image to 100%. Without it, grid images in mobile view are overflowing, because the rule forcing their width to 100% has been moved in commit [1], to be applied on the desktop view only. This commit fixes this issue by adding a rule for grid images, limitin
Original PR description
In some theme customizations, images were replaced by new ones without specifying the usual image classes `img img-fluid mx-auto`. While two of them could be ignored, this is not the case of `img-fluid`, which limits the maximum width of an image to 100%. Without it, grid images in mobile view are overflowing, because the rule forcing their width to 100% has been moved in commit [1], to be applied on the desktop view only. This commit fixes this issue by adding a rule for grid images, limiting their width to 100%. The problematic themes will also be fixed in the associated design PR. [1]: https://github.com/odoo/odoo/commit/710d000f1872fd99b41d52ec3d6923756bba7cba Forward-Port-Of: odoo/odoo#183013
Once the ewaybill is generated, cancelled and resetted to pending the name is not resetted After this commit: we reset ewaybill name once it's been reset to pending task-4285220 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#185066
Original PR description
Once the ewaybill is generated, cancelled and resetted to pending the name is not resetted After this commit: we reset ewaybill name once it's been reset to pending task-4285220 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#185066
The issue: When setting an automation rule to trigger 'On Save' onto a model with a settable non-stored compute field it will sometimes cause an error. For example, the boolean_favortie widget on project.project, clicking the widget while there is an automation rule set to trigger "on save" will not properly update the view. This is because the initial write call to `is_favorite` triggers its inverse function, which also attempts to write to project.project.favorite_user_ids which retriggers th
Original PR description
The issue: When setting an automation rule to trigger 'On Save' onto a model with a settable non-stored compute field it will sometimes cause an error. For example, the boolean_favortie widget on…
The issue: When setting an automation rule to trigger 'On Save' onto a model with a settable non-stored compute field it will sometimes cause an error. For example, the boolean_favortie widget on project.project, clicking the widget while there is an automation rule set to trigger "on save" will not properly update the view. This is because the initial write call to `is_favorite` triggers its inverse function, which also attempts to write to project.project.favorite_user_ids which retriggers the automation rule again. During this retrigger, the `old_values` are populated which attempts to fetch the field values from project.project, causing is_favorite to be recomputed BEFORE the inverse function finishes writing the inverse data, causing this inconsistency. The Fix: Filter out non-stored values when memoizing old_values. This will avoid the issue entirely. It also does not make sense for non-stored field values to be "stored" in this way when they could be dynamically recomputed from the stored field values that will still be passed into the context. OPW: 4106799 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#180965
Steps to reproduce: - Drop the "Team" snippet and toggle it to grid mode. - Change the grid items padding with the "Padding (Y, X)" option. => The `o_we_padding_highlight` class used to show the padding preview is also added on the inner row of the grid items. This happens because the `data-apply-to` attribute of this option targets the `.row` elements in general, instead of only the grid mode one (so having the `o_grid_mode` class). This commit fixes this issue by changing this attribut
Original PR description
Steps to reproduce: - Drop the "Team" snippet and toggle it to grid mode. - Change the grid items padding with the "Padding (Y, X)" option. => The `o_we_padding_highlight` class used to show the padding preview is also added on the inner row of the grid items. This happens because the `data-apply-to` attribute of this option targets the `.row` elements in general, instead of only the grid mode one (so having the `o_grid_mode` class). This commit fixes this issue by changing this attribute, by patching the template in JS as a stable fix. Note that in above versions, the padding option changed so this fix will not be needed (but other grid options will need a similar fix). task-4247543 Forward-Port-Of: odoo/odoo#184354 Forward-Port-Of: odoo/odoo#183219
Correctly set the flag `install_demo` in demo data for some localisation, they were triggering some warnings otherwise. RunbotError: 103691 Forward-Port-Of: odoo/odoo#185226
Original PR description
Correctly set the flag `install_demo` in demo data for some localisation, they were triggering some warnings otherwise. RunbotError: 103691 Forward-Port-Of: odoo/odoo#185226
Steps ----- - install sale_timesheet - create a "30 hours" Unit of Measure in the Working Time category, equal to 3.75 days - create a service product with "30 hours" as the UoM - create a SO with this product for a customer - create a task for this customer and use the previously created SOL - add 15 hours of timesheet Issue ----- The remaining hours on the SO appear as +/- 26:00 (with some minor decimal precision inaccuracies), but the name of the SOL in the "Sales Order Item" f
Original PR description
Steps ----- - install sale_timesheet - create a "30 hours" Unit of Measure in the Working Time category, equal to 3.75 days - create a service product with "30 hours" as the UoM - create a SO with this product for a customer - create a task for this customer and use the previously created SOL - add 15 hours of timesheet Issue ----- The remaining hours on the SO appear as +/- 26:00 (with some minor decimal precision inaccuracies), but the name of the SOL in the "Sales Order Item" field shows 26:30 remaining. Change ----- Backport https://github.com/odoo/odoo/commit/d0cf7c0f2c039d55d024cf9a2e0676e11ba97338 which removes the rounding by 30 minutes and uses `format_duration` opw-3959886 Forward-Port-Of: odoo/odoo#185142 Forward-Port-Of: odoo/odoo#181008
As the portal user, change your profile picture to a svg image, then show it via the normal /web/image URL. The downloaded picture lacks a valid content-type header. Related stored attachment fields were served via the method `Stream.from_binary_field` instead of `Stream.from_attachment`, only the latter is capable of copying the attachment mimetype on the stream. --- Also gave a shot at making the `odoo-bin --test-tags webserver:TestHttpStaticWebServer` test green again. Forward-Port-
Original PR description
As the portal user, change your profile picture to a svg image, then show it via the normal /web/image URL. The downloaded picture lacks a valid content-type header. Related stored attachment fields were served via the method `Stream.from_binary_field` instead of `Stream.from_attachment`, only the latter is capable of copying the attachment mimetype on the stream. --- Also gave a shot at making the `odoo-bin --test-tags webserver:TestHttpStaticWebServer` test green again. Forward-Port-Of: odoo/odoo#183596 Forward-Port-Of: odoo/odoo#177105
- Add support for batch payment via Zengin and bank statement import - Currently only support txt files task-3304270 Forward-Port-Of: odoo/enterprise#71290
Original PR description
- Add support for batch payment via Zengin and bank statement import - Currently only support txt files task-3304270 Forward-Port-Of: odoo/enterprise#71290
Some cities that process service invoices [1] have stricter hsCode validations than others and error on the hsCode we send. Avalara requires periods to be removed from the hsCode field for goods transactions. This was already the case. For services they inform us that the periods should be kept but leading zeroes should be stripped [2]. [1] e.g. Belo Horizonte [2] There's no documentation on this. This was specified by Avalara support in an internal support ticket. opw-4009684 Forward
Original PR description
Some cities that process service invoices [1] have stricter hsCode validations than others and error on the hsCode we send. Avalara requires periods to be removed from the hsCode field for goods transactions. This was already the case. For services they inform us that the periods should be kept but leading zeroes should be stripped [2]. [1] e.g. Belo Horizonte [2] There's no documentation on this. This was specified by Avalara support in an internal support ticket. opw-4009684 Forward-Port-Of: odoo/enterprise#72641
Add a compound index on (`res_model`, `res_id`) to support domains searching documents based on those criteria, similarly to `ir_attachment_res_idx` on `ir.attachment`. Forward-Port-Of: odoo/enterprise#72426
Original PR description
Add a compound index on (`res_model`, `res_id`) to support domains searching documents based on those criteria, similarly to `ir_attachment_res_idx` on `ir.attachment`. Forward-Port-Of: odoo/enterprise#72426
steps: -> populate the portal user's appointments with enough appointments to have multiple pages in the portal -> go on the portal, filter by "past" -> go to page 2 --> the filter by "past" is removed from the url opw-4236596 Forward-Port-Of: odoo/enterprise#71965
Original PR description
steps: -> populate the portal user's appointments with enough appointments to have multiple pages in the portal -> go on the portal, filter by "past" -> go to page 2 --> the filter by "past" is removed from the url opw-4236596 Forward-Port-Of: odoo/enterprise#71965