Skip to content

Conversation

@brboi
Copy link

@brboi brboi commented Oct 20, 2025

No description provided.

@robodoo
Copy link

robodoo commented Oct 20, 2025

This PR targets the un-managed branch odoo-dev/odoo:master-voip-wake-up-call, it needs to be retargeted before it can be merged.

@brboi brboi force-pushed the master-voip-wake-up-call branch from 9131466 to 89d3d62 Compare October 21, 2025 09:55
@brboi brboi force-pushed the master-voip-incoming-call-notif-res-boi branch from a60b6b3 to b686194 Compare October 21, 2025 09:57
@brboi brboi force-pushed the master-voip-wake-up-call branch from 89d3d62 to 4ce35f9 Compare October 21, 2025 12:16
@brboi brboi force-pushed the master-voip-incoming-call-notif-res-boi branch 3 times, most recently from 13578d7 to df7a5d9 Compare October 23, 2025 13:22
@brboi brboi force-pushed the master-voip-incoming-call-notif-res-boi branch from df7a5d9 to c05a95c Compare October 30, 2025 15:50
@brboi brboi force-pushed the master-voip-wake-up-call branch from 567a325 to 51fa5e2 Compare October 30, 2025 15:51
@brboi brboi force-pushed the master-voip-incoming-call-notif-res-boi branch from c05a95c to e421b48 Compare October 30, 2025 15:51
loco-odoo and others added 20 commits October 30, 2025 16:01
*: html_editor, website

The goal of this commit is to fix the behavior of the
`extra_contenteditable_handlers` resource; its goal is to mark as
editable an element that is inside an `.o_not_editable`. The problem is
that this was not working as intended as the elements given as argument
to the handler were a list that was filtered of the elements that have
an `.o_not_editable` ancestor.

Note: even if it is in stable, the `force_editable_selector` resource
has been renamed as `content_editable_providers` as a provider is needed
in some cases. Because it has become a provider, the
`force_not_editable_selector` resource has also been renamed and becomes
a provider. This choice has been made to maintain consistency throughout
the plugin.

closes odoo#233662

X-original-commit: odoo@13565e0
Signed-off-by: Francois Georis (fge) <[email protected]>
Signed-off-by: Colin Louis (loco) <[email protected]>
Issue:

The test test_mrp_backorder_operations behaves non-deterministically.
It may fail at this assertion:
https://github.com/odoo/odoo/blob/6e37542b53f9c9ec1baf8d58b1eeca376252186f/addons/mrp/tests/test_backorder.py#L986-L989

Because the duration of done workorder can vary.

Cause:
The delta time between button_start() and button_finish()
https://github.com/odoo/odoo/blob/6e37542b53f9c9ec1baf8d58b1eeca376252186f/addons/mrp/tests/test_backorder.py#L983-L985
button_finish() triggers Productivity._close()
https://github.com/odoo/odoo/blob/6e37542b53f9c9ec1baf8d58b1eeca376252186f/addons/mrp/models/mrp_workcenter.py#L572-L576
which sets Productivity.duration to 0 if delta time is zero.
Consequently, workorder.duration also becomes zero.
When bo_2.button_mark_done() is called, the duration is set to
duration_expected (240 in this test), which the assertion only
can pass in that case.

If delta time isn't zero, then duration will also be non-zero.
So it will not set to duration_expected. As a result the assertion will fail.

runbot-233247

closes odoo#233646

X-original-commit: 7669a43
Signed-off-by: Lancelot Semal (lase) <[email protected]>
Signed-off-by: Mohammadmahdi Alijani (malj) <[email protected]>
*: l10n_es_pos, l10n_sa_pos, point_of_sale, pos_discount,
  pos_loyalty, pos_razorpay, pos_restaurant, pos_self_order

Before this commit taxes computation was a mess in PoS, with differents
implementations in different places, and some of them not taking into
account all the complexity of the tax system (taxes included in price,
taxes on taxes, etc.).

This commit aims to unify all the tax computation logic in a single
place, and to make it more robust and easier to understand.

---

What's changes:

Rounding methods available in PoS are now:
1) Rounding applied only on cash payments
    In this case the remaining due is rounded only if there is at least
    one cash payment line and the remaining due is less than the
    rounding tolerance.

2) Rounding applied on all payment methods
    In this case the remaining due is always rounded even if a card
    payment method is used. The remaining due is rounded if it is less
    than the rounding tolerance. No payment method is rounded in this
    case, the whole order is rounded instead.

