[FIX] sale_timesheet: review views inherited from project.task model
Before this commit, when the user with no access right to Timesheet App wants to see the tasks in a project and sale_timesheet module is installed, the user has a traceback saying remaining_hours field is not find in the parent view of `sale_timesheet.view_task_form2_inherit_sale_timesheet`. This traceback is raised because the `hr_timesheet.view_task_form2_inherited` is not used if the user has no access right to Timesheet App and then remaining_hours field is not defined for this user because this field is appeared in the view in hr_timesheet module. This commit revises the views inherited from the project.task model to give the user without access rights in Timesheet the possibility to see the tasks in any project he can see. opw-2429662 closes odoo/odoo#65000 X-original-commit: d63614035c84d0c0ab564102c65541d1b2b08277 Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
This commit is contained in:
@@ -130,7 +130,8 @@
|
||||
<record id="project_task_view_form_inherit_sale_timesheet" model="ir.ui.view">
|
||||
<field name="name">project.task.form.inherit.timesheet</field>
|
||||
<field name="model">project.task</field>
|
||||
<field name="inherit_id" ref="hr_timesheet.view_task_form2_inherited"/>
|
||||
<field name="inherit_id" ref="project.view_task_form2"/>
|
||||
<field name="groups_id" eval="[(6,0, (ref('hr_timesheet.group_hr_timesheet_user'),))]"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='timesheet_ids']/tree" position="attributes">
|
||||
<attribute name="decoration-muted">timesheet_invoice_id != False</attribute>
|
||||
@@ -156,6 +157,20 @@
|
||||
domain="[('is_service', '=', True), ('order_partner_id', 'child_of', parent.commercial_partner_id), ('is_expense', '=', False), ('state', 'in', ['sale', 'done']), ('order_id', '=?', parent.project_sale_order_id)]"
|
||||
optional="hide"/>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='remaining_hours']" position="after">
|
||||
<field name="remaining_hours_available" invisible="1"/>
|
||||
<span id="remaining_hours_so_label" attrs="{'invisible': ['|', '|', '|', '|', ('allow_billable', '=', False), ('sale_order_id', '=', False), ('partner_id', '=', False), ('sale_line_id', '=', False), ('remaining_hours_available', '=', False)]}">
|
||||
<label class="font-weight-bold" for="remaining_hours_so" string="Remaining Hours on SO"
|
||||
attrs="{'invisible': ['|', ('encode_uom_in_days', '=', True), ('remaining_hours_so', '<', 0)]}"/>
|
||||
<label class="font-weight-bold" for="remaining_hours_so" string="Remaining Days on SO"
|
||||
attrs="{'invisible': ['|', ('encode_uom_in_days', '=', False), ('remaining_hours_so', '<', 0)]}"/>
|
||||
<label class="font-weight-bold text-danger" for="remaining_hours_so" string="Remaining Hours on SO"
|
||||
attrs="{'invisible': ['|', ('encode_uom_in_days', '=', True), ('remaining_hours_so', '>=', 0)]}"/>
|
||||
<label class="font-weight-bold text-danger" for="remaining_hours_so" string="Remaining Days on SO"
|
||||
attrs="{'invisible': ['|', ('encode_uom_in_days', '=', False), ('remaining_hours_so', '>=', 0)]}"/>
|
||||
</span>
|
||||
<field name="remaining_hours_so" nolabel="1" widget="timesheet_uom" attrs="{'invisible': ['|', '|', '|', '|', ('allow_billable', '=', False), ('sale_order_id', '=', False), ('partner_id', '=', False), ('sale_line_id', '=', False), ('remaining_hours_available', '=', False)]}"></field>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -182,20 +197,6 @@
|
||||
{'invisible': ['|', ('allow_billable', '=', False), ('partner_id', '=', False)]}
|
||||
</attribute>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='remaining_hours']" position="after">
|
||||
<field name="remaining_hours_available" invisible="1"/>
|
||||
<span id="remaining_hours_so_label" attrs="{'invisible': ['|', '|', '|', '|', ('allow_billable', '=', False), ('sale_order_id', '=', False), ('partner_id', '=', False), ('sale_line_id', '=', False), ('remaining_hours_available', '=', False)]}">
|
||||
<label class="font-weight-bold" for="remaining_hours_so" string="Remaining Hours on SO"
|
||||
attrs="{'invisible': ['|', ('encode_uom_in_days', '=', True), ('remaining_hours_so', '<', 0)]}"/>
|
||||
<label class="font-weight-bold" for="remaining_hours_so" string="Remaining Days on SO"
|
||||
attrs="{'invisible': ['|', ('encode_uom_in_days', '=', False), ('remaining_hours_so', '<', 0)]}"/>
|
||||
<label class="font-weight-bold text-danger" for="remaining_hours_so" string="Remaining Hours on SO"
|
||||
attrs="{'invisible': ['|', ('encode_uom_in_days', '=', True), ('remaining_hours_so', '>=', 0)]}"/>
|
||||
<label class="font-weight-bold text-danger" for="remaining_hours_so" string="Remaining Days on SO"
|
||||
attrs="{'invisible': ['|', ('encode_uom_in_days', '=', False), ('remaining_hours_so', '>=', 0)]}"/>
|
||||
</span>
|
||||
<field name="remaining_hours_so" nolabel="1" widget="timesheet_uom" attrs="{'invisible': ['|', '|', '|', '|', ('allow_billable', '=', False), ('sale_order_id', '=', False), ('partner_id', '=', False), ('sale_line_id', '=', False), ('remaining_hours_available', '=', False)]}"></field>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='sale_order_id']" position="attributes">
|
||||
<attribute name="invisible">1</attribute>
|
||||
</xpath>
|
||||
|
||||
Reference in New Issue
Block a user