Skip to content

Syncing from upstream odoo/odoo (master) #34162

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 29 commits into from
Jul 8, 2025
Merged

Conversation

bt-admin
Copy link
Collaborator

@bt-admin bt-admin commented Jul 8, 2025

bt_gitbot

reka-odoo and others added 29 commits July 7, 2025 04:21
When User tries to print multiple invoices,
A traceback will appear.

Steps to reproduce the error:
- Install "account" module with demo data
- Go to Invoices > Select multiple invoices > Print

Traceback:
ValueError: Expected singleton: account.move(2, 1)

After this commit: 1a81231

https://github.com/odoo/odoo/blob/871c7d23336cf06619998795c073bd2001b20af1/addons/account_edi_ubl_cii/models/account_move.py#L76
When user prints multiple invoices,
self will have multiple records.
So, checking "self.state" will lead to the above traceback.

opw-4912628
sentry-6717623103

closes #217568

X-original-commit: 8f254fa
Signed-off-by: Thomas Becquevort (thbe) <[email protected]>
Signed-off-by: Renilkumar Kajavadra (reka) <[email protected]>
Part-of: #217266
Signed-off-by: Bastien Pierre (ipb) <[email protected]>
In order to deprecate odoo.osv, we must first stop using it and replace
it with Domain. This covers most of usages in account.

task-4280707

closes #217132

Related: odoo/enterprise#89279
Signed-off-by: Chong Wang (cwg) <[email protected]>
…d delivery

Issue
-----
In barcode processing reception of subcontracted products doesn't create a back
for the remaining products.

Steps to reproduce
-----
- Create 2 products, one subcontracted and one storable
- Create a purchase order for the 2 products & confirm it
- Go to barcode and open the delivery
- Only validate the reception of the subcontracted product

--> No backorder is created for the remaining product, it is considered received

Cause
-----
Commit db8b33e changed the compute of the move's picked status to not update for
subcontracted moves. So the move line has picked set to True but not the move
itself.

When we validate the operation in barcode, we go through this pre hook
https://github.com/odoo/odoo/blob/1d256123da587d625c0527ca3a18cd82e7161df5/addons/stock/models/stock_picking.py#L1193

Since the move has a quantity but picked is still False, the full picking is
being picked at once

https://github.com/odoo/odoo/blob/1d256123da587d625c0527ca3a18cd82e7161df5/addons/stock/models/stock_picking.py#L1206-L1207

-----
Ticket:
opw-4726229

closes #217398

X-original-commit: b0e92dd
Related: odoo/enterprise#89458
Signed-off-by: Djamel Touati (otd) <[email protected]>
Signed-off-by: David Van Droogenbroeck (drod) <[email protected]>
…ates in SO

Prior to this commit, when an SO containing products configured to generate projects based on project templates was confirmed,
it would generate one analytic account per generated project. Which is not consistent with the previous behavior.
It was due to the fact that in 'hr_timesheet' module, we always created a new analytic account each time a new project is created from a project template,
even if an analytic account is already passed in the create values or if the project template was not timesheetable.
Also, when converting a project template having timesheets enabled and no account_id set to a regular project, it did not create a new analytic account, this is now fixed.

version-18.4

closes #217446

X-original-commit: 0671a05
Signed-off-by: Xavier Bol (xbo) <[email protected]>
Signed-off-by: Maxime de Neuville (mane) <[email protected]>
issue

when you change an odoo event organizer the original gets archived and a new one is created
this behavior should only be happening with microsoft synced events

steps to reproduce:

- install microsoft_calendar
- create new event
- change organizer and save

the event is archived

opw-4765254

closes #217603

X-original-commit: 0bca691
Signed-off-by: Arnaud Joset (arj) <[email protected]>
Signed-off-by: Soukaina Tyes (soty) <[email protected]>
This commit converts the `slide_category_one2many_field` tests

closes #217283

Signed-off-by: Lucas Perais (lpe) <[email protected]>
When we get an access error due to multi-company rules, odoo will try
to set the appropriate company in the company switcher. If any company
has branches, these will also be set. However, currently, if we have
multiple branches and we try to access a record that belongs to any
branch but the last one, we get a traceback.

Steps to reproduce:
1. Create 2 branches of a company
2. Create an employee in the first branch (copy the link to employee)
3. Uncheck the branches in the company selector
4. Try to access the employee created in step 2 via a link > Traceback