Taxes computation is now done globally on the order, and not on each
line. This way we ensure that the total tax amount is always correct,
even if there is some rounding issues on the lines.

---

Changes in tests:

`test_cash_rounding_down_add_invoice_line_not_only_round_cash_method_with_residual_rounding`
`test_cash_rounding_up_add_invoice_line_not_only_round_cash_method`

Are removed because the tested behavior is not longer present. Now when
rounding is enabled with only_round_cash_method=False, the whole order
is always rounded.

Accounting tests are now principally tested with Hoot instead of tours.

---

Developer note:

No prices should be calculated manually in the code base. Getters have
been created for this purpose in the following files:
- `product_template_accounting.js`
- `pos_order_accounting.js`
- `pos_order_line_accounting.js`

In the future, all PRs containing tax calculations must justify them.

closes odoo#233196

Taskid: 5143758
X-original-commit: 9538698
Related: odoo/enterprise#98167
Signed-off-by: David Monnom (moda) <[email protected]>
…ence fields

- In Odoo 19, the pos.config fields sequence_id and sequence_line_id were
  renamed to order_seq_id and order_line_seq_id. The removed migration script
odoo@2ead34e#diff-4c6e412c7d8f4df2a05831547e7df93d0b91f510d03b7b3ed0d689a18f5dae44R98-L132
  still referenced the old field names, causing UndefinedColumn errors during
  upgrade. The logic is already handled by the main migration script using the
https://github.com/odoo/upgrade/pull/8197/files#diff-d415d26b86040ad22ab82c184e6db20ec4e9a61058d9a9dbf3668ca21bcbaf19R42-R50
  new field names, so this file is no longer required.

```
Traceback (most recent call last):
  File "/home/odoo/src/odoo/19.0/odoo/service/server.py", line 1509, in preload_registries
    registry = Registry.new(dbname, update_module=update_module, install_modules=config['init'], upgrade_modules=config['update'], reinit_modules=config['reinit'])
  File "/home/odoo/src/odoo/19.0/odoo/tools/func.py", line 88, in locked
    return func(inst, *args, **kwargs)
  File "/home/odoo/src/odoo/19.0/odoo/orm/registry.py", line 185, in new
    load_modules(
  File "/home/odoo/src/odoo/19.0/odoo/modules/loading.py", line 449, in load_modules
    load_module_graph(
  File "/home/odoo/src/odoo/19.0/odoo/modules/loading.py", line 217, in load_module_graph
    migrations.migrate_module(package, 'post')
  File "/home/odoo/src/odoo/19.0/odoo/modules/migration.py", line 220, in migrate_module
    exec_script(self.cr, installed_version, pyfile, pkg.name, stage, stageformat[stage] % version)
  File "/home/odoo/src/odoo/19.0/odoo/modules/migration.py", line 257, in exec_script
    mod.migrate(cr, installed_version)
  File "/home/odoo/src/odoo/19.0/addons/l10n_fr_pos_cert/upgrades/1.1/post-sequence-no-gap.py", line 2, in migrate
    cr.execute("""
  File "/home/odoo/src/odoo/19.0/odoo/sql_db.py", line 426, in execute
    self._obj.execute(query, params)
psycopg2.errors.UndefinedColumn: column pconfig.sequence_id does not exist
LINE 9:         AND (pconfig.sequence_id = iseq.id or pconfig.sequen...
                     ^
```

opw-5152559
upg-3179288
tbg-2205

closes odoo#233761

X-original-commit: 88d5b0a
Signed-off-by: Stéphane Vanmeerhaeghe (stva) <[email protected]>
Signed-off-by: Bhavik Darji (bda) <[email protected]>
Follow-up to commit 860c097 .
There we improved the eInvoice format labels for clarity.
But 2 label were formatted differently than the others.
This commit fixes that.

task-4737164

X-original-commit: 09358c0
Part-of: odoo#233764
Signed-off-by: Sven Führ (svfu) <[email protected]>
Signed-off-by: Claire Bretton (clbr) <[email protected]>
Currently it is possible to disallow any services in the configuration.
This can lead to complicance issues; i.e. if someone disables "BIS Billing 3.0".

1. Ensure Peppol is activated (test mode or production; not demo)
2. Settings -> Accounting -> PEPPOL Electronic Invoicing -> Advanced configuration
3. Any service can be disabled.

