Thursday, July 14, 2022
13 changes · master
Enhancements to existing features
Sales teams can now work on the same CRM lead at the same time without overwriting each other's notes or updates. This helps prevent lost information and makes teamwork on opportunities smoother.
Original PR description
This PR allows multiple salespersons to collaborate on a lead without erasing each other's data. taskID: 2900372
Odoo's internal real-time messaging service was updated to work with the newer application environment, preparing the platform for future websocket-based communication. This helps improve the foundation for notifications and live updates across apps such as Mail, Calendar, Live Chat, and Project without changing day-to-day workflows immediately.
Original PR description
In order to ease the PR introducing the websockets in Odoo, the bus service has to be updated to be a wowl service. This PR takes care of it. task-2053917 enterprise: https://github.com/odoo/enterprise/pull/29361
Customers can now quickly reorder items from a previous online sales order through the website customer portal. This makes repeat purchases easier and can help increase conversion by reducing the steps needed to buy the same products again.
Original PR description
task-2837571
Website editors can now choose how product images are displayed on product pages, including a new grid layout and several image width options. This gives online stores more control over product presentation and also fixes a carousel display issue caused by a previous technical migration.
Original PR description
Add more display options for the images on a product page. TaskId-2833507
Creating accounting accounts is now simpler because Odoo can automatically separate an entered account code from its name. It also suggests the account type based on the closest matching parent code, while still allowing users to adjust it when needed.
Original PR description
Task 2888204 - Name is automatically split into code and name - account_type is computed based on the closest parent of the code prefix (and can be changed) - _onchange_name is needed to split the name into code and name when creating from a related model's form Taking the relevant code from odoo/odoo#90474 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Website creators can now choose Helpdesk during website setup. This installs the Helpdesk app and creates a ready-to-use Help page where visitors can submit support tickets, making it easier for businesses to offer online customer support.
Original PR description
*: website_enterprise Currently, when creating and configuring a website, there is no option to select the Helpdesk feature. After this commit, when creating a website, allow the creator to select the "Helpdesk" option from the offered features, which would install the Helpdesk application and create a functional "Help" page where tickets can be submitted. task-2666493
The Knowledge article tree is now less likely to move articles by accident, with better drag sensitivity, slower auto-scrolling, and clearer click feedback. Emoji picking is also handled more reliably, including for newly loaded article branches and smaller screens, improving day-to-day usability.
Original PR description
Prevent small movements to trigger an article move: Change the move tolerance of the article tree. Now, the placeholder indicating the destination position will move only if the dragged item hovers…
Prevent small movements to trigger an article move: Change the move tolerance of the article tree. Now, the placeholder indicating the destination position will move only if the dragged item hovers at least 50% of the height of the previous/next item (instead of 1px before). Add a delay and a minimal moving distance before starting to drag an article. This will help to avoid unwillingly dragging an article when clicking on it. The moveArticle function in the main flow tour is updated to reflect this change. A new step is added after the move of an article to wait for completion before continuing. Reduce the move scroll speed in the article tree. When dragging an item below the view, the reduced speed allows more control over the destination. Prevent dragging an article by clicking on an emoji in the emoji picker. Add :hover and :active colors in the article tree to better reflect what the user can click on. Unhide ui-sortable-handle in Knowledge on small screens, so that the article tree does not become unusable. Drag and drop does not work on mobile, but switching article by clicking (touching) on them does, so it makes sense to be able to see it. Move the emoji picker outside of the article tree. Only use one emoji picker for the entire form view instead of one per article (which could be a lot). The previous location was also an issue for the article handle (it was possible to drag&drop an article from its emoji picker). Add a transparent div taking the entire viewport when displaying the emoji picker. This will force the user to close the emoji picker before continuing to use the view. Set up the emoji picker listener properly on articles loaded during the _onFold handler. Task-2883290 PR SAAS-15.4:COMMUNITY: https://github.com/odoo/odoo/pull/93719 PR SAAS-15.4:ENTERPRISE: https://github.com/odoo/enterprise/pull/29307 PR MASTER:COMMUNITY: https://github.com/odoo/odoo/pull/95749
This update refreshes the spreadsheet engine with smoother everyday interactions, including better clipboard pasting, link previews, chart handling, and automatic row resizing for larger fonts. It also fixes several issues around conditional formatting, formulas, scorecards, and chart configuration, making spreadsheets more stable and easier to use.
Original PR description
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/6a2ac3b4 [FIX] CF: open sidepanel https://github.com/odoo/o-spreadsheet/commit/63ada7bf [FIX] conditional_formatting:…
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/6a2ac3b4 [FIX] CF: open sidepanel https://github.com/odoo/o-spreadsheet/commit/63ada7bf [FIX] conditional_formatting: translation issue https://github.com/odoo/o-spreadsheet/commit/f02f1210 [REF] formula argument: change argument type https://github.com/odoo/o-spreadsheet/commit/b2f63cde [IMP] evaluation: allow format evaluation to depend on input values https://github.com/odoo/o-spreadsheet/commit/5ddee35f [IMP] formats: introduce dynamic evaluation https://github.com/odoo/o-spreadsheet/commit/da96ef26 [REF] formula argument: change argument definition type https://github.com/odoo/o-spreadsheet/commit/c6f03574 [IMP] clipboard: paste value from OS clipboard https://github.com/odoo/o-spreadsheet/commit/78a0ac86 [FIX] charts: keeps multiples ranges in dataset when changing chart type https://github.com/odoo/o-spreadsheet/commit/2177f571 [FIX] spreadsheet.ts: fixed show formula bug https://github.com/odoo/o-spreadsheet/commit/a05c238f [FIX] scorecard: prevent line break in content https://github.com/odoo/o-spreadsheet/commit/61f1c527 [IMP] spreadsheet: increase cell font resize its row https://github.com/odoo/o-spreadsheet/commit/1ef7b1fd [IMP] link: open link popover when hovering cell https://github.com/odoo/o-spreadsheet/commit/541059e3 [IMP] link: display favicon in link popover https://github.com/odoo/o-spreadsheet/commit/243b27c1 [IMP] topbar: removed brackets from format example https://github.com/odoo/o-spreadsheet/commit/c3209aac [FIX] charts: traceback on SelectionInput with empty range https://github.com/odoo/o-spreadsheet/commit/df2571be [FIX] conditional_formatting.xml: fixed missing space https://github.com/odoo/o-spreadsheet/commit/6faeca83 [IMP] package: bump version of bootstrap https://github.com/odoo/o-spreadsheet/commit/a18c0260 [FIX] spreadsheet: remove circular dependency https://github.com/odoo/o-spreadsheet/commit/6ac7bc22 [IMP] typing: Introduce type aliases to highlight different concepts https://github.com/odoo/o-spreadsheet/commit/3271ae39 [REF] renderer: convert `Rect` type from array to object https://github.com/odoo/o-spreadsheet/commit/34e5be3e [REF] renderer: Remove viewport from GridRenderingContext https://github.com/odoo/o-spreadsheet/commit/06a29e95 [MOV] plugins: move `getVisibleFigures` to appropriate plugin https://github.com/odoo/o-spreadsheet/commit/69c3f7f9 [REF] tokenize: rewrite range tokenizer https://github.com/odoo/o-spreadsheet/commit/50dc738c [IMP] tokenize: improve test coverage https://github.com/odoo/o-spreadsheet/commit/c02b92e0 [FIX] SelectionInput: Use correct sheetId for highlights
The spreadsheet component has been updated to a newer version with improvements to formatting, clipboard pasting, link previews, chart handling, and formula display. This should make spreadsheet work smoother for users while reducing errors in charts, selections, and conditional formatting.
Original PR description
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/f02f1210 [REF] formula argument: change argument type https://github.com/odoo/o-spreadsheet/commit/b2f63cde [IMP]…
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/f02f1210 [REF] formula argument: change argument type https://github.com/odoo/o-spreadsheet/commit/b2f63cde [IMP] evaluation: allow format evaluation to depend on input values https://github.com/odoo/o-spreadsheet/commit/5ddee35f [IMP] formats: introduce dynamic evaluation https://github.com/odoo/o-spreadsheet/commit/da96ef26 [REF] formula argument: change argument definition type https://github.com/odoo/o-spreadsheet/commit/c6f03574 [IMP] clipboard: paste value from OS clipboard https://github.com/odoo/o-spreadsheet/commit/78a0ac86 [FIX] charts: keeps multiples ranges in dataset when changing chart type https://github.com/odoo/o-spreadsheet/commit/2177f571 [FIX] spreadsheet.ts: fixed show formula bug https://github.com/odoo/o-spreadsheet/commit/a05c238f [FIX] scorecard: prevent line break in content https://github.com/odoo/o-spreadsheet/commit/61f1c527 [IMP] spreadsheet: increase cell font resize its row https://github.com/odoo/o-spreadsheet/commit/1ef7b1fd [IMP] link: open link popover when hovering cell https://github.com/odoo/o-spreadsheet/commit/541059e3 [IMP] link: display favicon in link popover https://github.com/odoo/o-spreadsheet/commit/243b27c1 [IMP] topbar: removed brackets from format example https://github.com/odoo/o-spreadsheet/commit/c3209aac [FIX] charts: traceback on SelectionInput with empty range https://github.com/odoo/o-spreadsheet/commit/df2571be [FIX] conditional_formatting.xml: fixed missing space https://github.com/odoo/o-spreadsheet/commit/6faeca83 [IMP] package: bump version of bootstrap https://github.com/odoo/o-spreadsheet/commit/a18c0260 [FIX] spreadsheet: remove circular dependency https://github.com/odoo/o-spreadsheet/commit/6ac7bc22 [IMP] typing: Introduce type aliases to highlight different concepts https://github.com/odoo/o-spreadsheet/commit/3271ae39 [REF] renderer: convert `Rect` type from array to object https://github.com/odoo/o-spreadsheet/commit/34e5be3e [REF] renderer: Remove viewport from GridRenderingContext https://github.com/odoo/o-spreadsheet/commit/06a29e95 [MOV] plugins: move `getVisibleFigures` to appropriate plugin https://github.com/odoo/o-spreadsheet/commit/69c3f7f9 [REF] tokenize: rewrite range tokenizer https://github.com/odoo/o-spreadsheet/commit/50dc738c [IMP] tokenize: improve test coverage https://github.com/odoo/o-spreadsheet/commit/c02b92e0 [FIX] SelectionInput: Use correct sheetId for highlights
Resolved issues and error corrections
Sales orders with multiple linked payment attempts now confirm correctly when exactly one payment is authorized or completed. This prevents valid paid orders from being blocked just because earlier or extra payment transactions exist.
Original PR description
Before this commit, orders were not confirmed when there was more than one transaction linked to them, regardless of their state. As of now, we check if there is only one confirmed transaction (meaning that the state of the transaction is either 'authorized' or 'done'). Fix https://github.com/odoo/odoo/commit/4d2b04a843c27981e44d6f932d7cf7e6838b4b9d task-2906040
Code cleanup and technical improvements
This update simplifies how Odoo tracks pending data changes before they are saved, reducing the risk of mismatches or lost updates. It also fixes related issues affecting website visitor handling and CRM access for portal users, improving stability in day-to-day operations.
Original PR description
Merging both the memory of field values and suspended updates has several advantages: - avoid inconsistencies between `cache` and `towrite` - cache updates can be made safer w.r.t. dirty flag…
Dragging articles within nested Knowledge trees is now smoother and more predictable. This prevents flickering and reduces the need to drag far past the intended position, making article organization easier for users.
Original PR description
Prevent a flickering effect when dragging item down in a nested tree using the jquery.mjs.nestedSortable library. This is done by preventing the placeholder to go UP the DOM while moving the mouse DOWN. To go UP the tree in a situation where the mouse cursor is above the placeholder, the user should move the mouse UP or RIGHT. Force a position refresh of the following articles when starting an article move. Before this change, the library used obsolete coordinates to evaluate if the helper intersects with another article below, forcing the user to drag the nest far below the target position to move the placeholder. Task-2883290 PR SAAS-15.4:COMMUNITY: https://github.com/odoo/odoo/pull/93719 PR SAAS-15.4:ENTERPRISE: https://github.com/odoo/enterprise/pull/29307 PR MASTER:ENTERPRISE: https://github.com/odoo/enterprise/pull/29315
This fixes an issue where records grouped by the same date field at different levels, such as month and week, could lose the correct date range information. The change helps reports and grouped views calculate and navigate date-based groups more reliably.
Original PR description
There was an issue with the computed `read_group` `__range` when grouping on the same date/datetime field on multiple granularities (i.e. month, week). Since the range was stored with the field_name…
There was an issue with the computed `read_group` `__range` when grouping on
the same date/datetime field on multiple granularities (i.e. month, week).
Since the range was stored with the field_name as a key, the last evaluated
range would override the previous ones.
Impacted Versions:
- master
(- exists since 15.0 but it does not impact the user directly so it has been
decided to fix this only in master, since the API is modified)
Steps to reproduce:
1. Open a list view and group by a date field with at least 2 granularities
2. Open the chrome debugger (network) and check a web_read_group rpc preview
3. Find the web_read_group for groups related to one of the largest
granularities and check the `__range`
Current behavior:
- `__range = {field_name: false}`
Expected behavior:
- `__range = {field_name: {from: range_start, to: range_end}`
Explanation
Since the smaller granularities are evaluated last, and the condition to update
`__range` is related to the field_name and not the granularity, the range is
always overriden by the smaller granularities (even if their value is False)
when grouping on the same field with multiple granularities.
Furthermore, there is a conceptual problem with the current solution: it does
not allow to store multiple ranges when the read_group is not lazy and when
grouping on the same field with multiple granularities.
Therefore, the proposed solution is to use the full groupby keys in the
`__range` to allow storing multiple ranges depending on granularity. The keys
in `__range` would thus match the group value keys and allow more flexibility
if a domain must be forged from the group(s) range(s).
Task-2894519Merging both the memory of field values and suspended updates has several advantages:
- avoid inconsistencies between `cache` and `towrite`
- cache updates can be made safer w.r.t. dirty flag
However, the dirty flag in cache does not go well with context-dependent fields. When a context-dependent field is dirty in cache, the value to store in the database is accessible through some context values. But when the model is flushed, the context values on the current environment may be different. When this happens, the method `flush_X()` fails to retrieve the data to flush.
The proposed solution is to store the "dirty" value in cache under conventional context values, and to retrieve them under the same conventional context values to flush them. For instance, when storing the value of a binary field, it will be stored once under the context value `context.get('bin_size')`, and a second time under the context value `None`. The flush implementation will then retrieve the value using the context value `None`.
Translated fields are also problematic when a value is put in cache with an environment where `lang=False`, and the value is retrieved with another environment where `lang=None`. This issue is addressed by normalizing the context key `lang` to `None` when the context value is `False`.