Ir al contenido
Menú
Se marcó esta pregunta
2 Respuestas
9619 Vistas

Hello,

I have a security file (./security/crm_request_security.xml) with the next code:

<record id="crm_rule_all_lead_crm_ticket_platforms" model="ir.rule">
            <field name="name">All Leads On CRM Ticket Platforms</field>
            <field ref="crm.model_crm_lead" name="model_id"/>
            <field name="domain_force">[(1,'=',1)]</field>
            <field name="groups" eval="[(4, ref('group_crm_ticket_platforms_coordinator'))]"/>
</record>

I wish to change the domain_force field through a function from Python, it is posible?

Thanks!

 

Avatar
Descartar
Autor Mejor respuesta

Finally we could solve this issue.

We use ir.actions.server in the specific view changing the domain through the code attribute:

<record id="crm_act_server_opportunities" model="ir.actions.server">
    <field name="name">Opportunities</field>
    <field name="model_id" ref="crm.model_crm_lead"/>
    <field name="condition">True</field>
    <field name="code">
        action = {
            "type": "ir.actions.act_window",
            "view_mode": "kanban,tree,graph,form,calendar",
            "res_model": "crm.lead",
            "domain": unicode(self._set_domain(cr, uid, context)),
        }
    </field>
</record>

Avatar
Descartar

is it possible to change domain w.r.t to a context value passed?

also, why do we need to typecast it to unicode format?

Mejor respuesta

Hi,

It is some how possible but it is not good. You can make one python function into __init__.py file which will change the content of your crm_request_security.xml file. You can manage changes using xml file handling.

I think are you looking for this kind of solution.

Avatar
Descartar
Publicaciones relacionadas Respuestas Vistas Actividad
3
abr 15
38435
4
may 24
45427
2
oct 21
8895
0
abr 16
4720
2
abr 24
3946