This commit hides the services configuration from the peppol
configuration wizard.

part-of
task-4737164

closes odoo#233764

X-original-commit: 1b8ce25
Signed-off-by: Sven Führ (svfu) <[email protected]>
Signed-off-by: Claire Bretton (clbr) <[email protected]>
Currently, an error occurs when a user attempts to access the stock valuation
report for a date beyond today.

Steps to replicate:
- Install `stock_account`, `purchase_stock`, `accountant`.
- Go to settings, set `Inventory Cost Method` to Average Cost(AVCO) and Turn on
 `Lots and Serial Numbers`.
- Go to Products and create a new one with name `test`, set `Track Inventory` -
 `by lots`.
- On the `Inventory` page turn on `Valuation by Lots/Serial`.
- Open RFQs, Create a new one with test product and Click
 `Confirm Order` > Click `Receive`.
- Set the Lot name by clicking the `Details` button on the move lines.
- Click `Validate`, go to `Purchase > Orders > Purchase Orders`.
- Select the currently made Purchase Order (It will be in the `Waiting Bills`
  state) and Click on the `Create bills` Button, Confirm it (it should be in the
  paid state now).
- Now go to `Accountant > Review > Inventory Evaluation` and select and date
  ahead of today, the error will occur.

TL;DR:
- Install `stock_account, purchase_stock, and accountant`.
- Create a product tracked by lots with AVCO costing and
 `Valuation by Lots/Serial` enabled.
- Create a Purchase order and receive it (assign a lot), then create and confirm
  the bill for the same.
- Finally, go to `Accountant > Review > Inventory Valuation`, select a future
  date — the error occurs.

Error:
`TypeError: can't compare datetime.datetime to datetime.date`

Cause:
- The error occurs because of recent commit [PR] where `aml.date` is typecasted
  from `datetime.date` to `datetime.datetime`, but the `at_date` is received as
 `datetime.date` [1] and this causes the error.
- The `at_date` is converted to `datetime.date` from string at line [2].

Solution:
- Now we don't convert `aml.date` to datetime since both `aml.date` [3] and
  `at_date` [4] are instances of `datetime.date`. Additionally, account.move
  are based on date rather than datetime.

[PR]: odoo@aec7d32

[1]: https://github.com/odoo/odoo/blob/7e0cc5ec686a52b8c1f8270213acac54575ed469/addons/purchase_stock/models/stock_move.py#L157

[2]: https://github.com/odoo/odoo/blob/7e0cc5ec686a52b8c1f8270213acac54575ed469/addons/stock_account/report/stock_valuation_report.py#L32

[3]: https://github.com/odoo/odoo/blob/385d8473952eeaa9dcc7740bacfc2c9cbdc2d1e2/addons/account/models/account_move_line.py#L69-L73

[4]: https://github.com/odoo/odoo/blob/385d8473952eeaa9dcc7740bacfc2c9cbdc2d1e2/addons/stock_account/report/stock_valuation_report.py#L32

sentry-6933268158

closes odoo#233763

X-original-commit: 318c678
Signed-off-by: Arnold Moyaux (arm) <[email protected]>
Signed-off-by: Bhavya Ashesh Nanavati (bhna) <[email protected]>
When creating an application from the talent pool: the last joined document
should follow.
When adding an applicant to the first applicant's talent pool:
all documents should follow the newly created talent.

Task-4876754

closes odoo#215796

Signed-off-by: Yannick Tivisse (yti) <[email protected]>
- Fix presence state for employees without users to show as 'present' instead of 'absent'
- Fix presence state for employees not in contract to show as 'out_of_working_hour'
- Add custom tooltips: "Present (untracked)" for employees without users
- Add "Off-Hours" tooltip for out of working hours state

task-5082763

closes odoo#227930

Signed-off-by: Yannick Tivisse (yti) <[email protected]>
Reproduce:
- Go to Time Off > Management > Time Off
- Create a Time Off for an employee with empty "Working Hours"
  (Payroll tab on profile).
- Ensure the Time Off Type has "Requires allocation" unchecked so it
  appears in the dropdown.
- Save and then try to Validate.

Issue:
During validation, `_validate_leave_request` assumes the employee has a
working calendar and tries to access `calendar.tz`. When "Working Hours"
is empty, `resource_calendar_id` is False, leading to the traceback.

Fix:
Skip timesheet generation and upper bound check when the employee has no working
calendar (fully flexible case). A placeholder "Flexible" was also added to
the `hr.employee` form view on the field "Working Hours" when empty.

