Odoo Mindscape. Understand Odoo faster. Explore modules, fields, dependencies and version differences in one place instead of digging through the source code.

Module: Base

Entity: ir.embedded.actions

Compute Method: _compute_is_visible

Inputs Method Outputs
active_id = self.env.context.get("active_id", False)
if not active_id:
            self.is_visible = False
            return
domain_id = [("id", "=", active_id)]
for parent_res_model, records in self.grouped('parent_res_model').items():
            active_model_record = self.env[parent_res_model].search(domain_id, order='id')
            for record in records:
                action_groups = record.groups_ids
                if not action_groups or (action_groups & self.env.user.groups_id):
                    domain_model = literal_eval(record.domain or '[]')
                    record.is_visible = (
                        record.parent_res_id in (False, self.env.context.get('active_id', False))
                        and record.user_id.id in (False, self.env.uid)
                        and active_model_record.filtered_domain(domain_model)
                    )
                else:
                    record.is_visible = False

Back to entity