Skip to content

Syncing from upstream odoo/odoo (18.0) #34238

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 15 commits into from
Jul 12, 2025
Merged

Syncing from upstream odoo/odoo (18.0) #34238

merged 15 commits into from
Jul 12, 2025

Conversation

bt-admin
Copy link
Collaborator

bt_gitbot

karygauss03 and others added 15 commits July 11, 2025 08:12
…x spreadsheet integration

The attendance reporting action had search_default_groupby_name in its context, causing duplicated group_by entries in pivot views used in spreadsheets. This breaks spreadsheet insertion. We removed the default groupby to restore compatibility.
Related Task: 4897934.

closes #216013

Signed-off-by: Yannick Tivisse (yti) <[email protected]>
PR#135607 breaks support of image types other than
`png` for menu icons.
This puts back the support for previously
supported image types.

closes #218314

X-original-commit: 9facf18
Signed-off-by: Martin Trigaux (mat) <[email protected]>
Before this commit, the `show warning when bus connection encounters
issues` test was sometime failing. [1] attempted to fix this issue and
seems to have greatly reduced its frequence. However, the bus monitoring
service still listens to the "offline" event. As a result, the test can
still fails according to the runbot network condition.

This commit fixes the issue by preventing the "online"/"offline" events
during this test.

fixes runbot-226443

[1]: #216085

closes #218415

