Skip to content

Conversation

divy-odoo
Copy link

No description provided.

@robodoo
Copy link

robodoo commented May 14, 2025

This PR targets the un-managed branch odoo-dev/odoo:master-mysterious-egg, it needs to be retargeted before it can be merged.

@divy-odoo divy-odoo force-pushed the master-mysterious-egg-tour-divy-6 branch from 057b8bf to ed8b92c Compare May 14, 2025 12:57
@msh-odoo msh-odoo force-pushed the master-mysterious-egg-tour-divy-6 branch from ed8b92c to 9dd36d5 Compare May 14, 2025 14:45
@divy-odoo divy-odoo force-pushed the master-mysterious-egg-tour-divy-6 branch 3 times, most recently from 156ebaf to 542e3e3 Compare May 15, 2025 12:33
@msh-odoo msh-odoo force-pushed the master-mysterious-egg-tour-divy-6 branch from 542e3e3 to d3f2dd3 Compare May 19, 2025 12:27
@msh-odoo msh-odoo marked this pull request as ready for review May 19, 2025 14:50
@robodoo
Copy link

robodoo commented May 19, 2025

This PR targets the un-managed branch odoo-dev/odoo:master-mysterious-egg, it needs to be retargeted before it can be merged.

@msh-odoo
Copy link

@ged-odoo @FrancoisGe Ready for review, would you please review and merge?

@FrancoisGe FrancoisGe force-pushed the master-mysterious-egg branch from 5b240d1 to 558b8e7 Compare May 20, 2025 05:41
@divy-odoo divy-odoo force-pushed the master-mysterious-egg-tour-divy-6 branch from d3f2dd3 to 6beba15 Compare May 20, 2025 06:33
paimonchan and others added 18 commits May 20, 2025 19:14
X-original-commit: 45f8d34
Part-of: odoo#209803
Signed-off-by: William Henrotin (whe) <whe@odoo.com>
closes odoo#209803

X-original-commit: c7c0927
Signed-off-by: William Henrotin (whe) <whe@odoo.com>
On slow networks, users or runbot may click checkboxes before the
JavaScript is fully loaded by the lazy loader, causing event handlers
to not be attached.

While test tours are supposed to be robust enough to wait for that, it
was decided to split the test into two separate tours, as testing the
donation form use from a non-admin is also better. So: one part while
logged in as admin for donation configuration, and another while logged
in as portal user to test it (we use a portal user so that the form
still autocompletes with base user information).

runbot-77224

X-original-commit: c4418cd
Part-of: odoo#210494
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
Co-authored-by: qsm-odoo <qsm@odoo.com>
Since the new tour system that was introduced through many commits
leading to 18.0, this donation test was left with errors and/or useless
things.

Related to runbot-77224

closes odoo#210494

X-original-commit: 74c9c92
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
How to reproduce:
–	Revert fix: odoo#206361 which fix archived activities not being
deleted when their related record are
–	Install project and log as admin
–	In Project -> Office Design -> Energy Certificate -> Schedule an activity
To-Do for “Marc Demo” (it must be another user)
–	Mark it as done
–	Delete the task (cog menu)
–	Click on the clock on the top right
–	And then on “View all activities”
–	Remove all filters
–	Add filter “Done”
You get a “Missing Record” error: “Record does not exist or has been deleted.”

The error happens on
allowed_ids[res_model] = set(records._filtered_access(operation)._ids)
because records contains the deleted task.
Note that this line is bypassed for activities of the current user, that’s why
it is important to assign the test activity to another user.

We solve the problem by restraining the records to the existing one (using
.exists on the recordset). Note that in v17, there is no problem because
_filter_access_rules (with check_access_right) was used instead of
_filtered_access.

We've considered to clean the records as they were detected in the
mail_activity _search method but that was not straightforward as it is usually
executed with a readonly transaction (web_search_read) and there is any way
already an upgrade script which suppress all orphan activities:
odoo/upgrade#6952.

