Monday, September 25, 2023
12 changes · master
Enhancements to existing features
Point-of-sale users can now choose the display order of combo options instead of relying on the system's default ID order. This makes combo menus easier to organize and present in the intended sequence for staff and customers.
Original PR description
Prior to this commit the combo choices were displayed in their ID order. This commit add a sequence field that allows the user to choose the order of the combo choices.
Help Center menus are now handled so backend users can see them even when they are not published. Related website blog performance checks were adjusted to account for the additional page requests this can create.
Original PR description
This commit adapts website_blog tests to change in website_helpdesk. The method _compute_visible of model website.menu is modified to display help team menus to backend user, even if they are unpublished. This potentially add extra requests when rendering a website page. Therefore, the performance tests are adapted accordingly. task-3186564
The split payment functionality for Italian public administration e-invoicing has been consolidated into the main Italian e-invoicing module. This simplifies module management and ensures related invoicing features are maintained in one place without changing the business purpose of the functionality.
Original PR description
Module `l10n_it_edi_pa` was created for Split Payment because stored fields couldn't be added to an existing module. We are amending this by merging it into module `l10n_it_edi`. Upgrade PR: odoo/upgrade#5169 Task link: https://www.odoo.com/web#id=3513075&model=project.task task-3513075
Users who cannot access a course are now redirected to the main Slides page instead of seeing a generic error page. This provides a clearer experience by showing the relevant error message in the Slides area and helping users continue browsing courses.
Original PR description
Purpose ======= When a user tries to reach a course, an AccessError can occur when we unslug the URL. Instead of the traditional error page, we want to redirect the users to /slides, and the error will be displayed there. Task-3477630
User avatar fields are now only clickable when viewed in a form. This avoids unintended navigation from list-style screens and makes readonly views behave more predictably.
Original PR description
This commit changes the canOpen prop of the many2oneAvatar field to be set to true only when in form view. The field will therefore stop being a link in readonly when outside of form view.
The self-order setup for mobile and kiosk has been combined into one shared flow, reducing duplicated configuration and code. This should make the feature easier to maintain and improve while keeping the ordering experience consistent across devices.
Original PR description
Previously, the self-order code and parameters were split into two parts mobile and kiosk. Now kiosk and mobile have been merged with each other to simplify maintainability.
Odoo now keeps view context data separate from record field values when evaluating view rules, reducing ambiguity and preventing unintended access patterns. This makes form, list, and kanban behavior more predictable while preserving common user context access such as user and company information.
Original PR description
This commit removes a loophole in the evalContext used in form, list and kanban views to evaluate python expressions (modifiers, domains and contexts). Before this commit, the evalContext was a mix…
This commit removes a loophole in the evalContext used in form,
list and kanban views to evaluate python expressions (modifiers,
domains and contexts). Before this commit, the evalContext was a
mix of different things:
- keys of the current context (which also contained keys from the
user context);
- a key for each field in the view (allowing to use field values);
- a "parent" key in the case of x2many records (allowing to go up
to the parent record values).
- "active_id", "active_ids", "active_model", "current_company_id".
All those keys were mixed in the evalContext, and they could
obviously conflict (e.g. if there was in the context a key which
was also the name of a field).
Even though the evalContext didn't contain an explicit "context"
key, expressions like `context.get("x")` worked. This was because
the python evaluator automatically adds the whole evalContext as
value for the "context" key if this one doesn't exist. This allowed
people to also access field values with `context.get("fieldName")`
and thus bypassing the view validation, which ensures that
everything used in those expressions is either a py builtin
supported by pyjs, a field name which is in the view or some other
whitelisted keys ("uid", "allowed_company_ids"...). Fun fact:
people did it, in a form view that is used on two different models
(product.product and product.template).
With this commit, the context (and user context) keys are no longer
spread into the evalContext. Instead, a "context" key is added.
Two special user context keys can still be accessed directly though,
without doing `context.get("...")`: "uid" and "allowed_company_ids".
The reason why we keep them is simple: those were the two only keys
that could be used directly as they were whitelisted by the view
validation. The client also evaluates domains and contexts coming
from actions and from search view filters. In those cases, the
evalContext is simply the context, and those two keys are widely
used. So it's easier if we know that, e.g. "uid" can be always
directly accessed, whether we're in an action domain, in a search
view or in a form/list/kanban view.
To summarize, accessing a context key must always be done through
`context.get("...")` except for "uid" and "allowed_company_ids",
which can still be accessed directly. This doesn't change from
before. What changes is that a record field can no longer be
accessed with `context.get("...")` (which kind of allowed to bypass
the view validation).Odoo Studio was updated to align with a core platform change in how record context is handled. This keeps editing related record views working reliably and avoids hidden dependencies on older internal behavior.
Original PR description
PR https://github.com/odoo/odoo/pull/135782 explicitly adds the "context" key into the
evalContext, whereas before the whole evalContex was considered as
being the context. Studio relied on that loophole to handle the
edition of x2many views, by adding a key "parent" in the context,
which could thus be accessed in expressions without doing
context.get("..."). This commit refactors the way Studio makes the
created datapoint aware of their parent record, without relying on
the context.
Moreover, with https://github.com/odoo/odoo/pull/135782, datapoints makes the assumption
that there's a context in their config, which wasn't the case for
the fake group created in Studio. We thus had to set it.This change removes the older CFDI 3.3 electronic invoicing format and consolidates the CFDI 4.0 functionality into the main Mexican localization modules. Businesses using Mexican e-invoicing get a simpler setup aligned with the current regulatory version, with fewer separate add-on modules to manage.
Original PR description
- cfdi 3.3 is removed - The modules "_40" are merged so we have 4 modules less task-2957927
This update removes unused log fields from subscription sales records. It simplifies the underlying data model, reducing clutter and making future maintenance easier without changing day-to-day user workflows.
Original PR description
taskid: 3274815
Help Center pages are now easier to personalize, with the search field moved out of the banner so teams can edit the page design like other website pages. Publishing controls for help and ticket submission pages have been moved to the standard website toolbar, and teams can more easily open and edit linked knowledge articles.
Original PR description
Impacted modules: - helpdesk - website_helpdesk - website_helpdesk_knowledge This commit introduces various improvements in the Help Center on the website. Banner Edition ============== Purpose:…
Impacted modules: - helpdesk - website_helpdesk - website_helpdesk_knowledge This commit introduces various improvements in the Help Center on the website. Banner Edition ============== Purpose: allow users to customize the help webpage, as it is possible for other web pages Currently the banner of the help center is not editable by the user as it contains a search field. The search fields is moved out of the cover to allow the the user to personalize it. Publish Button ============== Purpose: move the published button to the systray to be coherent with what is usually done in website + we don't need it anymore now that we have 1 help web page per helpdesk team. - help webpage: move the published button to the systray - ticket submission webpage: move the published button to the systray Knowledge Article ================= Purpose: allow users to easily edit the article set on the team from there. - helpdesk.team form view > knowledge feature > display the external link icon next to the article field task-3186564
The Field Service task form now hides the Navigate button when no customer or partner is assigned. This prevents users from clicking an action that cannot work and avoids confusing invalid field errors.
Original PR description
In this commit, the functionality of the 'Navigate' button in the FSM task form has been improved. The 'Navigate to' button is now enhanced to better interact with the task. Specifically, the button is hidden when no partner is assigned to the task. This enhancement prevents the 'Navigate to' button from causing an 'invalid field' error when clicked, as it's not applicable in such cases. Task: 3460000