[FIX] viin_ai_base: add base.user_admin to demo company B (multi-company invariant)
The viin_ai_base DEMO creates a second res.company ('AI Ops Demo Co B') for the
cross-tenant isolation demo, but a static demo <record> does NOT add the acting
user to the new company the way a real res.company.create does - so it stranded
base.user_admin (Mitchell Admin) outside that company. On the shared Runbot
post-install DB this broke an UNRELATED Viindoo-Standard test with zero static
code coupling:
viin_helpdesk auto-creates one 'General' team per company; 'AI Ops Demo Co B'
sorts before 'YourCompany' (res.company _order='sequence,name', both seq=0) so
its team is created first and gets the lowest id; viin_helpdesk_project's
TestAccessTicket.test_user_who_following_task_or_project_read_ticket does
team.search([], limit=1) AS base.user_admin and the GLOBAL
helpdesk_team_company_rule (no groups -> applies to admin) denies read of a
team in a company admin is not a member of -> AccessError at
helpdesk_ticket.py:336 (team.stage_ids).
Fix: add base.user_admin to company_ai_ops_demo_b.company_ids, restoring the
invariant that the admin/superuser setup account is a member of every company
present in the install. The ops-manager demo user stays main-company-only, so
the cross-tenant isolation demo is unaffected.
Proven by confirm-by-toggle on a live DB (adding admin -> the helpdesk test runs
green; removing the demo company -> green) and by an A/B install (helpdesk_project
alone passes; helpdesk_project + viin_ai_base fails). Guarded by a new red-before-
green regression test TestDemoCompanyMembership (RED without the fix: '1 failed').
Verified: helpdesk test 0 failed/0 error of 1; full viin_ai_base suite 0 failed/0
error of 122 tests (166 total).
| Subbuilds | Name | State | Detail |
|---|---|---|---|
| Build 385570 | Check the quality with Pylint: from test_lint to test_pylint 14m | Succeed | Log |
| Build 385571 | At install tests: from account to website_twitter 134m | Succeed | Log |
| Build 385572 | Post install tests: step install all modules 74m | Succeed | Log |
| Build 385573 | Post install tests: from account to payment_asiapay 114m | Succeed | Log |
| Build 385574 | Post install tests: from payment_authorize to test_website_slides_full 129m | Succeed | Log |
| Build 385575 | Post install tests: from test_xlsx_export to to_website_docs_odoo_data 59m | Succeed | Log |
| Build 385576 | Post install tests: from to_website_odoo_version to viin_estimate 69m | Succeed | Log |
| Build 385577 | Post install tests: from viin_estimate_approval to viin_pricelist_validity_advance 29m | Succeed | Log |
| Build 385578 | Post install tests: from viin_product_multi_barcodes to website_twitter 49m | Succeed | Log |
| Build 385579 | Test install all modules without demo data: from account to website_twitter 54m | Succeed | Log |
| Create Date | Level | Message |
|---|---|---|
| 06/14/2026 09:15:05 | INFO |
Updated repository Viindoo-odoo
|
| 06/14/2026 09:15:05 | INFO |
Updated repository Viindoo-tvtmaaddons
|
| 06/14/2026 09:15:05 | INFO |
Updated repository Viindoo-erponline-enterprise
|
| 06/14/2026 09:15:05 | INFO |
Updated repository Viindoo-branding
|
| 06/14/2026 09:15:05 | INFO |
Cloned repository Viindoo-ai
|