[FIX] website_sale: fix heuristic of abandoned carts

Abandoned carts are those with lines, not linked to public user, still
in draft mode and having more than one hour of lifetime.

By the way imp typo, abandonned abandoned one n.
This commit is contained in:
Thibault Delavallée
2017-03-07 10:50:42 +01:00
parent 7c5271140b
commit cb5ddc8ecf
3 changed files with 12 additions and 9 deletions
+5 -2
View File
@@ -20,7 +20,7 @@ class WebsiteSaleBackend(WebsiteBackend):
best_sellers=[],
summary=dict(
order_count=0, order_carts_count=0, order_unpaid_count=0,
order_to_invoice_count=0, order_carts_abandonned_count=0,
order_to_invoice_count=0, order_carts_abandoned_count=0,
payment_to_capture_count=0, total_sold=0,
order_per_day_ratio=0, order_sold_ratio=0, order_convertion_pctg=0,
)
@@ -81,10 +81,13 @@ class WebsiteSaleBackend(WebsiteBackend):
sales_values['summary'].update(
order_to_invoice_count=request.env['sale.order'].search_count(sale_order_domain + [
('state', 'in', ['sale', 'done']),
('order_line', '!=', False),
('partner_id', '!=', request.env.ref('base.public_partner').id),
('invoice_status', '=', 'to invoice'),
]),
order_carts_abandonned_count=request.env['sale.order'].search_count(sale_order_domain + [
order_carts_abandoned_count=request.env['sale.order'].search_count(sale_order_domain + [
('state', '=', 'draft'),
('order_line', '!=', 'False'),
('date_order', '<=', fields.Datetime.to_string(datetime.now() - timedelta(hours=1))),
]),
payment_to_capture_count=request.env['payment.transaction'].search_count([
@@ -23,9 +23,9 @@
</a>
<t t-set="vignette_nbr" t-value="vignette_nbr + 1"/>
</div>
<div t-if="widget.dashboards_data.sales.summary.order_carts_abandonned_count" class="o_inner_box o_main o_box_item" title="Send a recovery email to visitors who haven't completed their order.">
<a href="#" class="o_dashboard_action" name="website_sale.action_abandonned_orders_ecommerce">
<div class="o_highlight"><t t-esc="widget.dashboards_data.sales.summary.order_carts_abandonned_count"/></div>
<div t-if="widget.dashboards_data.sales.summary.order_carts_abandoned_count" class="o_inner_box o_main o_box_item" title="Send a recovery email to visitors who haven't completed their order.">
<a href="#" class="o_dashboard_action" name="website_sale.action_abandoned_orders_ecommerce">
<div class="o_highlight"><t t-esc="widget.dashboards_data.sales.summary.order_carts_abandoned_count"/></div>
Abandoned Carts
</a>
<t t-set="vignette_nbr" t-value="vignette_nbr + 1"/>
@@ -45,11 +45,11 @@
<field name="help">You don't have any unpaid order from the website.</field>
</record>
<record id="action_abandonned_orders_ecommerce" model="ir.actions.act_window">
<record id="action_abandoned_orders_ecommerce" model="ir.actions.act_window">
<field name="name">Abandoned Carts</field>
<field name="res_model">sale.order</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('state', '=', 'draft'), ('order_line', '!=', False), ('date_order', '&lt;=', (context_today() + datetime.timedelta(hours=-1)).strftime('%Y-%m-%d'))]</field>
<field name="domain">[('state', '=', 'draft'), ('order_line', '!=', False), ('date_order', '&lt;=', (context_today() - datetime.timedelta(hours=1)).strftime('%Y-%m-%d'))]</field>
<field name="context">{'show_sale': True, 'search_default_from_website': 1, 'create': False}</field>
<field name="search_view_id" ref="view_sales_order_filter_ecommerce"/>
<field name="help" type="xml">
@@ -93,8 +93,8 @@
<menuitem id="menu_orders_unpaid_orders" name="Unpaid Orders"
action="action_unpaid_orders_ecommerce"
parent="menu_orders" sequence="2"/>
<menuitem id="menu_orders_abandonned_orders" name="Abandoned Carts"
action="action_abandonned_orders_ecommerce"
<menuitem id="menu_orders_abandoned_orders" name="Abandoned Carts"
action="action_abandoned_orders_ecommerce"
parent="menu_orders" sequence="3"/>
<menuitem id="menu_orders_customers" name="Customers"
action="base.action_partner_customer_form"