This is because we are trying to access an index that is out of range
of `allowedCompanies`.

To fix this, we use `find()` to find the appropriate company by its id.

opw-4846979

closes #217343

X-original-commit: d804046
Signed-off-by: Simon Goffaux (sigo) <[email protected]>
Signed-off-by: Jorge Pinna Puissant (jpp) <[email protected]>
closes #217578

X-original-commit: 6f8fe68
Related: odoo/enterprise#89571
Signed-off-by: Yannick Tivisse (yti) <[email protected]>
…ogging

BUG
- when you select 2 companies in the multi company widget (A & B, default : A) and I create a work entry for an employee of company B. The work entry will be related to company A.

Expected behavior:
- The default company should be the employee one if has a one

FIX
- check if the employee has a company add it to the create vals_list

closes #217610

Task: 4781100
X-original-commit: fa7dc7a
Related: odoo/enterprise#89579
Signed-off-by: Yannick Tivisse (yti) <[email protected]>
Signed-off-by: Abdelrahman Mahmoud (amah) <[email protected]>
The commit b401f88
adds the argument `node` to `openMediaDialog` in
`ImageSnippetOptionPlugin.onSnippetDropped`. This caused the style
of the placeholder to be used for the dropped image (including the
`opacity-50`)

task-4367641

closes #217594

X-original-commit: 50878cc
Signed-off-by: Francois Georis (fge) <[email protected]>
Since [1] introduced the test, it may fail due to race conditions. By
waiting for an animation frame after clicks, we make sure the call had
the time to be processed.

[1]: b3512d7

runbot-229604

closes #217572

X-original-commit: cbcd1b1
Signed-off-by: Benoit Socias (bso) <[email protected]>
Signed-off-by: Robin Lejeune (role) <[email protected]>
Before this commit, there could be a traceback when downloading
call logs that contains `serverInfo`, that was because it is a
proxy and cannot be cloned (to be passed to the service worker).

This commit fixes it by using the raw value instead of the
proxy when logging.

closes #216417

X-original-commit: ee3b565
Signed-off-by: Matthieu Stockbauer (tsm) <[email protected]>
This commit's purpose is to add a color consistency for task stage and
project stage. This will help to tell with one glance in which stage the
task/project is. This change was also added to crm.

The badge widget was updated in order to have a wider choice of color
for the background of the pill.

task - 4444653882

closes #202908

Related: odoo/enterprise#81922
Signed-off-by: Xavier Bol (xbo) <[email protected]>
when an existing rule is updated to specify a variant or remove
a specific variant, the rule application (applied_on field) should
be updated accordingly.

X-original-commit: 08638dd
Part-of: #217598
Related: odoo/enterprise#89574
Signed-off-by: Victor Feyens (vfe) <[email protected]>
X-original-commit: 3a6ecff
Part-of: #217598
Related: odoo/enterprise#89574
Signed-off-by: Victor Feyens (vfe) <[email protected]>
Don't show the pricelist input if pricelist are disabled
Rename 'Sales Prices' into 'Prices'.

closes #217598

X-original-commit: e47fdce
Related: odoo/enterprise#89574
Signed-off-by: Victor Feyens (vfe) <[email protected]>
Since the conversion to `html_builder`, the image gallery, image wall
and carousel cards options order was shuffled.
Additionally, the carousel cards were missing the border and shadow
options.

This commit restores the initial order by splitting the image gallery
options into two templates and specifying sequences on each part.
It also adapts the sequence of carousel cards options and restores its
border and shadow options.

task-4367641

closes #217593

X-original-commit: c7225a8
Signed-off-by: Francois Georis (fge) <[email protected]>
Adds a button to download an import template to simplify the data import process and provide users with a plug-and-play example using demo data.

task-4876356

closes #215046

Signed-off-by: Lucas Perais (lpe) <[email protected]>
Adds a button to download an import template to simplify the data import process and provide users with a plug-and-play example using demo data.
This button is present on the import screens for:
- Journal Entry
- Customer Invoice
- Customer Credit Note
- Vendor Bill
- Vendor Credit Note

task-4876633
task-4876705
task-4876588

closes #214780

Signed-off-by: Lucas Perais (lpe) <[email protected]>
Fixed cache pollution of _get_cached_template_info and added tests
regarding the website editor, more specifically on enabling or disabling
options related to views.

