"""Coexistence group membership recomputation.""" from odoo import api, models class ResUsers(models.Model): _inherit = "res.users" @api.model def _fusion_recompute_coexistence_group(self): """Set group membership = all internal users iff Enterprise absent. Called from ir.module.module.button_immediate_install / uninstall overrides. Idempotent; safe to call multiple times. """ group = self.env.ref( 'fusion_accounting_core.group_fusion_show_when_enterprise_absent', raise_if_not_found=False, ) if not group: return enterprise_installed = self.env['ir.module.module']._fusion_is_enterprise_accounting_installed() if enterprise_installed: group.sudo().write({'user_ids': [(5, 0, 0)]}) else: all_internal = self.sudo().search([('share', '=', False)]) group.sudo().write({'user_ids': [(6, 0, all_internal.ids)]})