task-5048761

closes odoo#224769

Signed-off-by: Yannick Tivisse (yti) <[email protected]>
add rule for multi campany where each company sees the overtime ruleset assign to its country

Task: 5102385
Part-of: odoo#229484
Related: odoo/enterprise#95999
Related: odoo/upgrade#8528
Signed-off-by: Yannick Tivisse (yti) <[email protected]>
- Introduce a default overtime ruleset tailored for Saudi Arabian companies.
- Add a corresponding work entry type to ensure proper association with the ruleset’s rules through the appropriate bridge module.

closes odoo#229484

Task: 5102385
Related: odoo/enterprise#95999
Related: odoo/upgrade#8528
Signed-off-by: Yannick Tivisse (yti) <[email protected]>
Remove useless python dead code in point_of_sale and submodules.

closes odoo#224984

Task-id: 5006039
Related: odoo/enterprise#93628
Signed-off-by: David Monnom (moda) <[email protected]>
### Contains the following commits:

odoo/o-spreadsheet@d0b65e9e48 [REL] 19.1.0-alpha.10 [Task: 0](https://www.odoo.com/odoo/2328/tasks/0)
odoo/o-spreadsheet@5c8b4fa7f9 [FIX] upgrade: half-versions are missing in mapping [Task: 5116401](https://www.odoo.com/odoo/2328/tasks/5116401)
odoo/o-spreadsheet@e7f35060bd [FIX] style: remove circular dependency [Task: 0](https://www.odoo.com/odoo/2328/tasks/0)
odoo/o-spreadsheet@e97442f56e [IMP] filters: auto focus input [Task: 4862354](https://www.odoo.com/odoo/2328/tasks/4862354)
odoo/o-spreadsheet@9f76cbe835 [IMP] CF: auto focus input [Task: 4862354](https://www.odoo.com/odoo/2328/tasks/4862354)
odoo/o-spreadsheet@7eeea68b53 [IMP] DV: auto focus input [Task: 4862354](https://www.odoo.com/odoo/2328/tasks/4862354)
odoo/o-spreadsheet@b0f275b719 [IMP] tests: add .not.toHaveClass() failure message [](https://www.odoo.com/odoo/2328/tasks/)
odoo/o-spreadsheet@edae4603fd [IMP] doc: add links to data model documentation [Task: 5194507](https://www.odoo.com/odoo/2328/tasks/5194507)
odoo/o-spreadsheet@2be1aa14d0 [FIX] doc: better formatting for data model [Task: 5194507](https://www.odoo.com/odoo/2328/tasks/5194507)
odoo/o-spreadsheet@d1b802bee2 [FIX] charts: wrong padding for humanize number section [Task: 5155591](https://www.odoo.com/odoo/2328/tasks/5155591)
odoo/o-spreadsheet@4a726a82a9 [FIX] charts: missing `humanizeNumbers` checkbox in some panels [Task: 5155591](https://www.odoo.com/odoo/2328/tasks/5155591)
odoo/o-spreadsheet@83c34559d5 [FIX] charts: correctly humanize decimal numbers [Task: 5155591](https://www.odoo.com/odoo/2328/tasks/5155591)
odoo/o-spreadsheet@a370995bbf [REF] tests: remove chart snapshot tests [Task: 5160031](https://www.odoo.com/odoo/2328/tasks/5160031)
odoo/o-spreadsheet@49d514299c [REF] style: decouple style from cells [Task: [4930719](https://www.odoo.com/odoo/2328/tasks/4930719)](https://www.odoo.com/odoo/2328/tasks/[4930719](https://www.odoo.com/odoo/2328/tasks/4930719))

closes odoo#233775

Related: odoo/enterprise#98469
Signed-off-by: Lucas Lefèvre (lul) <[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: Ronak Mukeshbhai Bharadiya <[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]>
…rent

Description
- The test was failing because the default `Contact us` menu was removed
  In commit odoo#223724.
Fix
- Created a test menu to ensure the test has two menus to work with.

runbot-233330

closes odoo#231833

Signed-off-by: Soukéina Bojabza (sobo) <[email protected]>
The priority column takes up too much unnecessary space in the list view
because it is defined as a selection rather than a boolean (because
modules like `project` add further values to the priority field) and the
selection field has a high default minimum width in list views.

Thus, we hardcode the column width to 20 px to accommodate exactly one
star, making sure the `nolabel="1"` attribute is set (existing
behaviour), so we don't end up with an ugly truncated label.

The priority widget is used in the following modules within the
Inventory scope:
* `maintenance`: Only used in kanban and form views.
* `mrp_plm`: Only used in a kanban view.
* `mrp`: Set to 20px in `mrp.production` list view.
* `purchase`: Set to 20px in `purchase.order` list views.
* `quality_control`: Only used in kanban and form views.
* `repair`: Set to 20px in `repair.order` list view.
* `stock_barcode_mrp`: Only used in a kanban view.
* `stock`: Set to 20px in `stock.picking` list view.

Task ID: 4688315

closes odoo#207409

Signed-off-by: Tiffany Chang (tic) <[email protected]>
Before this commit, one would have to fill every option
from the poll create dialog before being able to add more.

Sometimes, you'd want to create every option you need then
fill them all in a row.

This commit removes this arbitrary limitation. We can now
add as many option as we want. Empty options will be filtered
out when creating the poll.

closes odoo#233823

Signed-off-by: Matthieu Stockbauer (tsm) <[email protected]>
Before this commit, message preview prefix was a subtemplate of
ChatBubble. Since this template is reused, being a subtemplate isn't
very practical.
This commit refactor previewText to include the prefix.

closes odoo#233399

Signed-off-by: Sébastien Theys (seb) <[email protected]>
This commit brings more clarity on invalid statements. The reflected
changes are :
- Hiding Last Statement if its date is <= Lock Date
- "Invalid Statement(s)" alert on the journal dashboard
- Red balance amount and warning in the BankRecW when it contains
invalid statements (clicking on the warning applies the filter)
- Possibility to choose a statement when creating a transaction
- Invalid statement warning in the statement creation form
- Displays all warnings in the statement form view
- When a file generate a statement, it is kept in its attachments
- Prevent deletion of transactions if they belong to a valid statement
- Empty statement are not taken into account for the dashboard
Last Statement and the BankRecW balance

task-4413473

closes odoo#232246

X-original-commit: f3cf5df
Related: odoo/enterprise#97597
Signed-off-by: Maximilien La Barre (malb) <[email protected]>
Signed-off-by: Pierre-Rodéric Roose (prro) <[email protected]>
Purpose of this commit:
Fix the traceback that occurs when adding emojis to a poll.

Steps to Reproduce:
- Start a poll
- Try adding emojis to a poll option

Before this commit, the emoji picker element was correctly referenced in the
component, but was not used properly inside the useEmojiPicker hook.
As a result, the code attempted to access an undefined reference, causing an
error when interacting with the picker.

This commit ensures that the correct reference is used within useEmojiPicker,
resolving the issue.

closes odoo#233560

Signed-off-by: Matthieu Stockbauer (tsm) <[email protected]>
romaincarlier4 and others added 26 commits November 4, 2025 22:18
If the version record is a contract template, redirect to the version contract template view.
Otherwise, redirect to the employee form view with the version_id in the context.

task-5082709

closes odoo#232058

Related: odoo/enterprise#97463
Signed-off-by: Yannick Tivisse (yti) <[email protected]>
Before this commit, Odoo had two implementations for creating
an immutable dictionary. These two implementations have different
behaviors and coexist for backward compatibility reasons.

The purpose of this commit is to leave only one implementation
for the immutable dictionary, called `frozendict`.

This implementation makes it truly impossible to modify the mapping.

In addition, by default, we don't override internal methods of the
dictionary which improves performance (despite the cost during creation).

Note 1:
Classes `LangData` and `LangDataDict` are adapted as `Mapping` subclasses
instead of `ReadonlyDict`. This simplifies their implementation, which is
not performance-critical.

Note 2:
This change is possible because the `MappingProxyType` class implements
fallback on the `__hash__` method since version 3.12
(thanks to odoo@d357125).

task-4808836

closes odoo#230923

Related: odoo/enterprise#96853
Signed-off-by: Raphael Collet <[email protected]>
Add a simple text engine to reports to be able to add multiple text columns.

This is useful for reports that have box numbers. See the DE/ZA/MK VAT reports.

closes odoo#233916

Related: odoo/enterprise#98539
Signed-off-by: Olivier Colson (oco) <[email protected]>
Currently, Discuss Channel, Discuss Channel Member, Discuss Category,
have certain fields that need to stay synchronized when updated.

This is currently done with a custom implementation of _sync_field_names
on each model and orm (write) overrides.

Since the synchronization logic is mostly similar across these models,
we want to introduce a way to generalize this solution.

task-5221092

closes odoo#233654

Signed-off-by: Sébastien Theys (seb) <[email protected]>
**Issue:**
In POS, clicking on a tax-free, inventory-tracked, configurable product
as a non-admin user can throw an Access Rights error when trying to
access it on a branch company's POS config.

**Steps to reproduce:**
- Configure a branching company on a parent company
- Create a new POS restaurant on the child company
- Create a configurable product that has no taxes associated with it
  and add it to a POS category so that it can be chosen from the
  POS screen
- On a non-admin POS user, try to click that product 🐛

**Before this commit:**
The user will get an Access Rights error.

**After this commit:**
The configurator dialog will load successfully.

opw-5145176

closes odoo#233320

X-original-commit: 689a523
Signed-off-by: David Monnom (moda) <[email protected]>
Signed-off-by: Harrison Hutton (hahu) <[email protected]>
Steps to reproduce:
1. Add a packaging to the storable product (ex. pack of 6)
2. Uncheck continue selling
3. Update qty of the product in the wh to 20
4. Add 4 units to the cart
5. Add 1 pack
6. Choose pickup in store and go to the checkout

The product is not in stock even though there is enough quantity.

closes odoo#234353

X-original-commit: 49a62b8
Signed-off-by: Valeriya Chuprina (vchu) <[email protected]>
- Share code of message deletion with `msg.showDeleteConfirm()`
- MessageConfirmDialog props are more neutral
- patch `shouldHideFromMessageListOnDelete` once per module

closes odoo#234214

Related: odoo/enterprise#98793
Signed-off-by: Alexandre Kühn (aku) <[email protected]>
Problem: When a user changes the product on a scrap order, the bom_id field
does not get updated. If they update the product from a product that has BoM
to a product that doesn’t have one, then the bom_id field is hidden and remains
set. This will cause the scrap quantity to be set to 0 when they validate the scrap.
However, the product move actually happens for the correct quantity causing an
inconsistency.

Purpose: This will either set the bom_id field to False if the new product doesn’t
have a valid BoM, or it will update it to the first available BoM.

Steps to Reproduce on Runbot:

1. Create a scrap order for a product that has a kit type BoM and set the kit field.
2. Change the product to a product without a kit type BoM.
3. Validate the scrap order.
4. Observe the quantity field is set to 0, but there are product moves for the
   correct quantity.

opw-5122880

closes odoo#234259

X-original-commit: eb4dfbf
Signed-off-by: Steve Van Essche <[email protected]>
Signed-off-by: Richard Prosser (prri) <[email protected]>
…om POS

This commit removes the partners with non-trade receivable
accounts from the POS customer's list. Additionally, 2 new
VAT accounts were added in BE COA to be added on
"Collection Center" partner.

task-5148985

X-original-commit: 63e4e07
Part-of: odoo#234216
Related: odoo/enterprise#98703
Signed-off-by: John Laterre (jol) <[email protected]>
Signed-off-by: Sherif Gabr (sgab) <[email protected]>
Previously, new reconciliation models weren't added
when they were defined in other modules. This commit
fixes when the reconciliation model data gets updated.

closes odoo#234216

Related: odoo/enterprise#98703
Signed-off-by: John Laterre (jol) <[email protected]>
Signed-off-by: Sherif Gabr (sgab) <[email protected]>
Reproduce step:
1. Go to work entries
2. Select some work entries to add using the multiselection in the gantt view.
3. Work entry types doesn't include the ones related to the country.

Reason:
The country_id is set to False, so the old domain will retrieve only the work entries which are not related to any country.

Fix:
Update work_entry_type_id domain and make it dynamic which depends on the situation, if we are going to create
work entries in the gantt views in multi company situation, we will display the
work entries types without a specific country only to avoid issues, since it is
possible to select employees from different companies at the same time. In the other
case (single company) we filter the work entry types based on the self.env.company.id

Related task: 5155691.

closes odoo#234325

X-original-commit: 598be71
Signed-off-by: Yannick Tivisse (yti) <[email protected]>
Signed-off-by: Karim Omrane (kaom) <[email protected]>
Due to an issue in the runbot, the test associated with the PR: odoo#230199 passed despite underlying conflicts and the PR was merged. This PR addresses and resolves those issues to ensure the test functions correctly.

We also align the PR with the refactoring done in odoo#212679 and replace procurement.group with stock.rule

Impacted versions:

- 19.0
- master

closes odoo#234324

X-original-commit: 5050789
Signed-off-by: William Henrotin (whe) <[email protected]>
Signed-off-by: Noura El Allam (nea) <[email protected]>
Before this commit, if you created a leave of a type that had sandwich leave
enabled on a non-working day, it would show a negative duration.

This commit fixes some issues related to sandwich leave cases

(where Saturday and Sunday are considered non-working days):
- Friday - Monday across weekend - counted (4 days).
- Hour-based leave types: weekend bridging increases hours accordingly
- Public holiday in the middle (Tue-Thu with Wed PH) - counted (3 days).
- Stop/Start exactly on a public holiday
    (Tue-Wed(Public holiday), or Wed(Public holiday)-Thu) - trimmed to 1 day.
- Public holiday only - 0 days.
- Two single-day leaves around a Public holiday
  - When the second leave is created, it bridges via a public holiday (2 days),
  - The first one remains 1 day if it stands alone
- Mixed leave types:
  - If the linked leave type doesn’t have sandwich enabled, no sandwich rules.
  - If both leave enable sandwich (with different types) - sandwich rule applies
- Refusing/canceling a linked leave must immediately adjust the other
    side’s duration (e.g., Monday refused - Friday drops from 3 - 1 day)

Task-4430044

closes odoo#234193

X-original-commit: 7f7ca3c
Signed-off-by: Yannick Tivisse (yti) <[email protected]>
Signed-off-by: Yash Vaishnav (yava) <[email protected]>
Co-authored-by: mepe-odoo <[email protected]>
There is a typo 'Beetween' in hr_attendance module.

closes odoo#234429

X-original-commit: a77314e
Signed-off-by: Xavier Bol (xbo) <[email protected]>
Signed-off-by: Amit M. Muchhala (ammu) <[email protected]>
Steps:
- create a product with attributes of create_variant=never
- set variant selection to order grid entry
- add this product as a combo choice and set extra_price>1
- In sale order form first add the new combo product with
 the previously created product
- add the new product with same selection of attribute values
 as combo

Issue:
- add the product separately should create a new line, but since
 it was added as a part of the combo, the product's price is summed
 with extra price

Cause:
- the grid field that is responsible for adding product using product
 matrix does not filter combo lines

Fix:
- added filter for combo lines when matrix opens and saves

opw-5164789

closes odoo#234441

X-original-commit: 47c8885
Signed-off-by: Louis Tinel (loti) <[email protected]>
Signed-off-by: Dev Reshamiya (dere) <[email protected]>
These accounts were changed by mistake.
Even more, they're of the wrong type.
Re-add account to be consistent with 758

opw-5180702

closes odoo#233503

X-original-commit: e4e7eff
Signed-off-by: Florian Gilbert (flg) <[email protected]>
## Versions
18.0+

## Issue
No payment is possible with PayPal for invoices expressed in Chinese currency.

## Steps to reproduce
**`account` app required**
- Enable "CNY" currency via `Invoicing / Configuration / Accounting / Currencies`;
- Install, setup and publish PayPal payment provider;
- Move to the Invoice app:
  - Create a new invoice in "CNY" currency for any customer with at least 1 product;
  - Confirm and click on the preview button:
    - Click on the "Pay now" button then "Pay" button of the wizard.

## Cause
"CNY" currency is only supported for Chinese PayPal accounts and for transactions occurring in China.
PayPal says:
> Please note that Chinese Renminbi (CNY) is supported as a payment currency (buyer currency) or settlement currency (holding currency) only for in-country PayPal accounts. If the settlement account is based outside of China, PayPal will convert the funds into the account’s primary currency using the applicable currency conversion rate, which includes a spread or fee.

opw-5071893

closes odoo#234445

X-original-commit: fb67f79
Signed-off-by: Antoine Vandevenne (anv) <[email protected]>
Signed-off-by: Pierre Lamotte (pila) <[email protected]>
When we receive a notification to handle an incoming call we need to
avoid to put then inside the job queue because we need to avoid the
waiting times due of an urge amont of devices.
@Polymorphe57 Polymorphe57 force-pushed the master-voip-incoming-call-notif-res-boi branch from 7095c49 to 3f3edae Compare November 5, 2025 09:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.