[IMP] website_sale: improve policy of what is an abandoned cart
Now, an abandonned cart is:
- a draft quotation
- in a sales channel with type = website
- with a customer set (not public user)
- created more than one hour ago
- removed from_website filter in search view of website sale, added domain in view for display website side sale
- use proper filter for display 'Orders' and 'Orders to Invoice' in dashboard
this commit closes #17383 task-745391
This commit is contained in:
committed by
Jeremy Kersten
parent
30783c7a43
commit
477666d3da
@@ -88,6 +88,7 @@ class WebsiteSaleBackend(WebsiteBackend):
|
||||
order_carts_abandoned_count=request.env['sale.order'].search_count(sale_order_domain + [
|
||||
('state', '=', 'draft'),
|
||||
('order_line', '!=', 'False'),
|
||||
('partner_id', '!=', request.env.ref('base.public_partner').id),
|
||||
('date_order', '<=', fields.Datetime.to_string(datetime.now() - timedelta(hours=1))),
|
||||
]),
|
||||
payment_to_capture_count=request.env['payment.transaction'].search_count([
|
||||
|
||||
@@ -7,8 +7,6 @@
|
||||
<field name="arch" type="xml">
|
||||
<search>
|
||||
<filter string="Confirmed Orders" name="order_confirmed" domain="[('state', 'in', ('sale', 'done'))]"/>
|
||||
<separator/>
|
||||
<filter string="From Website" name="from_website" domain="[('team_id.team_type', '=', 'website')]"/>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
@@ -29,8 +27,8 @@
|
||||
<field name="name">Orders</field>
|
||||
<field name="res_model">sale.order</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="domain">[]</field>
|
||||
<field name="context">{'show_sale': True, 'search_default_confirm_order': 1, 'search_default_from_website': 1}</field>
|
||||
<field name="domain">[('team_id.team_type', '=', 'website')]</field>
|
||||
<field name="context">{'show_sale': True, 'search_default_order_confirmed': 1}</field>
|
||||
<field name="search_view_id" ref="view_sales_order_filter_ecommerce"/>
|
||||
<field name="help">You don't have any confirmed order from the website.</field>
|
||||
</record>
|
||||
@@ -39,8 +37,8 @@
|
||||
<field name="name">Unpaid Orders</field>
|
||||
<field name="res_model">sale.order</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="domain">[('state', '=', 'sent')]</field>
|
||||
<field name="context">{'show_sale': True, 'search_default_from_website': 1, 'create': False}</field>
|
||||
<field name="domain">[('state', '=', 'sent'), ('team_id.team_type', '=', 'website')]</field>
|
||||
<field name="context">{'show_sale': True, 'create': False}</field>
|
||||
<field name="search_view_id" ref="view_sales_order_filter_ecommerce"/>
|
||||
<field name="help">You don't have any unpaid order from the website.</field>
|
||||
</record>
|
||||
@@ -49,8 +47,8 @@
|
||||
<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', '<=', (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="domain">[('state', '=', 'draft'), ('order_line', '!=', False), ('partner_id','!=', context.get('public_partner_id')), ('team_id.team_type', '=', 'website'), ('date_order', '<=', (datetime.datetime.utcnow() - datetime.timedelta(hours=1)).strftime('%Y-%m-%d %H:%M:%S'))]</field>
|
||||
<field name="context" eval="{'show_sale': True, 'create': False, 'public_partner_id': ref('base.public_partner')}"/>
|
||||
<field name="search_view_id" ref="view_sales_order_filter_ecommerce"/>
|
||||
<field name="help" type="xml">
|
||||
<p>Find here all the abandoned carts, i.e. the carts generated by your website's visitors more than one hour ago and not confirmed.</p>
|
||||
@@ -61,8 +59,8 @@
|
||||
<field name="name">Orders To Invoice</field>
|
||||
<field name="res_model">sale.order</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="domain">[('state', 'in', ('sale', 'done')), ('invoice_status', '=', 'to invoice')]</field>
|
||||
<field name="context">{'show_sale': True, 'search_default_from_website': 1}</field>
|
||||
<field name="domain">[('state', 'in', ('sale', 'done')), ('invoice_status', '=', 'to invoice'), ('team_id.team_type', '=', 'website')]</field>
|
||||
<field name="context">{'show_sale': True, 'search_default_order_confirmed': 1}</field>
|
||||
<field name="search_view_id" ref="view_sales_order_filter_ecommerce"/>
|
||||
<field name="help">You don't have any order from the website.</field>
|
||||
</record>
|
||||
|
||||
Reference in New Issue
Block a user