Context:
- Base:
  - the xmlid and key of ir.ui.view are unique;
  - the ir.ui.view are inherited if they are active, otherwise inheritance
    is not applied;
  - _get_cached_template_info(key) returns the cached record values.

- Website:
  - the key of ir.ui.view are not unique; they can exist for different
    websites and without a website;
  - the ir.ui.view are inherited if they are active, otherwise inheritance
    is not applied. If a specific inherited view exists (for the current
    website), the default view (with same key) is not applied;
  - for t-call, the specific view are used only if the view is active,
    otherwise the default view is displayed;
  - is_view_active(key) should return False if the view of the website in
    question is inactive. If the default view is False, but the website
    view is True, then the response should be True;

Issue:
`is_view_active` returns True if a view with this key is active, ignoring
the website-specific inactive view.

The issue was seen because the editor changes the display (active) of the
views by copying them with the website reference. So when we want to
change the menu, and hide it, the view is copied and set active=False.
Part of the menu was still visible because it uses a
`t-if="is_view_active(...)"`.

Issue introduced by: 97c2dd2

closes #217592

Forward-port-of: #216100
Signed-off-by: Victor Feyens (vfe) <[email protected]>
Since [1] when the fallback iframe was reintroduced in
`html_builder`-based website builder, the resize operations do not
behave properly anymore - some mouse events seem to be caught by the
wrong iframe.

This commit avoids this by disabling pointer events inside the fallback
iframe.

[1]: e167c3b

task-4367641

closes #217579

X-original-commit: 41b45eb
Signed-off-by: Géry Debongnie <[email protected]>
Signed-off-by: Benoit Socias (bso) <[email protected]>
This commit removes the bullet in the system's internal note change
messages and gives a more balanced space around the arrow because before
there was more space on the left.

task-4798292

closes #217357

Signed-off-by: Alexandre Kühn (aku) <[email protected]>
In tour_automatic, there is an await requestAnimationFrame() which
can finally be removed with the new tour engine (macro.js) which is
based on animationFrames rather than a MutationObserver.

closes #216371

Signed-off-by: Lucas Perais (lpe) <[email protected]>
Writing on innerHTML is generally not recommended as it can lead to
security issues. This is highlighted by triggering the ci/security.

`setElementContent` utils is now available to safely write it on
`innerHTML` by checking the content type (markup in particular).

However, when writing an empty value, using `textContent` has the same
effect of clearing all children. It is therefore preferable to use it
instead, in order to remove direct usage of `innerHTML` in code and to
avoid triggering unncessary security checks.

https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent

closes #216066

Related: odoo/enterprise#88628
Signed-off-by: Sébastien Theys (seb) <[email protected]>
_* = website_event_sale

Before this commit:
- On confirming a zero-priced order, the user is redirected to the Sale Order
  page instead of a confirmation page.

After this commit:
- Zero-priced orders redirect to the standard order confirmation page. All
  relevant order details are shown, excluding payment-related information, as no
  payment is involved.

Affected version: master

closes #207863

Task: 4711803
Signed-off-by: Victor Feyens (vfe) <[email protected]>
Versions
--------
- saas-18.2+

Steps
-----
1. Have a product with optional products and/or variants;
2. add the product to your wishlist;
3. go to wishlist;
4. click on the cart button;
5. close the configurator using the × in the top right corner.

Issue
-----
The product gets removed from the wishlist, even though it wasn't added
to the cart.

Cause
-----
Before b8d0ab4, the product configurator would never get shown
from the wishlist, but with the centralizing of the "Add to Cart" logic,
it does pop up. The issue is that it shows up after the product has
already been removed from the wishlist.

Solution
--------
Await the result of `addToCart`, which returns the quantity add to the
cart, and only call `_removeWish` if it is greater than zero.

Also ensure that the product configurator opens with the correct product
attributes, and that closing it doesn't automatically redirect you to
checkout, unless selected in the configurator.

opw-4783677

closes #215313

X-original-commit: c0f411c
Signed-off-by: Valentin Chevalier <[email protected]>
Signed-off-by: Levi Siuzdak <[email protected]>
Adds a button to download an import template to simplify the data import process and provide users with a plug-and-play example using demo data.
Includes a test to ensure the template remains valid.

task-4876306

closes #214600

Signed-off-by: Lucas Perais (lpe) <[email protected]>
@bt-admin bt-admin added the master label Jul 8, 2025
@bt-admin bt-admin merged commit af72a16 into brain-tec:master Jul 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.