205 lines
11 KiB
XML
205 lines
11 KiB
XML
|
<?xml version="1.0" encoding="utf-8"?>
|
||
|
<odoo>
|
||
|
<record id="view_sales_order_filter_ecommerce" model="ir.ui.view">
|
||
|
<field name="name">sale.order.ecommerce.search.view</field>
|
||
|
<field name="model">sale.order</field>
|
||
|
<field name="inherit_id" ref="sale.view_sales_order_filter"/>
|
||
|
<field name="mode">primary</field>
|
||
|
<field name="arch" type="xml">
|
||
|
<filter name="my_sale_orders_filter" position="before">
|
||
|
<filter string="Confirmed" name="order_confirmed" domain="[('state', '=', 'sale')]"/>
|
||
|
<filter string="Unpaid" name="order_unpaid" domain="[('state', '=', 'sent')]"/>
|
||
|
<filter string="Abandoned" name="order_abandoned" domain="[('is_abandoned_cart', '=', True)]"/>
|
||
|
<separator/>
|
||
|
<filter string="Order Date" name="order_date" date="date_order"/>
|
||
|
<separator/>
|
||
|
<filter string="From Website" name="from_website" domain="[('website_id', '!=', False)]"/>
|
||
|
<separator/>
|
||
|
<!-- Dashboard filter - used by context -->
|
||
|
<filter string="Last Week" invisible="1" name="week" domain="[('date_order','>', (context_today() - datetime.timedelta(days=7)).strftime('%Y-%m-%d'))]"/>
|
||
|
<filter string="Last Month" invisible="1" name="month" domain="[('date_order','>', (context_today() - datetime.timedelta(days=30)).strftime('%Y-%m-%d'))]"/>
|
||
|
<filter string="Last Year" invisible="1" name="year" domain="[('date_order','>', (context_today() - datetime.timedelta(days=365)).strftime('%Y-%m-%d'))]"/>
|
||
|
</filter>
|
||
|
</field>
|
||
|
</record>
|
||
|
|
||
|
<record id="view_sales_order_filter_ecommerce_unpaid" model="ir.ui.view">
|
||
|
<field name="name">sale.order.ecommerce.search.unpaid.view</field>
|
||
|
<field name="model">sale.order</field>
|
||
|
<field name="inherit_id" ref="sale.view_sales_order_filter"/>
|
||
|
<field name="mode">primary</field>
|
||
|
<field name="priority">32</field>
|
||
|
<field name="arch" type="xml">
|
||
|
<filter name="my_sale_orders_filter" position="attributes">
|
||
|
<attribute name="invisible">1</attribute>
|
||
|
</filter>
|
||
|
<filter name="my_sale_orders_filter" position="before">
|
||
|
<filter string="Order Date" name="order_date" date="date_order"/>
|
||
|
<separator/>
|
||
|
</filter>
|
||
|
</field>
|
||
|
</record>
|
||
|
|
||
|
<record id="sale_order_view_form_cart_recovery" model="ir.ui.view">
|
||
|
<field name="name">sale.order.form.abandoned.cart</field>
|
||
|
<field name="model">sale.order</field>
|
||
|
<field name="inherit_id" ref="sale.view_order_form"/>
|
||
|
<field name="arch" type="xml">
|
||
|
<field name="team_id" position="after">
|
||
|
<field name="is_abandoned_cart" invisible="1"/>
|
||
|
<field name="cart_recovery_email_sent" invisible="1"/>
|
||
|
</field>
|
||
|
<button name="action_quotation_send" id="send_by_email_primary" position="attributes">
|
||
|
<attribute name="invisible">state != 'draft' or (is_abandoned_cart and not cart_recovery_email_sent)</attribute>
|
||
|
</button>
|
||
|
<button name="action_quotation_send" position="after">
|
||
|
<button name="action_recovery_email_send" type="object" id="send_recovery" data-hotkey="l"
|
||
|
string="Send a Recovery Email"
|
||
|
class="btn-primary"
|
||
|
invisible="not is_abandoned_cart or cart_recovery_email_sent"/>
|
||
|
</button>
|
||
|
<button name="action_quotation_send" id="send_by_email" position="after">
|
||
|
<button name="action_quotation_send" id="send_by_email_bis" string="Send by Email" type="object"
|
||
|
invisible="not is_abandoned_cart or cart_recovery_email_sent or state != 'draft'"/>
|
||
|
</button>
|
||
|
</field>
|
||
|
</record>
|
||
|
|
||
|
<record id="action_orders_ecommerce" model="ir.actions.act_window">
|
||
|
<field name="name">Orders</field>
|
||
|
<field name="res_model">sale.order</field>
|
||
|
<field name="view_mode">list,form,kanban,activity</field>
|
||
|
<field name="domain">[]</field>
|
||
|
<field name="context">{'show_sale': True, 'search_default_order_confirmed': 1, 'search_default_from_website': 1}</field>
|
||
|
<field name="search_view_id" ref="view_sales_order_filter_ecommerce"/>
|
||
|
<field name="help" type="html">
|
||
|
<p class="o_view_nocontent_empty_folder">
|
||
|
There is no confirmed order from the website
|
||
|
</p>
|
||
|
</field>
|
||
|
</record>
|
||
|
|
||
|
<!-- Dashboard Action -->
|
||
|
<record id="action_unpaid_orders_ecommerce" model="ir.actions.act_window">
|
||
|
<field name="name">Unpaid Orders</field>
|
||
|
<field name="res_model">sale.order</field>
|
||
|
<field name="view_mode">list,form,kanban,activity</field>
|
||
|
<field name="domain">[('state', '=', 'sent'), ('website_id', '!=', False)]</field>
|
||
|
<field name="context">{'show_sale': True, 'create': False}</field>
|
||
|
<field name="search_view_id" ref="view_sales_order_filter_ecommerce"/>
|
||
|
<field name="help" type="html">
|
||
|
<p class="o_view_nocontent_empty_folder">
|
||
|
There is no unpaid order from the website yet
|
||
|
</p><p>
|
||
|
Process the order once the payment is received.
|
||
|
</p>
|
||
|
</field>
|
||
|
</record>
|
||
|
|
||
|
<record id="view_sales_order_filter_ecommerce_abondand" model="ir.ui.view">
|
||
|
<field name="name">sale.order.ecommerce.abondand.view</field>
|
||
|
<field name="model">sale.order</field>
|
||
|
<field name="priority">32</field>
|
||
|
<field name="arch" type="xml">
|
||
|
<search string="Search Abandoned Sales Orders">
|
||
|
<field name="name"/>
|
||
|
<filter string="Creation Date" name="creation_date" date="create_date"/>
|
||
|
<separator/>
|
||
|
<filter string="Recovery Email to Send" name="recovery_email" domain="[('cart_recovery_email_sent', '=', False)]" />
|
||
|
<filter string="Recovery Email Sent" name="recovery_email_set" domain="[('cart_recovery_email_sent', '=', True)]" />
|
||
|
<group expand="0" string="Group By">
|
||
|
<filter string="Order Date" name="order_date" domain="[]" context="{'group_by':'date_order'}"/>
|
||
|
</group>
|
||
|
<!-- Dashboard filter - used by context -->
|
||
|
<filter string="Last Week" invisible="1" name="week" domain="[('date_order','>', (context_today() - datetime.timedelta(days=7)).strftime('%Y-%m-%d'))]"/>
|
||
|
<filter string="Last Month" invisible="1" name="month" domain="[('date_order','>', (context_today() - datetime.timedelta(days=30)).strftime('%Y-%m-%d'))]"/>
|
||
|
<filter string="Last Year" invisible="1" name="year" domain="[('date_order','>', (context_today() - datetime.timedelta(days=365)).strftime('%Y-%m-%d'))]"/>
|
||
|
</search>
|
||
|
</field>
|
||
|
</record>
|
||
|
|
||
|
<!-- Dashboard Action -->
|
||
|
<record id="sale_order_action_to_invoice" model="ir.actions.act_window">
|
||
|
<field name="name">Orders To Invoice</field>
|
||
|
<field name="res_model">sale.order</field>
|
||
|
<field name="view_mode">list,form,kanban</field>
|
||
|
<field name="domain">[('state', '=', 'sale'), ('order_line', '!=', False), ('invoice_status', '=', 'to invoice'), ('website_id', '!=', False)]</field>
|
||
|
<field name="context">{'show_sale': True, 'search_default_order_confirmed': 1, 'create': False}</field>
|
||
|
<field name="search_view_id" ref="view_sales_order_filter_ecommerce"/>
|
||
|
<field name="help" type="html">
|
||
|
<p class="o_view_nocontent_empty_folder">
|
||
|
You don't have any order to invoice from the website
|
||
|
</p>
|
||
|
</field>
|
||
|
</record>
|
||
|
|
||
|
<!-- Server action to send multiple recovery email-->
|
||
|
|
||
|
<record id="action_view_unpaid_quotation_tree" model="ir.actions.act_window">
|
||
|
<field name="name">Unpaid Orders</field>
|
||
|
<field name="res_model">sale.order</field>
|
||
|
<field name="view_mode">list,kanban,form,activity</field>
|
||
|
<field name="domain">[('state', '=', 'sent'), ('website_id', '!=', False)]</field>
|
||
|
<field name="context">{'show_sale': True, 'create': False}</field>
|
||
|
<field name="view_id" ref="sale.view_quotation_tree"/>
|
||
|
<field name="search_view_id" ref="view_sales_order_filter_ecommerce_unpaid"/>
|
||
|
<field name="help" type="html">
|
||
|
<p class="o_view_nocontent_empty_folder">
|
||
|
There is no unpaid order from the website yet
|
||
|
</p><p>
|
||
|
Process the order once the payment is received.
|
||
|
</p>
|
||
|
</field>
|
||
|
</record>
|
||
|
|
||
|
<record id="action_view_abandoned_tree" model="ir.actions.act_window">
|
||
|
<field name="name">Abandoned Carts</field>
|
||
|
<field name="res_model">sale.order</field>
|
||
|
<field name="view_mode">list,kanban,form,activity</field>
|
||
|
<field name="domain">[('is_abandoned_cart', '=', 1)]</field>
|
||
|
<field name="context" eval="{'show_sale': True, 'create': False, 'public_partner_id': ref('base.public_partner'), 'search_default_recovery_email': True}"/>
|
||
|
<field name="view_id" ref="sale.view_quotation_tree"/>
|
||
|
<field name="search_view_id" ref="view_sales_order_filter_ecommerce_abondand"/>
|
||
|
<field name="help" type="html">
|
||
|
<p class="o_view_nocontent_empty_folder">
|
||
|
No abandoned carts found
|
||
|
</p><p>
|
||
|
You'll find here all the carts abandoned by your visitors.
|
||
|
If they completed their address, you should send them a recovery email!
|
||
|
</p><p>
|
||
|
The time to mark a cart as abandoned can be changed in the settings.
|
||
|
</p>
|
||
|
</field>
|
||
|
</record>
|
||
|
|
||
|
<record id="sale_order_view_form" model="ir.ui.view">
|
||
|
<field name="name">sale.order.form</field>
|
||
|
<field name="model">sale.order</field>
|
||
|
<field name="inherit_id" ref="sale.view_order_form"/>
|
||
|
<field name="arch" type="xml">
|
||
|
<field name="partner_id" position="attributes">
|
||
|
<attribute name="context">{
|
||
|
'display_website': True,
|
||
|
'res_partner_search_mode': 'customer',
|
||
|
'show_address': 1,
|
||
|
'show_vat': True,
|
||
|
}</attribute>
|
||
|
</field>
|
||
|
<field name="team_id" position="after">
|
||
|
<field name="website_id" invisible="not website_id" groups="website.group_multi_website"/>
|
||
|
</field>
|
||
|
</field>
|
||
|
</record>
|
||
|
|
||
|
<record id="sale_order_tree" model="ir.ui.view">
|
||
|
<field name="name">sale.order.list.inherit.website.sale</field>
|
||
|
<field name="model">sale.order</field>
|
||
|
<field name="inherit_id" ref="sale.sale_order_tree"/>
|
||
|
<field name="arch" type="xml">
|
||
|
<field name="user_id" position="before">
|
||
|
<field name="website_id" groups="website.group_multi_website" optional="show"/>
|
||
|
</field>
|
||
|
</field>
|
||
|
</record>
|
||
|
</odoo>
|