Technical note: the test doesn't reproduce exactly the problem (no exception)
but we check that the records are filtered as explained above.

Task-4730338

closes odoo#210470

X-original-commit: a719ad9
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Signed-off-by: Pierre-Yves Dufays (pydu) <pydu@odoo.com>
A new amount type match was added for reconcile lines in the form
of `from_transaction_details`.
There is a value that is proposed by default for `regex`, but not
for the new one, while the matching follows the same rule.
We do expect atleast a group in the regex currently, but the user
has no example on which to base itself. (they currently have a
traceback but it will be fixed in odoo/enterprise#84769)

closes odoo#210457

X-original-commit: d90e919
Signed-off-by: Ali Alfie (alal) <alal@odoo.com>
This commit extends the getLocalYearAndWeek method to include the week's
starting date in its return value. This additional information is useful
when the method is used in the Gantt view (in
odoo/enterprise#85478).

task-4613165

closes odoo#209901

Related: odoo/enterprise#85478
Signed-off-by: Mathieu Duckerts-Antoine (dam) <dam@odoo.com>
To ensure that the next commit doesn't break existing views, add a test
that mimic the "New" button of all form views to lauch the first
onchange.

Also fix the Form._process_view() to manage the case when
start_date_field/end_date_field are not explicitly present in the view
arch. Without "esg.emission.factor" and "sale.commission.plan" form view
crash with the testing Form class.

Part-of: odoo#209587
Related: odoo/enterprise#85445
Signed-off-by: Rémy Voet (ryv) <ryv@odoo.com>
Issue Scenario
--------------

The current model has a related currency field
(related="company_id.currency_id") and has a company_id field with a
default value (= env.company.id). The model form view contains only the
currency field (company_id is not in the view). During the first call
of onchange() (creating a new record), the currency field is computed,
but the value of the company_id is empty (the default value is not
considered), and then the onchange returns an empty currency value.
But after saving the record, the currency is correctly recalculated
with the correct default value of the company_id.

This behavior is confusing since the goal of the onchange() is to
show what the record will be after it is saved (best effort). Also, in
some other complex cases, not taking into account default values of
fields that are not in the view leads to unexcepted behavior of some
compute methods (see odoo/enterprise#85359)

Fix
---

The first call of onchange() ignores missing fields when we need to
mark fields to recompute. But we really shouldn't. The onchange()
method must mimic the same behavior as the result of create(). This
means that in the case of first_call, modified() should be called with
all model fields, not just the ones in the views.

Don't change the `todo` variable because we don't want to trigger
`api.onchange` on the missing fields.

This change leads to recompute more fields and then we need to update
some compute method to manage record without database id.

Small other change: remove origin=self when when calling new() without
self. It is confusing and create a record with a malformed NewId.

closes odoo#209587

Related: odoo/enterprise#85445
Signed-off-by: Rémy Voet (ryv) <ryv@odoo.com>
Steps to reproduce:
	- Navigate to Time off app -> Reporting -> By type
	- Access any leave record
	- Notice it will open an allocation record form

Cause:
This is happening as the query we are using to fetch hr.leave.report
is not ordered correctly when it comes to fetching the columns.

https://github.com/odoo/odoo/blob/c0f3bff835cc8dbe63d5369de43c76e83ca0018e/addons/hr_holidays/report/hr_leave_report.py#L51-L53

https://github.com/odoo/odoo/blob/c0f3bff835cc8dbe63d5369de43c76e83ca0018e/addons/hr_holidays/report/hr_leave_report.py#L68-L70

in those two sub-queries the order of fetching the allocation_id and leave_id
is not the same which cause that leave_id column will be always null
and every id value -either leave_id or allocation_id- will be stored
in allocation_id column.

Fix:
Since columns' order matter when fetching sub-queries we unified
the order in both queries.

opw-4723952

closes odoo#210752

X-original-commit: 96fd74a
Signed-off-by: Bertrand Dossogne (bedo) <bedo@odoo.com>
Signed-off-by: Youssef Bashandy (yoba) <yoba@odoo.com>
The rename was done by a [previous PR](odoo#208544) and
missed the website_livechat override.

closes odoo#210744

Signed-off-by: Matthieu Stockbauer (tsm) <tsm@odoo.com>
Following the commit- odoo@e659ad1

The method `_indian_timezone_to_odoo_utc` is of no longer useful

closes odoo#210740

Signed-off-by: Josse Colpaert (jco) <jco@odoo.com>
closes odoo#210509

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
Scheduling a custom activity plan on a single record should do a `soft_reload`
of the current view in order to avoid breadcrumbs pollution.

The most frequent use case for that action is scheduling a plan from the chatter
of the form view of a record, and retriggering an unnamed default form
act_window would only restrict possible operations for the user.

After this commit, the current view will be reloaded and the user will most
probably be able to see its enabled plan in the chatter.

task-4525830

closes odoo#210447

X-original-commit: f8880b1
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
This commit updates the list of SWIFT codes for Ecuadorian banks in the
res.bank.csv file. Invalid and non-existent SWIFT codes have been removed,
ensuring that only accurate and verifiable codes remain.  This improves the
correctness of the Ecuador localization data.

task-4767329

closes odoo#208719

Signed-off-by: Claire Bretton (clbr) <clbr@odoo.com>
This commit fixes an issue introduced in odoo#207227,
where resetting the order of records in a x2many list field would lead
to a traceback as long as it contained more than one record.

The issue stems from the compareRecords method in StaticList, which was
not designed to handle an empty orderBy. To resolve this, the _sortBy
method now falls back to using an ascending id order instead of emptying
orderBy, effectively restoring the original order.

Skipping sorting in _sort would not suffice, as record order is cached
and must be explicitly restored.

closes odoo#210783

Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
### Contains the following commits:

odoo/o-spreadsheet@5c28bca85 [REL] 18.4.0-alpha.4 [Task: 0](https://www.odoo.com/odoo/2328/tasks/0)
odoo/o-spreadsheet@c7557c50c [IMP] pivot: add collapse/expand icons to pivot [Task: 4674387](https://www.odoo.com/odoo/2328/tasks/4674387)
odoo/o-spreadsheet@e844df686 [REF] pivot: use empty icon instead of format form pivot indent [Task: 4674387](https://www.odoo.com/odoo/2328/tasks/4674387)
odoo/o-spreadsheet@fc42b6114 [REF] icons: use same registry for all icons [Task: 4674387](https://www.odoo.com/odoo/2328/tasks/4674387)
odoo/o-spreadsheet@113237b86 [IMP] store: dispose non-local stores [Task: 4607572](https://www.odoo.com/odoo/2328/tasks/4607572)
odoo/o-spreadsheet@e628ea266 [IMP] spreadsheet_edition: move to user [Task: 4607572](https://www.odoo.com/odoo/2328/tasks/4607572)
odoo/o-spreadsheet@95435f2f9 [FIX] pivot: add `invalid` indicator for wrong calculated measure [Task: 4724069](https://www.odoo.com/odoo/2328/tasks/4724069)
odoo/o-spreadsheet@6852f261d [FIX] standalone composer: localize content [Task: 4724069](https://www.odoo.com/odoo/2328/tasks/4724069)
odoo/o-spreadsheet@c8dc6433f [IMP] scorecard: add styling to Key & baseline [Task: 4353740](https://www.odoo.com/odoo/2328/tasks/4353740)
odoo/o-spreadsheet@7dcae625a [PERF] range: faster reference parsing [Task: 4771804](https://www.odoo.com/odoo/2328/tasks/4771804)
odoo/o-spreadsheet@3e8d625f0 [PERF] coordinate: faster xc parsing [Task: 4771804](https://www.odoo.com/odoo/2328/tasks/4771804)
odoo/o-spreadsheet@52824edb1 [FIX] figure: anchor move when resizing with keepSize [Task: 4755818](https://www.odoo.com/odoo/2328/tasks/4755818)
odoo/o-spreadsheet@b2183d0ce [IMP] dashboard: add button to open chart in full screen [Task: 4787283](https://www.odoo.com/odoo/2328/tasks/4787283)
odoo/o-spreadsheet@e354859e5 [MOV] charts: extract chart animations from Odoo [Task: 4787283](https://www.odoo.com/odoo/2328/tasks/4787283)
odoo/o-spreadsheet@e18e777ff [FIX] evaluation: fix issue when writing formula on spilled data [Task: 4757650](https://www.odoo.com/odoo/2328/tasks/4757650)

Part-of: odoo#210736
Related: odoo/enterprise#85939
Signed-off-by: Rémi Rahir (rar) <rar@odoo.com>
Co-authored-by: Anthony Hendrickx (anhe) <anhe@odoo.com>
Co-authored-by: Alexis Lacroix (laa) <laa@odoo.com>
Co-authored-by: Lucas Lefèvre (lul) <lul@odoo.com>
Co-authored-by: Dhrutik Patel (dhrp) <dhrp@odoo.com>
Co-authored-by: Adrien Minne (adrm) <adrm@odoo.com>
Co-authored-by: Mehdi Rachico (mera) <mera@odoo.com>
Co-authored-by: Florian Damhaut (flda) <flda@odoo.com>
Co-authored-by: Rémi Rahir (rar) <rar@odoo.com>
Co-authored-by: Pierre Rousseau (pro) <pro@odoo.com>
Co-authored-by: Vincent Schippefilt (vsc) <vsc@odoo.com>
The pivots now have icons in the grid to collapse/expand the rows
and columns.

This commit adapts the `odoo_pivot` for this new feature.

Task: 4674387
Part-of: odoo#210736
Related: odoo/enterprise#85939
Signed-off-by: Rémi Rahir (rar) <rar@odoo.com>
artn-odoo and others added 18 commits May 26, 2025 18:50
**Problem:**
For products with variants and differents steps for the BoM depending
on the variant, the Manufacturing Order overview for a given product
with a given variant would display the sum of the cost of all variants
possible for this product. If we had a product "Drawer" with a color
variant "Black" and "White", which cost 10 and 20 euros respectively,
the Manufacturing Order overview of a Black Drawer would display the
cost of the drawer + **30** euros (10+20), instead of being the cost
of the drawer + **10** euros. The display cost is the sum of the price
of every variants for this product, instead of being the price of the
current variant of the product.

**Steps to reproduce:**
- Create a product with variants
- Change the BoM and make some components needed only for certain variants and add a price for them
- Go to the MO overview
- The Cost BoM cost total is the sum of all prices AND variants

**Cause of the issue:**
https://github.com/odoo/odoo/blob/d3ab7b2c3ceddbb4cb8d8e91fac0d60e28e5673a/addons/mrp/report/mrp_report_mo_overview.py#L85
This treats every remaining lines of the BoM as a missing component,
thus adding it's price to the total price. Some lines should only be
applied if a specific variant is selected, but with this code, every
line that has a condition depending on variants will be taken in.

**Fix:**
Before adding the product of a BoM line to the missing components, we
check that the BoM line should be applied to the current variant.
The missing components are still used and can be not empty in the
case where the BoM includes a line that was deleted from the MO,
making the MO cost and the BoM cost different. In this case, the
missing components will not be empty and will still work as
intended without taking the unwanted variants into account.

opw-4557169

closes odoo#211689

X-original-commit: 7872713
Signed-off-by: Quentin Wolfs (quwo) <quwo@odoo.com>
Signed-off-by: Arthur Nanson (artn) <artn@odoo.com>
Creating POS payment methods requires being a POS admin, which the POS
user is not, and the test user may not be.

Bypass issue by creating payment methods in sudo.

https://runbot.odoo.com/odoo/error/222989

closes odoo#211669

X-original-commit: 89da862
Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
Steps to reproduce the issue:

- Enter Website Edit mode.
- Drag and drop a "Quotes" carousel snippet onto the page.
- Click the snippet.
- Bug: most of the expected options are missing, and clicking the "+"
  (add slide) button causes the page to freeze (infinite loading).

This bug has been occurring since commit [1], where a new snippet
"s_quotes_carousel_compact" was introduced. While trying to exclude
this snippet from the default options of "Carousel" snippets, we
accidentally excluded the other "Quotes" snippets as well, which caused
them to lose their options.

[1]: odoo@826b2d5

opw-4803058

closes odoo#211539

X-original-commit: 2e076d6
Signed-off-by: Serge Bayet (seba) <seba@odoo.com>
Signed-off-by: Benjamin Vray (bvr) <bvr@odoo.com>
…mpany

Before this commit, if a user had write rights for a company but was not
connected to it, an error would occur when changing the company_id field of a
record to that company (or create a new record with the company_id field set to
that company). The user would then have to select the company in the company
switcher, wait for the webclient to reload, re-enter the changes, and save the
record again.

This commit allows users to write a record (create a new record, or changing
the company of an existing record) belonging to a company for which they have
write permissions, even if they are not connected to it. In this case, the
company will be automatically added to the connected companies. Note that, this
is the same behaviour when opening a record from a non-connected company(see [1)].

[1]: odoo@6213c40

task-id 4655385

closes odoo#209643

Related: odoo/enterprise#86425
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
A non-editable element should not show a hint for edition.

This happened in the following case:

1. Open the website editor in edit mode
2. Click on the header
3. Change the header template to "Menu with Search bar" (the 6th one)
4. Click to the left of "Free Returns and Standard Shipping" in the menu
-> A "List" hint appeared.

This commit fixes the issue by checking if the element is editable
before showing the hint.

Note: will have to be adapted to the new definition of "editable node"
when task-4809282 is merged.

closes odoo#211647

Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
If a tag is set on a product, it has to be propagated on the base and the tax lines.
It was only set on the base line before this fix.

task_id: 4789153

closes odoo#211635

X-original-commit: f62b8d3
Related: odoo/enterprise#86409
Signed-off-by: Laurent Smet (las) <las@odoo.com>
Signed-off-by: Olivier Colson (oco) <oco@odoo.com>
Purpose:
This commit adapts changes related to PR-197593.
In that PR, users were redirected to the home screen if
configurator_done was True, and redirection was handled using
doAction(redirect_url), where redirect_url was a dictionary containing
the next action, fetched from the button_choose_theme method.

We didn't use the skipConfigurator method earlier because, in stable
branches, it incorrectly redirected to the theme selection page instead
of the home screen. This issue is now fixed in the master branch, so we
can use skipConfigurator method in master.

Key Changes:
If current_website.configurator_done is True, we now simply call
skipConfigurator.

This commit aims to adapt the redirection logic in master and utilize the
skipConfigurator method.

task-4555467

closes odoo#211592

Signed-off-by: Serge Bayet (seba) <seba@odoo.com>
Currently, an error occurs when users attempt to group by records by
**Activity State** in the CRM pipeline kanban view.

**Steps to reproduce:**
- Install the `crm` module.
- Open the CRM pipeline kanban view.
- Group records by Activity State.
- Observe the error.

**Error:** `AssertionError`

The issue occurs when attempting to add a LEFT JOIN on an SQL query without
verifying whether it has already been included. - [1]

The method `_read_group_groupby` is called twice because the `activity_state`
field is used both as a progress bar field at [2] and as a manual group by
option in the Kanban view by the user.

[1] - https://github.com/odoo/odoo/blob/6edf0ba80818fc23b8daf46d694d201e0efee133/addons/mail/models/mail_activity_mixin.py#L284

[2] - https://github.com/odoo/odoo/blob/5c4e0826528ec88ea7a180a3598e7f225346bc49/addons/crm/views/crm_lead_views.xml#L505-L507

This commit adds a check to ensure that the join is only added once,
preventing redundant joins.

Sentry - 6545651193

closes odoo#211570

X-original-commit: eaeab2d
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Signed-off-by: Aditi Patel (adip) <adip@odoo.com>
Scenario:
- have two domains for a website (eg. example.odoo.com and example.com)
- add an exhibitor to an event
- go to the website with domain that is not web.base.url
- click on "More Info" / "Connect" on an exhibitor from the list

Result: a traceback with error "Can't redirect to another origin"
happens.

Reason: to change page, we are using redirect method that prevent
changing domain. But since 074be1e
we are using the absolute URL (with web.base.url domain) instead of a
relative URL, so the redirection to the other domain is prevented.

Fix: use the relative URL again.

opw-4799163

closes odoo#211368

X-original-commit: 15b27d8
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
Because when we change the link element in the popover and apply, we
always close the current one and open a new one, the loading at the apply
is redundant. We do the reopening to let the overlay plugin reposition popover,
and let browser handle the relative/root-relative url to add the domain.
This commit contains multiple changes squashed together, coming from
various pull requests on master-mysterious-egg. These changes includes:

- No image in colorpicker and working gradient editor for preset background
- Clean carousel related tests, remove repeated ones and merge/rename files
- Fix logo adding/removing option
- Use only "color" tabs in countdown color picker options
- Add support for compact hex colors (e.g. #fff)
- Fix color styling
- Fix setExtraStep
- Auto-optimize image upon replace media
- Adapt extra product image to also rely on openMediaDialog
- Use correct mimetype fields from dataset
- Adapt tests
- Refresh Dynamic Snippet Carousel when scrolling mode is changed

Co-authored-by: Alessandro Lupo <alup@odoo.com>
Co-authored-by: Benoit Socias <bso@odoo.com>
Co-authored-by: divy-odoo <divy@odoo.com>
Co-authored-by: emge-odoo <emge@odoo.com>
Co-authored-by: FrancoisGe <fge@odoo.com>
Co-authored-by: Jinjiu Liu <jili@odoo.com>
Co-authored-by: Keval Bhatt <ksbh@odoo.com>
Co-authored-by: Serhii Rubanskyi - seru <seru@odoo.com>
@ged-odoo ged-odoo force-pushed the master-mysterious-egg-next branch from 7b6e21e to 921bf70 Compare May 27, 2025 06:36
@divy-odoo divy-odoo force-pushed the master-mysterious-egg-tour-divy-6 branch from 23cc580 to 913c23d Compare May 27, 2025 12:31

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hmm, this looks like a mistake: twice the same trigger. You probably mean to change the second line and not the content.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🙂 resolved().

@divy-odoo divy-odoo force-pushed the master-mysterious-egg-tour-divy-6 branch from 913c23d to a29c26f Compare May 27, 2025 13:09
@ged-odoo
Copy link

robodoo r+ rebase-ff

@robodoo
Copy link

robodoo commented May 27, 2025

Branch master-mysterious-egg-next is not within my remit, imma just ignore it.

@ged-odoo ged-odoo changed the base branch from master-mysterious-egg-next to master May 27, 2025 13:20
@ged-odoo ged-odoo closed this May 27, 2025
@ged-odoo
Copy link

sorry @divy-odoo i tried retargeting this PR from master-mysterious-egg-next to master, but github closed it. i will remake a new PR

@divy-odoo
Copy link
Author

New PR: odoo#211921

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment