[FIX] sale_timesheet: SO line editable only for salesman

This commit makes the sale line field on task editable and clickable
only for salesperson. As task can be read by any employee (depending on
project visibility), a non salesman user can see the 'name_get' of the
sale line, but get an access error when clicking on it.

This fix duplicate the field and only display the correct version
(editable or readonly) according to current user access rights.

Task-1999673

closes odoo/odoo#33320

Signed-off-by: Jérome Maes (jem) <jem@openerp.com>
This commit is contained in:
jem-odoo
2019-06-06 09:28:22 +00:00
parent 20f3290eab
commit 8a1037df67
@@ -62,12 +62,25 @@
<field name="inherit_id" ref="project.view_task_form2"/>
<field name="arch" type="xml">
<field name="user_id" position="after">
<field name="sale_line_id" string="Sales Order Item" attrs="{'invisible': ['|', ('partner_id', '=', False)]}" options='{"no_create": True}' context="{'create': False, 'edit': False, 'delete': False}"/>
<field name="sale_line_id" string="Sales Order Item" attrs="{'invisible': ['|', ('partner_id', '=', False)]}" options='{"no_open": True}' readonly="1" context="{'create': False, 'edit': False, 'delete': False}"/>
<field name="billable_type" invisible="1"/>
</field>
</field>
</record>
<record id="project_task_view_form_inherit_sale_line_editable" model="ir.ui.view">
<field name="name">project.task.form.inherit.sale.line.editable.salesman</field>
<field name="model">project.task</field>
<field name="inherit_id" ref="view_sale_service_inherit_form2"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='sale_line_id']" position="attributes">
<attribute name="options">{"no_create": True}</attribute>
<attribute name="readonly">0</attribute>
</xpath>
</field>
<field name="groups_id" eval="[(4, ref('sales_team.group_sale_salesman'))]"/>
</record>
<record id="project_task_view_form_sale_order" model="ir.ui.view">
<field name="name">project.task.form.inherit.sale.order</field>
<field name="model">project.task</field>