Daily updates from Odoo
Navigate
Branch
Tuesday, May 28, 2019
19 changes
Enhancements to existing features
This update refreshes the online shop presentation with card-based product layouts, responsive square product grids, and clearer mobile behavior. It also adds more shop display options, such as configurable products per page/row and a saved layout preference, helping merchants provide a smoother browsing experience for customers.
Original PR description
* website, website_sale_comparison, website_sale_coupon, website_sale_delivery, website_sale_wishlist - Use cards to match event and forum recent design refactoring - Make the shop use responsive and perfect-squared product grid items - Make the shop product list view option a CSS-only option, which visitors can toggle to/out - Use better XML and JS for existing options and add new options - Allow to set ppg/ppr - Better mobile responsiveness - Make more robust xpath - ... Note: the design will be reviewed in an upcoming task, this ensures more robust XML to work on and new options to start with. See sub-commits for details. task-1925327
Systray dropdowns now close when the user moves the mouse away from their parent menu item or hovers over another systray item. This makes navigation cleaner and prevents old submenus from staying open unexpectedly.
Original PR description
Pad:https://pad.odoo.com/p/r.8967f587628e6a2213cdabd418151de7 Task: https://www.odoo.com/web?#id=1959678&action=333&active_id=131&model=project.task&view_type=form&menu_id=4720
Grouped list views no longer show the drag handle because records cannot be reordered there. This removes a misleading control and makes the list interface clearer for users.
Original PR description
Pad:https://pad.odoo.com/p/r.ce982c5806cf8123860c30b00bf9206e Task:https://www.odoo.com/web#id=1964661&action=333&active_id=131&model=project.task&view_type=form&menu_id=4720
The web interface now reserves the 'b' keyboard shortcut for navigating to the previous breadcrumb, making it faster to move back through screens. To avoid conflicts, buttons will no longer automatically receive 'b' as an access key.
Original PR description
Also, exclude 'b' for being automatically assigned to buttons Issue : 1878248 Co-authored-by: Mohammed Shekha <msh@openerp.com> 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
This update renames the user availability section from “Out of Office” to “Chat Status” and shortens the related message field label to “Message.” The change makes the wording clearer for users managing their chat presence, without changing underlying functionality.
Original PR description
Description of the issue/feature this PR addresses: - Related task: https://www.odoo.com/web?#id=1999697&action=333&active_id=131&model=project.task&view_type=form&menu_id=4720 - Pad: https://pad.odoo.com/p/r.8735524df04c399b49ea808718d78330 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
The Mail app now hides the Integrations tab on channel pages when no integrations are available. This reduces clutter and avoids showing users an empty or irrelevant section.
Original PR description
Description of the issue/feature this PR addresses: - Related task: https://www.odoo.com/web?#id=1973976&model=project.task&view_type=form&menu_id=4720 Pad: https://pad.odoo.com/p/r.b032f946579215ff8a9b9bfa683dab40 Current behavior before PR: Desired behavior after PR is merged:
Manufacturing teams can now link workcenters that are able to perform the same operation. When planning a work order, Odoo checks the main and alternative workcenters and assigns the job to the one that can finish soonest, helping reduce delays and improve machine utilization.
Original PR description
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
Odoo can now optionally use the Jing validator to provide clearer, more precise messages when data files fail validation. This helps developers identify and fix file issues faster without adding a required dependency for all installations.
Original PR description
libxml2 generally provides awful error messages on validation failure:
ERROR:RELAXNGV:RELAXNG_ERR_EXTRACONTENT: Element odoo has extra content: data
The reference implementation of relaxng (jing) provides much, much more useful messages:
error: text not allowed here; expected the element end-tag or element "field"
(the error was some stray text after a `</field>` tag, the test case was the same for both lxml and jing, jing furthermore provides the correct line number)
It's in Java which makes it inconvenient and expensive as a core dependency, but [the jingtrang packages](https://pypi.org/project/jingtrang/) provides a convenient bundle of jars & invocation, so it's not too painful as an optional dependency & QoL improvement.This change simplifies how window actions decide where they appear, replacing older overlapping settings with explicit view visibility rules. It reduces confusing or invalid configurations and makes future interface behavior easier to extend across many Odoo apps.
Original PR description
https://www.odoo.com/web#id=1843603&view_type=form&model=project.task&action=333&active_id=1364&menu_id=4720 Following from #17764 ir.values has been removed and from #20351 the ability to define…
https://www.odoo.com/web#id=1843603&view_type=form&model=project.task&action=333&active_id=1364&menu_id=4720 Following from #17764 ir.values has been removed and from #20351 the ability to define form-only action bindings has been restored. However doing so revealed some level of correlation/lack of orthogonality between the attributes involved with `multi` ✕ `binding_type` yielding invalid states. This PR intends to fix this *and* make the mechanism more flexible and future-proof: under the old model, `multi` would affect both relate & multi types and do so differently: |action type (key2)|multi|visibility| |-|-|-| |relate|✗|form| |relate|✓|list| |multi|✗|list,form| |multi|✓|list| Following the previous two PRs, the second case is considered nonsensical but technically still there. Under this new model: * the binding type defines only that, currently just which contextual menu the action appears under in the bound model * the binding *views* defines which views the action appears for, clearly spelled out, currently only "list" and "form" are used but in the future clients could show actions for other view types * the default changes from form-only to list & form * `<act_window>` is altered to remove `key2` and `multi` and surface binding views & type * src_model is removed from both act_window and ir.actions.act_window as it's redundant with binding_model_id (unless it has behaviours I'm unaware of) ## ~~Questions~~ * ~~should the binding views be on ir.actions.actions directly instead of just act_window? Seems a bit odd to restrict this flexibility…~~
Systray dropdown menus now close when a user moves the cursor away to another systray item, reducing lingering menus and accidental choices. This makes navigation in the enterprise web interface feel cleaner and more predictable, with supporting test updates to protect the behavior.
Original PR description
Pad:https://pad.odoo.com/p/r.8967f587628e6a2213cdabd418151de7 Task:https://www.odoo.com/web#id=1959678&action=333&active_id=131&model=project.task&view_type=form&menu_id=4720
The Web Studio report editor tests were adjusted to match recent changes in how the media dialog opens. This keeps automated quality checks aligned with the current behavior and helps prevent false test failures during development.
Original PR description
Enterprise counterpart of https://github.com/odoo/odoo/pull/33509 This change is needed because we don't call the bootstrap show tab anymore for the media widget. The mock approach was copied from the web_editor test itself.
The editable list view now displays the delete icon without an unwanted black line underneath it. This small visual cleanup makes sale order line editing look more consistent with the rest of the interface.
Original PR description
UI improvement on sale order line. Remove the black line under the delete button on sale order line.
Resolved issues and error corrections
Website configuration settings can now be saved correctly when only one language is available. The fix ensures the default website language is set properly behind the scenes, avoiding a confusing hidden-field error for users.
Original PR description
Before this commit, when you go on website config settings, you can't save. This is because the website default lang field is not set anymore (supposed to be set in onchange), and since it is hidden in the view if only one language, there is no clue about the error field. Following d0bb596f1d51b, x2many fields of new records are new records, meaning that: `self.many2one in self.x2many` is not true anymore since self.x2many is a new record. Also: `self.many2one = self.x2many[0]` is not working as before, the new record is not saved in the many2one
When users create or edit manufacturing, purchasing, repair, or stock records, unit of measure choices now stay limited to the selected product’s category. This prevents accidental selection of incompatible units after saving and reopening a record, improving data accuracy across operations.
Original PR description
Description of the issue/feature this PR addresses: show only a particular category's uom when creating on editing record. Current behavior before PR: when creating a record and select product, click to change the "UOM", you will see that only the UOM of this category is shown the first time. But after save the record and try again to set the UOM, now you will find all the UOM(s) displayed. Desired behavior after PR is merged: At the time of creating or editing a record, it will display only uom of product's category. Task: https://www.odoo.com/web#id=1886272&action=327&model=project.task&view_type=form&menu_id=4720 Pad: https://pad.odoo.com/p/r.59a96adaaef3f20a5fdc25e78f35c738 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This change makes the Point of Sale customer loading process more reliable when custom modules also load customer data. It prevents the POS from using the wrong customer data setup, avoiding errors when adding a customer in affected installations.
Original PR description
When custom modules load a different partner field set for a completely unrelated purpose AND this loading takes place prior to the stock odoo one, then the load_new_partners method will infer the…
When custom modules load a different partner field set for a completely unrelated purpose AND this loading takes place prior to the stock odoo one, then the load_new_partners method will infer the wrong field set as the first in row hit is returned by _.find. It is not optimal code quality to use `res.partner` as if it was a unique identifier, while not inhibiting multiple loads of on a single model. Adding a (more) unique label and refer it in the find solves this problem and makes the code more robust. **Description of the issue/feature this PR addresses:** - `_.find` within `load_new_partners` uses _model name_ as search string - _Model name_ is not necessarily unique in the search context. - Therefore, `_.find` can return wrong results, corrupting the code. - This happens if another data load on `res.partner` _precedes_ the core odoo code (because `_.find` returns the first instance found) **Current behavior before PR:** - Under the given scenario, clicking on add customer in the POS screen returns a trace back `cannot read property of...` **Desired behavior after PR is merged:** - In the given code scenario, everything works. - core code is more reliable, by using a (truly) unique identifier for `_.find` analyzing code objects. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr @xoe-labs /cc @blaggacao
Clicking certain action links outside standard views no longer briefly opens the home screen before the intended action. This keeps the interface visually stable while preserving normal link styling for users.
Original PR description
Current behavior before PR: Defining action using `<a type="action">` outside of normal views(like qweb view) css style does not apply to it because missing the `href` tag. by defining `href` tag on a link will first open home screen then perform `do_action` thus it will do flickering. Desired behavior after PR is merged: Prevent `event` default behaviour so it will stop flickering and restore css style for action by defining `href` tag on it. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Inventory traceability reports now load their formatting correctly the first time they are printed, even when report assets are not already cached. The print option is restored, and report styling was cleaned up to reduce layout issues such as unnecessary horizontal scrolling.
Original PR description
Task Link: https://www.odoo.com/web#id=1974338&action=327&model=project.task&view_type=form&menu_id=4720 Pad Link: https://pad.odoo.com/p/r.10d2baa994bf0536744301feef6e2d18 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Code cleanup and technical improvements
The website editor’s media dialog code was reorganized to make image, document, search, and Unsplash handling clearer and easier to maintain. This is mostly an internal cleanup with little expected day-to-day impact, but it prepares the editor for future improvements and reduces maintenance risk.
Original PR description
* web_unsplash, website, website_blog Merge commit for PR: #33509 No big functional change, clean up media dialog code in preparation of task-1930726. See individual commits for more information.
This update replaces an older internal setting used to control where action menu options appear with the newer supported approach. Users should see the same options in the relevant screens, while the change keeps these apps aligned with the platform’s current standards.
Original PR description
cf odoo/odoo#24738