Skip to Content
Meniu
Trebuie să fiți înregistrat pentru a interacționa cu comunitatea.
Această întrebare a fost marcată
1 Răspunde
887 Vizualizări

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

Imagine profil
Abandonează
Cel mai bun răspuns

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.

Imagine profil
Abandonează
Related Posts Răspunsuri Vizualizări Activitate
0
mar. 15
3460
0
iul. 23
1678
0
feb. 23
1464
1
apr. 25
2069
3
feb. 25
1720