تخطي للذهاب إلى المحتوى
القائمة
لقد تم الإبلاغ عن هذا السؤال
2 الردود
9789 أدوات العرض

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
أبريل 15
38652
4
مايو 24
45801
2
أكتوبر 21
9033
0
أبريل 16
4893
2
أبريل 24
4106