Skip to Content
Menu
This question has been flagged
1 Odpoveď
866 Zobrazenia

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

Avatar
Zrušiť
Best Answer

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.

Avatar
Zrušiť
Related Posts Replies Zobrazenia Aktivita
0
mar 15
3437
0
júl 23
1674
0
feb 23
1439
1
apr 25
2048
3
feb 25
1698