Odoo хөгжүүлэлтийн үед талбарыг хэрэглэгчийн id эсвэл бүлгээр нь хаах

Дусал нэвтэрхий толь-с
16:20, 15 Аравдугаар сар 2015-ий байдлаарх Almas (Яриа | оруулсан хувь нэмэр) хэрэглэгчийн хийсэн залруулга

Жишээ нь доорх байдлаар хийж өгнө.

__init__.py</b></p>
import product_template 

__openerp__.py

{

"name": "Hide Cost Price from Some Groups", "version": "1.0.0", "depends": ["product"], "category": "", "description": """ Hide Cost Price from Some Groups. """, "data": [ "product_view.xml",

   ],

"installable": True, "active": False, }

product_template.py

from openerp.osv import fields, osv

from openerp.tools.translate import _ class product_template(osv.osv):

_inherit = "product.template"

product_view.xml

<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
  <record id="product_template_form_view_restricted" model="ir.ui.view">
    <field name="name">product.template.common.form</field>
    <field name="model">product.template</field>
    <field name="inherit_id" ref="product.product_template_form_view"/>
    <field name="arch" type="xml">
      <field name="standard_price" position="replace">          
        <field name="standard_price" groups="base.group_erp_manager,purchase.group_purchase_manager"/>
      </field>
    </field>
  </record>
</data>
</openerp>

Гэхдээ энэ тохиолдолд ажиллахгүй. Учир нь яг энэ сольж байгаа талбарыг нь өөр нэг модуль дараа нь дахин replace хийж өөрчилснөөс ажиллахгүй байгаа. Ийм тохиолдолд тухайн талбарыг биш гадна талын агуулж буй хэсэг дээр зааж өгнө. Жишээ нь:


<xpath expr="//group[@name='procurement']/group[@name='general']" position="replace">
	<group name="general" groups="base.group_sale_manager_dusal">
		 <field name="standard_price"/>
	</group>
</xpath>

Харин хэрэглэгчийн id-аар ялгаж харуулахгүй нуухын тулд доорх байдлаар нууж болно:

<field name="boyfriend_name" attrs="{'invisible':[('married', '!=', False)]}" />