Skip to content

[19.0][MIG] base_multi_company#973

Draft
astirpe wants to merge 107 commits intoOCA:19.0from
astirpe:19.0-MIG-base_multi_company
Draft

[19.0][MIG] base_multi_company#973
astirpe wants to merge 107 commits intoOCA:19.0from
astirpe:19.0-MIG-base_multi_company

Conversation

@astirpe
Copy link
Member

@astirpe astirpe commented Mar 14, 2026

Continuation from #889
It includes changes for fixing the test failure https://github.com/OCA/multi-company/actions/runs/23090908849/job/67075236222?pr=972

lasley and others added 30 commits October 14, 2025 12:38
* Create new module to provide base multi company logic and mixin
* Add deactivation by company mixin
* Add company_id/ids handling
* Add break after company is found
Squashed commits:
[854cc36] Increase test coverage
[770bd71] Revert hook view create back to model init
[40e803e] Fix apples and oranges
[7a4dfb4] Use registry correctly
[6e9f170] Switch company_id to computed & move company aliased view creation to post init hook
[faa4fc9] Remove active functionality
[fecfb59] Add explicit tests for active and inactive searches
* Revert "Revert hook view create back to model init"

This reverts commit 770bd71.

* [FIX] base_multi_company: Always create the view into a pre_init_hook to avoid error in log
Squashed commits:
[4c17d04] auto_join company_ids
…ch domain on company_id/company_ids (+1 squashed commit)

Squashed commits:
[fe161fe] [ADD] setup.py
- Test if a company is set in inverse method (+1 squashed commit)
Squashed commits:
[d670f30] [FIX] fix init hooks as company_id is not stored anymore
* Add implementation instructions to ReadMe
[FIX] Fix issue based on the computation of company_id for multi_company_abstract models

[FIX] Fix issue based on the computation of company_id for multi_company_abstract models

[FIX] Fix issue based on the computation of company_id for multi_company_abstract models

[FIX] Bad branch version pushed before

[FIX] Bad branch version pushed before

[FIX] manifest

Fix flake

Flake8 on OCA tests
Currently translated at 88.9% (8 of 9 strings)

Translation: multi-company-10.0/multi-company-10.0-base_multi_company
Translate-URL: https://translation.odoo-community.org/projects/multi-company-10-0/multi-company-10-0-base_multi_company/pt/
Odoo now checks if the user who creates the transient model is the same that is accessing
its data, so we need to create it with the same user.
Updated by Update PO files to match POT (msgmerge) hook in Weblate.
* Abstract model shouldn't have default for `company_ids`. It will be got by
  default `company_id` value.
* Record rule based on `company_id` makes the evaluation slower. Switch to `company_ids` field.
* Add `@api.depends` to `company_id` computation for proper refresh.
* Fix tests that were not correct but luckily previously suceeded. Now that other code has
  been removed, they have been uncovered.
Updated by Update PO files to match POT (msgmerge) hook in Weblate.
Updated by Update PO files to match POT (msgmerge) hook in Weblate.
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: multi-company-12.0/multi-company-12.0-base_multi_company
Translate-URL: https://translation.odoo-community.org/projects/multi-company-12-0/multi-company-12-0-base_multi_company/
Currently translated at 70.0% (7 of 10 strings)

Translation: multi-company-12.0/multi-company-12.0-base_multi_company
Translate-URL: https://translation.odoo-community.org/projects/multi-company-12-0/multi-company-12-0-base_multi_company/zh_CN/
weblate and others added 28 commits October 14, 2025 12:38
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: multi-company-16.0/multi-company-16.0-base_multi_company
Translate-URL: https://translation.odoo-community.org/projects/multi-company-16-0/multi-company-16-0-base_multi_company/
Currently translated at 100.0% (4 of 4 strings)

Translation: multi-company-16.0/multi-company-16.0-base_multi_company
Translate-URL: https://translation.odoo-community.org/projects/multi-company-16-0/multi-company-16-0-base_multi_company/es/
Currently translated at 100.0% (4 of 4 strings)

Translation: multi-company-16.0/multi-company-16.0-base_multi_company
Translate-URL: https://translation.odoo-community.org/projects/multi-company-16-0/multi-company-16-0-base_multi_company/es_AR/
Currently translated at 100.0% (4 of 4 strings)

Translation: multi-company-16.0/multi-company-16.0-base_multi_company
Translate-URL: https://translation.odoo-community.org/projects/multi-company-16-0/multi-company-16-0-base_multi_company/it/
Currently translated at 100.0% (4 of 4 strings)

Translation: multi-company-16.0/multi-company-16.0-base_multi_company
Translate-URL: https://translation.odoo-community.org/projects/multi-company-16-0/multi-company-16-0-base_multi_company/pt_BR/
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: multi-company-17.0/multi-company-17.0-base_multi_company
Translate-URL: https://translation.odoo-community.org/projects/multi-company-17-0/multi-company-17-0-base_multi_company/
When searching the company with a domain like [("company_id", "in", [1,
False]) to include records which are shared between companies we won't
get those with no companies at all. That will lead to logical errors in
several workflows.

TT51779

[FIX] base_multi_company: Applying the correct parameters in the search_read() method
Before this commit, when doing a read with a domain such as [the one used by upstream `base.res_partner_rule`][1], the read failed to find records without company.

This is now fixed in the base module, adding tested support for such operators. The only relevant part of the hooks that were provided to workaround the issue is extracted to a new `post_init_hook`. All other hooks are marked as deprecated.

[1]: https://github.com/odoo/odoo/blob/db072461cddced2a8f65a64fb6d2ddf0dd79b38e/odoo/addons/base/security/base_security.xml#L23

@moduon MT-8863 MT-8873
Currently translated at 100.0% (4 of 4 strings)

Translation: multi-company-18.0/multi-company-18.0-base_multi_company
Translate-URL: https://translation.odoo-community.org/projects/multi-company-18-0/multi-company-18-0-base_multi_company/tr/
@astirpe astirpe changed the title 19.0 mig base multi company [19.0][MIG] base_multi_company Mar 14, 2026
@astirpe astirpe mentioned this pull request Mar 14, 2026
3 tasks
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.