diff --git a/views/hr_timesheet_templates.xml b/views/hr_timesheet_templates.xml index 7b8df4da14921432831df1793a27b2ba628ecb61..50cf3c4d0be2e8c57883f5dd4308430417744a11 100644 --- a/views/hr_timesheet_templates.xml +++ b/views/hr_timesheet_templates.xml @@ -1,97 +1,202 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8" ?> <odoo> - <record id="timesheet_plan_ecozimut" model="ir.ui.view"> - <field name="name">Timesheet Plan ecozimut</field> + <record id="timesheet_plan_delivered_manual" model="ir.ui.view"> + <field + name="name" + >Timesheet Plan with products service_policy=delivered_manual</field> <field name="type">qweb</field> <field name="model">project.project</field> - <field name="inherit_id" ref="sale_timesheet.timesheet_plan"/> + <field name="inherit_id" ref="sale_timesheet.timesheet_plan" /> <field name="arch" type="xml"> - <xpath expr="//div[@class='o_project_plan_project_timesheet_forecast']" position="replace"> + <xpath + expr="div[hasclass('o_project_plan_project_timesheet_forecast')" + position="replace" + > <div class="o_project_plan_project_timesheet_forecast"> - <t t-if="timesheet_forecast_table and timesheet_forecast_table['rows']"> + <t + t-if="timesheet_forecast_table and timesheet_forecast_table['rows']" + > <div class="table-responsive"> <table class="table"> <thead> <tr> - <th></th> - <th colspan="5" id="table_plan_title" class="o_right_bordered"><h3>Timesheets</h3></th> - <th colspan="2" id="table_plan_total"></th> + <th /> + <th + colspan="5" + id="table_plan_title" + class="o_right_bordered" + ><h3>Timesheets</h3></th> + <th colspan="2" id="table_plan_total" /> </tr> <tr> - <t t-foreach="timesheet_forecast_table['header']" t-as="header_val"> - <th t-att-class="'o_right_bordered' if header_val_index in [5,10] else ''"> - <span t-att-title="header_val['tooltip']"><t t-esc="header_val['label']"/></span> + <t + t-foreach="timesheet_forecast_table['header']" + t-as="header_val" + > + <th + t-att-class="'o_right_bordered' if header_val_index in [5,10] else ''" + > + <span + t-att-title="header_val['tooltip']" + ><t + t-esc="header_val['label']" + /></span> </th> </t> </tr> </thead> <tbody> - <t t-set="row_is_milestone" t-value="False"/> - <t t-set="current_order" t-value="False"/> - <t t-set="current_order_line" t-value="False"/> - <t t-foreach="timesheet_forecast_table['rows']" t-as="row"> - <t t-set="row_type" t-value="row[0].get('type')"/> + <t t-set="row_is_milestone" t-value="False" /> + <t t-set="current_order" t-value="False" /> + <t t-set="current_order_line" t-value="False" /> + <t + t-foreach="timesheet_forecast_table['rows']" + t-as="row" + > + <t + t-set="row_type" + t-value="row[0].get('type')" + /> <t t-if="row_type == 'sale_order_line'"> - <t t-set="row_is_milestone" t-value="row[0].get('is_milestone')"/> + <t + t-set="row_is_milestone" + t-value="row[0].get('is_milestone')" + /> </t> <t t-if="row_type == 'sale_order'"> - <t t-set="current_order" t-value="False"/> - <t t-set="current_order_line" t-value="False"/> + <t t-set="current_order" t-value="False" /> + <t + t-set="current_order_line" + t-value="False" + /> </t> <t t-if="row_type == 'sale_order_line'"> - <t t-set="current_order_line" t-value="False"/> + <t + t-set="current_order_line" + t-value="False" + /> </t> - <t t-set="foldable" t-value="row[0].get('has_children')"/> - <tr t-att-class="'o_timesheet_forecast_' + row_type + ' sale_order_' + str(current_order) + ' sale_order_line_' + str(current_order_line)" - t-att-style="'display: none;' if row_type not in ('sale_order', 'sale_order_line') else ''"> + <t + t-set="foldable" + t-value="row[0].get('has_children')" + /> + <tr + t-att-class="'o_timesheet_forecast_' + row_type + ' sale_order_' + str(current_order) + ' sale_order_line_' + str(current_order_line)" + t-att-style="'display: none;' if row_type not in ('sale_order', 'sale_order_line') else ''" + > <t t-foreach="row" t-as="row_value"> - <td t-att-class="'o_right_bordered' if row_value_index in [5,10] else '' + ' text-center' if row_value_index != 0 else ''"> + <td + t-att-class="'o_right_bordered' if row_value_index in [5,10] else '' + ' text-center' if row_value_index != 0 else ''" + > <t t-if="row_value_index == 0"> - <span t-if="foldable" t-att-class="('fa fa-caret-down' if row_type == 'sale_order' else 'fa fa-caret-right') + (' project_overview_foldable' if foldable else '')" - style="cursor: pointer;" t-att-data-model="row[0].get('res_model')" t-att-data-res-id="row[0].get('res_id')"/> - <t t-if="row_type == 'sale_order'"> - <t t-if="env.user.has_group('sales_team.group_sale_salesman')"> - <a type="action" t-att-data-model="row_value['res_model']" t-att-data-res-id="row_value['res_id']" t-att-class="'o_timesheet_plan_redirect' if row_value['res_id'] else ''"> - <t t-esc="row_value.get('label')"/> + <span + t-if="foldable" + t-att-class="('fa fa-caret-down' if row_type == 'sale_order' else 'fa fa-caret-right') + (' project_overview_foldable' if foldable else '')" + style="cursor: pointer;" + t-att-data-model="row[0].get('res_model')" + t-att-data-res-id="row[0].get('res_id')" + /> + <t + t-if="row_type == 'sale_order'" + > + <t + t-if="env.user.has_group('sales_team.group_sale_salesman')" + > + <a + type="action" + t-att-data-model="row_value['res_model']" + t-att-data-res-id="row_value['res_id']" + t-att-class="'o_timesheet_plan_redirect' if row_value['res_id'] else ''" + > + <t + t-esc="row_value.get('label')" + /> </a> </t> <t t-else=""> - <t t-esc="row_value.get('label')"/> + <t + t-esc="row_value.get('label')" + /> </t> - <span t-if="row_value.get('canceled')" class="badge badge-pill o_canceled_tag"> + <span + t-if="row_value.get('canceled')" + class="badge badge-pill o_canceled_tag" + > Cancelled </span> </t> - <t t-if="row_type != 'sale_order'"> - <t t-if="not row_is_milestone"> - <span><t t-esc="row_value.get('label')"/></span> + <t + t-if="row_type != 'sale_order'" + > + <t + t-if="not row_is_milestone" + > + <span><t + t-esc="row_value.get('label')" + /></span> </t> <t t-if="row_is_milestone"> - <span><i><t t-esc="row_value.get('label')"/></i></span> + <span><i><t + t-esc="row_value.get('label')" + /></i></span> </t> </t> </t> <t t-if="row_value_index != 0"> - <t t-if="row_value_index < len(row)-2"> + <t + t-if="row_value_index < len(row)-2" + > <t t-if="row_is_milestone"> - <i t-att-class="'text-muted' if not row_value else ''"> - <t t-if="is_uom_day" t-esc="row_value" t-options="{'widget': 'timesheet_uom'}"/> - <t t-else="" t-esc="row_value" t-options="{'widget': 'float_time'}"/> + <i + t-att-class="'text-muted' if not row_value else ''" + > + <t + t-if="is_uom_day" + t-esc="row_value" + t-options="{'widget': 'timesheet_uom'}" + /> + <t + t-else="" + t-esc="row_value" + t-options="{'widget': 'float_time'}" + /> </i> </t> <t t-else=""> - <span t-att-class="'text-muted' if not row_value else ''"> - <t t-if="is_uom_day" t-esc="row_value" t-options="{'widget': 'timesheet_uom'}"/> - <t t-else="" t-esc="row_value" t-options="{'widget': 'float_time'}"/> + <span + t-att-class="'text-muted' if not row_value else ''" + > + <t + t-if="is_uom_day" + t-esc="row_value" + t-options="{'widget': 'timesheet_uom'}" + /> + <t + t-else="" + t-esc="row_value" + t-options="{'widget': 'float_time'}" + /> </span> </t> </t> <t t-else=""> <!-- Modif ici pour afficher toute les lignes--> - <t t-if="not row[0].get('type') == 'hr_employee'"> - <span t-att-class="'text-muted' if not row_value else ''"> - <t t-if="is_uom_day" t-esc="row_value" t-options="{'widget': 'timesheet_uom'}"/> - <t t-else="" t-esc="row_value" t-options="{'widget': 'float_time'}"/> + <t + t-if="not row[0].get('type') == 'hr_employee'" + > + <span + t-att-class="'text-muted' if not row_value else ''" + > + <t + t-if="is_uom_day" + t-esc="row_value" + t-options="{'widget': 'timesheet_uom'}" + /> + <t + t-else="" + t-esc="row_value" + t-options="{'widget': 'float_time'}" + /> </span> </t> </t> @@ -100,10 +205,16 @@ </t> </tr> <t t-if="row_type == 'sale_order_line'"> - <t t-set="current_order_line" t-value="row[0].get('res_id')"/> + <t + t-set="current_order_line" + t-value="row[0].get('res_id')" + /> </t> <t t-if="row_type == 'sale_order'"> - <t t-set="current_order" t-value="row[0].get('res_id')"/> + <t + t-set="current_order" + t-value="row[0].get('res_id')" + /> </t> </t> </tbody>