2016-08-17 9 views
-1

次のレコードのルールは、私はあなたが使用することができますOdooでは、ベースモジュールで定義されているレコードルールの上書きを強制する方法はnoupdate = '1'に設定されていますか?</p> <pre><code><function name="fix_er_role" model="ir.rule"/> </code></pre> <p>後:

<record id="product.product_comp_rule" model="ir.rule"> 
    <field name="name" >All Products (Parent Company)</field> 
    <field name="model_id" ref="product.model_product_template"/> 
    <field name="global" eval="True"/> 
    <field name="domain_force">['|','|',('company_id','=',user.company_id.id),('company_id','=','False'),('company_id','child_of',[user.company_id.id])] </field> 
</record> 

答えて

1

をする私のカスタムモジュールでそれを編集したい製品モジュール

<data noupdate="1"> 
    <record id="product_comp_rule" model="ir.rule"> 
     <field name="name" >Product multi-company</field> 
     <field name="model_id" ref="model_product_template"/> 
     <field name="global" eval="True"/> 
     <field name="domain_force"> ['|',('company_id','=',user.company_id.id),('company_id','=',False)]</field> 
    </record> 
</data> 

で定義されていますir.ruleにメソッドを追加してデータを修正する

あなたのモジュールをアップグレードするか、それはあなたがPythonコードであなたのデータを修正することができ、ここで、このメソッドを呼び出すと ますインストール
class IRRule(models.Model): 
    _inherit = 'ir.rule' 

    def fix_er_role(self): 
     rol_id = self.env.ref('product.product_comp_rule') 
     rol_id = self.env['ir.rule'].search([('id','=',rol_id)]) 
     rol_id.write({'domain_force':['|','|',('company_id','=',user.company_id.id),('company_id','=','False'),('company_id','child_of',[user.company_id.id])]}) 

。私はこのアプローチを使用して 私のために働いたこれはあなたにも役立つことを願っています。私は構文をチェックしなかった、私は ちょうどそれを行う方法のアイデアを与える。

0

我々はNOUPDATE = "0"

<data noupdate="0"> 
    <record id="product.product_comp_rule" model="ir.rule"> 
     <field name="name" >All Products (Parent Company)</field> 
     <field name="model_id" ref="product.model_product_template"/> 
     <field name="global" eval="True"/> 
     <field name="domain_force">['|','|',('company_id','=',user.company_id.id),('company_id','=','False'),('company_id','child_of',[user.company_id.id])] </field> 
    </record> 
</data> 
を使用して別のサンプル方法でそれを行うことができます
関連する問題