Signed-off-by: Matthieu Stockbauer (tsm) <[email protected]>
Issue:
If the delivery invoice policy was set to "real" (meaning that we'll invoice the
real delivery cost, after delivery), the delivery was shown as being free on
eCommerce (since we don't know the cost yet).

Fix:
Show a disclaimer indicating that the cost will be computed after delivery.

opw-4779059

closes #218378

Signed-off-by: Valeriya Chuprina (vchu) <[email protected]>
Before this commit, Invoice PDF attachments were allowed to be deleted in l10n_sa, even when the invoice is posted.
For l10n_sa_edi, if and invoice PDF is generated during a rejected state, it is kept there unless you reset to draft.

After this commit, in l10n_sa, deleting an attached invoice PDF raises a user error (reset to draft is required to detach the invoice first)
For l10n_sa_edi, if the invoice PDF is generated during a rejected state, but the invoice is resubmtited to ZATCA and accepted.
The creation & write dates of the attachment linked & edi_documents respectively are compared and the deletion of the pdf attachment is allowed to be deleted
in the case where the creation date was less than the write date.

task-4730762

closes #211192

Signed-off-by: Wala Gauthier (gawa) <[email protected]>
…uidelines

Steps to reproduce:
1. Install the `Contacts` module.
2. Go to Contacts > Create a new contact.
3. Select country "India", then open the State dropdown.
4. Observe that "Orissa" appears instead of the updated name "Odisha".

Issue:
As per Government of India guidelines, the state name was officially changed
from "Orissa" to "Odisha" in 2011.
However, Odoo still uses the outdated name in the state selection.

Solution:
Update the name of the state from "Orissa" to "Odisha" in state records.

opw-4935633

closes #218477

X-original-commit: 4767737
Related: odoo/enterprise#90007
Signed-off-by: Nicolas Lempereur (nle) <[email protected]>
Signed-off-by: Khushi Srivastava (khsr) <[email protected]>
For database with big invoice volume, it is necessary to be able to
retrieve documents in smaller batches otherwise crons will timeout
due to the 15 minutes limit.
Add a retrigger mechanic to the possibly heavy crons.

opw-4925532

closes #218474

X-original-commit: dc06bae
Signed-off-by: Antoine Dupuis (andu) <[email protected]>
Signed-off-by: Claire Bretton (clbr) <[email protected]>
When creating an invoice from a sales order linked to a
service-type product that auto-generates a project,
deleting the project before invoicing caused an error:
"Record does not exist or has been deleted."

This fix filters `browse()` result using `exists()` to ensure that
the linked distribution account still exists.

Steps to reproduce:
- Create a service product that creates a project on order
- Add it to a sales order and confirm
- Delete the project
- Try to create an invoice → error occurs

opw-4891937

closes #217870

Signed-off-by: Thomas Becquevort (thbe) <[email protected]>
### Contains the following commits:

odoo/o-spreadsheet@bc6f00d82 [REL] 18.0.37 [Task: 0](https://www.odoo.com/odoo/2328/tasks/0)
odoo/o-spreadsheet@816a13960 [PERF] pivot: don't invalidate cache needlessly [Task: 4933971](https://www.odoo.com/odoo/2328/tasks/4933971)
odoo/o-spreadsheet@05feba730 [FIX] pivot: don't aggregate calculated missing value [Task: 4933818](https://www.odoo.com/odoo/2328/tasks/4933818)
odoo/o-spreadsheet@c8b32d783 [FIX] Cells: newline is not a valid date separator [Task: 4910327](https://www.odoo.com/odoo/2328/tasks/4910327)
odoo/o-spreadsheet@edc7cab1e [PERF] import xlsx: avoid reading all cells multiple times during table_conversion [Task: 4699860](https://www.odoo.com/odoo/2328/tasks/4699860)
odoo/o-spreadsheet@c4eeba37e [FIX] Config: remove eslint [Task: 0](https://www.odoo.com/odoo/2328/tasks/0)
odoo/o-spreadsheet@f77fe7015 [IMP] config: ignore .DS_Store file from mac os [](https://www.odoo.com/odoo/2328/tasks/)
odoo/o-spreadsheet@39f760127 [FIX] header_size: resize row based on link label instead of full link [Task: 4886598](https://www.odoo.com/odoo/2328/tasks/4886598)
odoo/o-spreadsheet@d4eca5564 [FIX] pivot: allow to group by error [Task: 4886041](https://www.odoo.com/odoo/2328/tasks/4886041)
odoo/o-spreadsheet@c799ddb6d [FIX] demo: fix `clear` action again [Task: 0](https://www.odoo.com/odoo/2328/tasks/0)
odoo/o-spreadsheet@54ec6d405 [FIX] demo: Fix new `clear` action [Task: 0](https://www.odoo.com/odoo/2328/tasks/0)

closes #218592

Signed-off-by: Vincent Schippefilt (vsc) <[email protected]>
Co-authored-by: Anthony Hendrickx (anhe) <[email protected]>
Co-authored-by: Alexis Lacroix (laa) <[email protected]>
Co-authored-by: Lucas Lefèvre (lul) <[email protected]>
Co-authored-by: Dhrutik Patel (dhrp) <[email protected]>
Co-authored-by: Adrien Minne (adrm) <[email protected]>
Co-authored-by: Mehdi Rachico (mera) <[email protected]>
Co-authored-by: Florian Damhaut (flda) <[email protected]>
Co-authored-by: Rémi Rahir (rar) <[email protected]>
Co-authored-by: Pierre Rousseau (pro) <[email protected]>
Co-authored-by: Vincent Schippefilt (vsc) <[email protected]>
On a DB with 15M+ attachments, deleting a single attachment takes
several seconds. Most of the time is spent on the circular `original_id`
foreign key.

We add back the index which was removed in [1], but as `btree_not_null`.

```
 Delete on ir_attachment  (cost=0.43..8.45 rows=0 width=0) (actual time=0.274..0.274 rows=0 loops=1)
   ->  Index Scan using ir_attachment_pkey on ir_attachment  (cost=0.43..8.45 rows=1 width=6) (actual time=0.252..0.253 rows=1 loops=1)
         Index Cond: (id = 82807)
 Planning Time: 0.049 ms
 Trigger for constraint ir_attachment_original_id_fkey: time=2330.796 calls=1
```

[1] eedf37d

closes #218120

Signed-off-by: Nicolas Martinelli (nim) <[email protected]>
`_mail_get_timezone` allows finding which timezone some record is
relevant to

The track model should override it to fetch the timezone from the
relevant event.

`_mail_get_timezone_from_fields` is added as an intermediary to be able
to distinguish a timezone that is known from the record vs a timezone we
just fell back onto as a default from the caller context.

This is useful for the next commit in marketing_card

task-4936298

Part-of: #218633
Signed-off-by: Thibault Delavallee (tde) <[email protected]>
It is generally desirable to display the date in the timezone of
relevant to the record when sending out cards to share.

Notably for event models, everyone will be participating relative to the
same timezone.

If the model where a field is fetched defines some timezone, we
translate it and show the datetime or date as it is in that timezone.
Rather than UTC.

task-4936298

Part-of: #218633
Signed-off-by: Thibault Delavallee (tde) <[email protected]>
When possible we want to fetch a date field in its relevant timezone
not in UTC. As that is generally what you want people to share.

task-4936298

closes #218633

Signed-off-by: Thibault Delavallee (tde) <[email protected]>
Recently in commit b033a87
the UBL generation was improved to handle cash rounding better.

I.e. a new key 'cash_rounding_base_lines' was introduced to the
`vals` used in the generation.

This commit makes it optional to avoid tracebacks in case it is
forgotten to be added.

task-None

closes #218621

Signed-off-by: Antoine Dupuis (andu) <[email protected]>
Just warn models are invalid, but do not reset for stable. Data is not enforced
hence no real issue with wrong models.

Followup of #156731

closes #218582

X-original-commit: e39bc81
Signed-off-by: Thibault Delavallee (tde) <[email protected]>
@bt-admin bt-admin added the 18.0 label Jul 12, 2025
@bt-admin bt-admin merged commit b87e8ec into brain-tec:18.0 Jul 12, 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.