<filter string="My Sales Team(s)"
icon="terp-personal+"
domain="[('section_id.user_id','=',uid)]"
- help="My Sales Team(s)"/>
+ help="My Sales Team(s)" groups="base.group_multi_salesteams"/>
</xpath>
<xpath expr="//field[@name='user_id']" position="after">
<field name="section_id" string="Sales Team" groups="base.group_multi_salesteams"/>
<field name="section_id"/>
</xpath>
<xpath expr="//group/filter[@string='Due Date']" position="after">
- <filter string="Sales Team" domain="[]" context="{'group_by':'section_id'}"/>
+ <filter string="Sales Team" domain="[]" context="{'group_by':'section_id'}" groups="base.group_multi_salesteams"/>
</xpath>
</field>
</record>
<field name="context">{
'search_default_section_id': [active_id],
'default_section_id': active_id,
- 'search_default_my_sale_orders_filter': 1,
}
</field>
<field name="help" type="html">
<field name="view_mode">tree,form,calendar,graph</field>
<field name="context">{
'search_default_section_id': [active_id],
- 'default_section_id': active_id, 'show_address': 1,
- 'search_default_my_sale_orders_filter': 1
+ 'default_section_id': active_id,
+ 'show_address': 1,
}
</field>
<field name="domain">[('state','in',('draft','sent','cancel'))]</field>
('type', '=', 'out_invoice')]</field>
<field name="context">{
'search_default_section_id': [active_id],
- 'default_section_id': active_id},
+ 'default_section_id': active_id,
'default_type':'out_invoice',
'type':'out_invoice',
'journal_type': 'sale',
<field name="act_window_id" ref="sale_crm.action_invoice_salesteams"/>
</record>
+ <record id="crm_case_section_salesteams_view_form" model="ir.ui.view">
+ <field name="name">crm.case.section.form</field>
+ <field name="model">crm.case.section</field>
+ <field name="inherit_id" ref="crm.crm_case_section_view_form"/>
+ <field name="arch" type="xml">
+ <data>
+ <field name="target_duration" position="before">
+ <field name="target_invoice"/>
+ </field>
+ </data>
+ </field>
+ </record>
+
<record id="crm_case_section_salesteams_view_kanban" model="ir.ui.view">
<field name="name">crm.case.section.kanban</field>
<field name="model">crm.case.section</field>
<field name="inherit_id" ref="crm.crm_case_section_salesteams_view_kanban"/>
<field name="arch" type="xml">
<data>
- <xpath expr="//field[@name='open_opportunity_ids']" position="after">
- <field name="quotation_ids"/>
- <field name="sale_order_ids"/>
- <field name="invoice_ids"/>
- </xpath>
- <xpath expr="//div[@class='oe_items_list']" position="inside">
- <a name="%(action_quotations_salesteams)d" type="action">
- <t t-raw="record.quotation_ids.raw_value.length"/>
- <t t-if="record.quotation_ids.raw_value.length >= 2">Quotations</t>
- <t t-if="record.quotation_ids.raw_value.length < 2">Quotation</t>
- </a>
- <a name="%(action_orders_salesteams)d" type="action">
- <t t-raw="record.sale_order_ids.raw_value.length"/>
- <t t-if="record.sale_order_ids.raw_value.length >= 2">Sales Orders</t>
- <t t-if="record.sale_order_ids.raw_value.length < 2">Sales Order</t>
- </a>
- <a name="%(action_invoice_salesteams)d" type="action" groups="account.group_account_invoice">
- <t t-raw="record.invoice_ids.raw_value.length"/>
- <t t-if="record.invoice_ids.raw_value.length >= 2">Invoices</t>
- <t t-if="record.invoice_ids.raw_value.length < 2">Invoice</t>
- </a>
+ <xpath expr="//field[@name='name']" position="after">
+ <field name="created_quotation_per_duration"/>
+ <field name="validate_saleorder_per_duration"/>
+ <field name="sent_invoice_per_duration"/>
+
+ <field name="forecast"/>
+ <field name="target_invoice"/>
</xpath>
+ <xpath expr="//div[@class='oe_salesteams_leads']" position="after"><div class="oe_salesteams_orders">
+ <a name="%(action_orders_salesteams)d" type="action">Sales Orders</a>
+ <a name="%(sale.action_order_report_all)d" type="action" class="oe_sparkline_bar_link"><field name="validate_saleorder_per_duration" widget="sparkline_bar">Revenue of confirmed sales orders per <t t-esc="record.target_duration_txt.value"/>).<br/>Click the acces to Sales Analysis</field></a>
+ </div></xpath>
+ <xpath expr="//div[@class='oe_salesteams_opportunities']" position="after"><div class="oe_salesteams_invoices">
+ <a name="%(action_invoice_salesteams)d" type="action" groups="account.group_account_invoice">Invoices</a>
+ <a name="%(account.action_account_invoice_report_all)d" type="action" class="oe_sparkline_bar_link"><field name="sent_invoice_per_duration" widget="sparkline_bar">Revenue of sent invoices per <t t-esc="record.target_duration_txt.value"/>.<br/>Click to see a detailed analysis of invoices.</field></a>
+ </div><div class="oe_salesteams_quotations">
+ <a name="%(action_quotations_salesteams)d" type="action" class="oe_sparkline_bar_link">Quotations</a>
+ <a name="%(sale.action_order_report_all)d" type="action" class="oe_sparkline_bar_link"><field name="created_quotation_per_duration" widget="sparkline_bar">Revenue of created quotation per <t t-esc="record.target_duration_txt.value"/>.<br/>Click to see a detailed analysis of sales.</field></a>
+ </div></xpath>
<xpath expr="//div[@class='oe_items_list']" position="after">
- <div class="oe_center">
- <div class="oe_sum"><field name="sum_month_invoice"/></div>
- <div class="oe_subsum">Invoiced this month</div>
+ <div class="oe_center" t-if="record.target_invoice.raw_value">
+ <field name="sent_invoice_per_duration" widget="gage" style="width:160px; height: 120px;" options="{'max_field': 'target_invoice', 'label_field': 'target_duration_txt'}">Invoiced</field>
+ <field name="forecast" widget="gage" style="width:160px; height: 120px;" options="{'max_field': 'target_invoice', 'label_field': 'target_duration_txt', 'action_change': 'action_forecast'}">Forecast</field>
+ </div>
+ <div class="oe_center" style="color:#bbbbbb;" t-if="!record.target_invoice.raw_value">
+ <br/>Define an invoicing target in the sales team settings to see the period's achievement and forecast at a glance.
</div>
</xpath>
</data>