コンテンツへスキップ
メニュー
この質問にフラグが付けられました
2 返信
9717 ビュー

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
38556
4
5月 24
45631
2
10月 21
8974
0
4月 16
4817
2
4月 24
4044