跳至内容
菜单
此问题已终结
2 回复
9783 查看

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!

 

形象
丢弃
编写者 最佳答案

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>

形象
丢弃

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?

最佳答案

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.

形象
丢弃
相关帖文 回复 查看 活动
3
4月 15
38650
4
5月 24
45793
2
10月 21
9033
0
4月 16
4888
2
4月 24
4106