Skip to content
Extraits de code Groupes Projets
Valider f897a62b rédigé par Julien - Le Filament's avatar Julien - Le Filament
Parcourir les fichiers

[UPD] views all sale ligne in overview

parent 7dbfabc6
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -6,9 +6,10 @@ ...@@ -6,9 +6,10 @@
'version': '14.0.1.0.1', 'version': '14.0.1.0.1',
'license': "AGPL-3", 'license': "AGPL-3",
'category': 'Sale Management', 'category': 'Sale Management',
'depends': ['sale_timesheet', 'project'], 'depends': ['sale_timesheet', 'project', 'hr_timesheet'],
'data': [ 'data': [
'views/res_config_settings_view.xml', 'views/res_config_settings_view.xml',
'views/sale_view.xml', 'views/sale_view.xml',
'views/hr_timesheet_templates.xml',
], ],
} }
...@@ -96,7 +96,7 @@ class Project(models.Model): ...@@ -96,7 +96,7 @@ class Project(models.Model):
} }
] + default_row_vals[:] ] + default_row_vals[:]
# ***** Modif Filament ***** # ***** Modif Filament *****
rows_sale_line[sale_line_row_key][-2] = ( rows_sale_line[sale_line_row_key][-2] = rows_sale_line[sale_line_row_key][-1] =(
sale_line.product_uom_qty sale_line.product_uom_qty
* sale_line.price_unit * sale_line.price_unit
/ sale_line.taux_horaire / sale_line.taux_horaire
......
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="timesheet_plan_ecozimut" model="ir.ui.view">
<field name="name">Timesheet Plan ecozimut</field>
<field name="type">qweb</field>
<field name="model">project.project</field>
<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">
<div class="o_project_plan_project_timesheet_forecast">
<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>
</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>
</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-if="row_type == 'sale_order_line'">
<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 t-if="row_type == 'sale_order_line'">
<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-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 ''">
<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')"/>
</a>
</t>
<t t-else="">
<t t-esc="row_value.get('label')"/>
</t>
<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 t-if="row_is_milestone">
<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 &lt; 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>
<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>
</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'}"/>
</span>
</t>
</t>
</t>
</td>
</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 t-if="row_type == 'sale_order'">
<t t-set="current_order" t-value="row[0].get('res_id')"/>
</t>
</t>
</tbody>
</table>
</div>
</t>
</div>
</xpath>
</field>
</record>
</odoo>
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter