Skip to Content
เมนู
คุณต้องลงทะเบียนเพื่อโต้ตอบกับคอมมูนิตี้
คำถามนี้ถูกตั้งค่าสถานะ
1 ตอบกลับ
875 มุมมอง

I would like the admin to be the only one able to change product price

อวตาร
ละทิ้ง
คำตอบที่ดีที่สุด

Hi Paceli,

You can follow these steps to achieve the desired functionality:

  • Create a new compute field to check if the user has Sales Manager rights:

​user_has_group_sale_manager = fields.Boolean(compute='_compute_user_has_group_sale_manager')

​@api.depends_context('uid')
​def _compute_user_has_group_sale_manager(self):
​user_has_group_sale_manager = self.env.user.has_group('sales_team.group_sale_manager')
​for sales in self:
​sales.user_has_group_sale_manager = user_has_group_sale_manager

  • Inherit the sale order form view:
    <record id="view_order_form" model="ir.ui.view">
    <field name="name">sale.order.form.view.for.unit.price</field>

​<field name="model">sale.order</field>

​<field name="inherit_id" ref="sale.view_order_form"/>

​<field name="arch" type="xml">

​<xpath expr="//field[@name='price_unit']" position="before">

​<field name="user_has_group_sale_manager" invisible="1"/>

​</xpath>

​<xpath expr="//page[@name='order_lines']//field[@name='order_line']//tree//field[@name='price_unit']" position="attributes">

​<attribute name="readonly">not user_has_group_sale_manager</attribute>

​</xpath>

​</field>

​</record>

  • Upgrade or install the custom module and check if this achieves the required functionality.

อวตาร
ละทิ้ง
Related Posts ตอบกลับ มุมมอง กิจกรรม
0
มี.ค. 15
3439
0
ก.ค. 23
1674
0
ก.พ. 23
1440
1
เม.ย. 25
2055
3
ก.พ. 25
1707