<?xml version="1.0" encoding="utf-8" ?> <odoo> <record id="hall_contract_overview_form" model="ir.ui.view"> <field name="name">hall.contract.overview</field> <field name="type">qweb</field> <field name="model">hall.contract</field> <field name="arch" type="xml"> <qweb js_class="contract_overview"> <div class="o_form_view o_form_readonly o_project_plan"> <div class="o_form_sheet_bg"> <div class="o_form_sheet position-relative"> <t t-set="values" t-value="records.get_overview()" /> <div class="row"> <!-- Global Values --> <div class="col-12"> <div class="row"> <div class="col-12"> <h3 class="text-uppercase fw-bolder o_horizontal_separator mb-4" > Chiffre d'affaire <t t-if="len(values['contract_ids']) == 1" > - <t t-out="values['contract_ids'].display_name" /> </t> </h3> <div class="row"> <!-- Yesterday --> <t t-call="festa_dashboard.hall_contract_overview_kpi" > <t t-set="title" t-value="'Hier'" /> <t t-set="date_text" t-value="'le '" /> <t t-set="date" t-value="values['sales']['day']" /> <t t-set="amount" t-value="values['sales']['yesterday']['total_sales']" /> <t t-set="target" t-value="values['sales']['last_year']['total_sales']" /> <t t-set="arrow" t-value="True" /> <t t-set="bottom_text" t-value="'''l'année dernière '''" /> <t t-set="average_sales" t-value="values['sales']['yesterday']['average_sales']" /> <t t-set="currency_id" t-value="values['company_id'].currency_id" /> </t> <!-- Last month --> <t t-call="festa_dashboard.hall_contract_overview_kpi" > <t t-set="title" t-value="'Ce mois-ci'" /> <t t-set="date_text" t-value="'depuis le '" /> <t t-set="date" t-value="values['sales']['month']" /> <t t-set="amount" t-value="values['sales']['this_month']['total_sales']" /> <t t-set="target" t-value="values['sales']['target_month']" /> <t t-set="bottom_text" t-value="'objectif du mois '" /> <t t-set="average_sales" t-value="values['sales']['yesterday']['average_sales']" /> <t t-set="currency_id" t-value="values['company_id'].currency_id" /> </t> <!-- Last Year --> <t t-call="festa_dashboard.hall_contract_overview_kpi" > <t t-set="title" t-value="'Cette année'" /> <t t-set="date_text" t-value="'depuis le '" /> <t t-set="date" t-value="values['sales']['year']" /> <t t-set="amount" t-value="values['sales']['this_year']['total_sales']" /> <t t-set="target" t-value="values['sales']['target_year']" /> <t t-set="bottom_text" t-value="'''objectif de l'année '''" /> <t t-set="average_sales" t-value="values['sales']['this_year']['average_sales']" /> <t t-set="currency_id" t-value="values['company_id'].currency_id" /> </t> </div> </div> <!-- Detail by contract --> <div class="col-12 mt-4" t-if="values['sales']['revenue_detail']" > <h3 class="text-uppercase fw-bolder o_horizontal_separator mb-4" >Objectif des derniers mois</h3> <table class="table table-striped table-hover" > <thead> <tr> <th /> <th t-foreach="values['sales']['revenue_detail']" t-as="revenue" > <t t-out="revenue.day_date" t-options="{'widget': 'date', 'format': 'MMMM yyyy'}" /> </th> </tr> </thead> <tbody> <tr> <th>CA HT</th> <td t-foreach="values['sales']['revenue_detail']" t-as="revenue" class="text-end" > <t t-out="revenue.sales_excl_taxes" t-options="{'widget': 'monetary', 'display_currency': values['company_id'].currency_id}" /> </td> </tr> <tr> <th>Objectif</th> <td t-foreach="values['sales']['revenue_detail']" t-as="revenue" class="text-end" > <t t-out="revenue.amount_untaxed_target" t-options="{'widget': 'monetary', 'display_currency': values['company_id'].currency_id}" /> </td> </tr> <tr> <th>% atteint</th> <td t-foreach="values['sales']['revenue_detail']" t-as="revenue" class="text-end" > <t t-out="revenue.sales_excl_taxes / revenue.amount_untaxed_target * 100 if revenue.amount_untaxed_target else 100" t-options="{'widget': 'float', 'precision': 0}" /> % </td> </tr> <tr> <th>Panier moyen</th> <td t-foreach="values['sales']['revenue_detail']" t-as="revenue" class="text-end" > <t t-out="revenue.sales_excl_taxes / revenue.nb_receipts if revenue.nb_receipts else 0" t-options="{'widget': 'monetary', 'display_currency': values['company_id'].currency_id}" /> </td> </tr> </tbody> </table> </div> <!-- Detail by contract --> <div class="col-12 mt-4" t-if="len(values['contract_ids']) > 1" > <h3 class="text-uppercase fw-bolder o_horizontal_separator mb-4" >Détail par contrat</h3> <!-- table- --> <table class="table table-striped table-borderless table-hover" > <t t-foreach="values['hall_ids']" t-as="hall" > <thead> <tr> <th colspan="9" class="text-uppercase" style="background-color: rgba(113, 99, 158, 0.2);" > <t t-out="hall.name" /> </th> </tr> <tr> <th>Stand</th> <th>Enseigne</th> <th>Hier <small class="test-muted" ><t t-out="values['sales']['day']" t-options="{'widget': 'date', 'format': 'dd/MM/yyyy'}" /></small></th> <th>Ce mois-ci</th> <th>Objectif du mois</th> <th /> <th>Cette année</th> <th>Objectif annuel</th> <th /> </tr> </thead> <tbody> <tr t-foreach="values['contract_ids']" t-as="contract" > <t t-if="contract in hall.contract_ids" > <t t-set="data" t-value="contract.get_overview_sales()" /> <t t-set="month_delta" t-value="data['this_month']['total_sales'] / data['target_month'] * 100 if data['target_month'] else 100" /> <t t-set="year_delta" t-value="data['this_year']['total_sales'] / data['target_year'] * 100 if data['target_month'] else 100" /> <td t-out="contract.stand_id.name" /> <td t-out="contract.partner_id.name" /> <td class="text-end" t-out="data['yesterday']['total_sales']" t-options='{"widget": "monetary", "display_currency": values["company_id"].currency_id}' /> <td class="text-end" t-out="data['this_month']['total_sales']" t-options='{"widget": "monetary", "display_currency": values["company_id"].currency_id}' /> <td class="text-end text-muted" t-out="data['target_month']" t-options='{"widget": "monetary", "display_currency": values["company_id"].currency_id}' /> <td t-att-class="'text-end text-success' if month_delta >= 1 else 'text-end text-danger'" > <t t-out="month_delta" t-options='{"widget": "float", "precision": 0}' /> % </td> <td class="text-end" t-out="data['this_year']['total_sales']" t-options='{"widget": "monetary", "display_currency": values["company_id"].currency_id}' /> <td class="text-end text-muted" t-out="data['target_year']" t-options='{"widget": "monetary", "display_currency": values["company_id"].currency_id}' /> <td t-att-class="'text-end text-success' if year_delta >= 1 else 'text-end text-danger'" > <t t-out="year_delta" t-options='{"widget": "float", "precision": 0}' /> % </td> </t> </tr> </tbody> </t> </table> <!-- en table- --> </div> </div> </div> </div> </div> </div> </div> </qweb> </field> </record> <template id="hall_contract_overview_kpi"> <!-- Last month --> <div class="col-4 text-center mt-4 mb-4"> <!-- Titre --> <h3><t t-out="title" /></h3> <!-- Date --> <t t-out="date_text" /> <t t-out="date" t-options="{'widget': 'date', 'format': 'dd/MM/yyyy'}" /> <!-- CA --> <p class="display-4"> <t t-out="amount" t-options='{"widget": "monetary", "display_currency": currency_id}' /> </p> <!-- Pourcentage --> <t t-if="target and target > 0"> <t t-set="delta" t-value="amount / target * 100" /> <p t-att-class="'text-success h3' if delta >= 1 else 'text-danger h3'"> <t t-if="arrow"> <i t-att-class="'fa fa-arrow-up' if delta >= 1 else 'fa fa-arrow-down'" /> </t> <t t-out="delta" t-options='{"widget": "float", "precision": 0}' /> % </p> </t> <t t-else=""> <p class="h3">N/A</p> </t> <!-- Bottom --> <p> <t t-out="bottom_text" /> <t t-out="target" t-options='{"widget": "monetary", "display_currency": currency_id}' /> </p> <hr /> <p /> <span class="h5">Panier moyen</span> <p class="display-6"> <t t-out="average_sales" t-options='{"widget": "monetary", "display_currency": currency_id}' /> </p> </div> </template> <record id="hall_contract_overview_action" model="ir.actions.act_window"> <field name="name">Overview</field> <field name="res_model">hall.contract</field> <field name="view_mode">qweb</field> </record> </odoo>