<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2016 Antonio Espinosa - <antonio.espinosa@tecnativa.com>
     License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -->
<odoo>

<record model="ir.ui.view" id="view_mail_tracking_email_form">
    <field name="name">mail.tracking.email.form</field>
    <field name="model">mail.tracking.email</field>
    <field name="arch" type="xml">
        <form string="MailTracking event" create="false" edit="false" delete="false">
            <header>
                <field name="state" widget="statusbar" />
            </header>
            <sheet>
                <group>
                    <field name="name" />
                </group>
                <group>
                    <group>
                        <field name="mail_message_id" />
                        <field name="mail_id" />
                        <field name="partner_id" />
                        <field name="recipient" />
                        <field name="sender" />
                    </group>
                    <group>
                        <field name="timestamp" />
                        <field name="time" />
                        <field name="date" />
                    </group>
                </group>
                <group attrs="{'invisible': [('bounce_type', '=', False)]}">
                    <field name="bounce_type" />
                    <field name="bounce_description" />
                </group>
                <group attrs="{'invisible': [('error_type', '=', False)]}">
                    <field
                            name="error_smtp_server"
                            attrs="{'invisible': [('error_smtp_server', '=', False)]}"
                        />
                    <field name="error_type" />
                    <field name="error_description" />
                </group>
                <label for="tracking_event_ids" />
                <div>
                    <field name="tracking_event_ids">
                        <tree
                                string="Tracking events"
                                decoration-muted="event_type == 'deferral'"
                                decoration-danger="event_type in ('hard_bounce', 'soft_bounce', 'spam', 'reject')"
                                decoration-info="event_type in ('unsub', 'click', 'open')"
                            >
                            <field name="time" />
                            <field name="event_type" />
                            <field name="ip" />
                            <field name="url" />
                            <field name="user_country_id" string="Country" />
                            <field name="os_family" string="OS" />
                            <field name="ua_family" string="User agent" />
                        </tree>
                    </field>
                </div>
            </sheet>
        </form>
    </field>
</record>

<record model="ir.ui.view" id="view_mail_tracking_email_tree">
    <field name="name">mail.tracking.email.tree</field>
    <field name="model">mail.tracking.email</field>
    <field name="arch" type="xml">
        <tree
                string="MailTracking emails"
                create="false"
                edit="false"
                delete="false"
                decoration-muted="state in (False, 'deferred')"
                decoration-success="state == 'opened'"
                decoration-danger="state in ('rejected', 'spam', 'bounced', 'soft-bounced', 'error')"
                decoration-info="state == 'unsub'"
            >
            <field name="time" />
            <field name="date" invisible="1" />
            <field name="name" />
            <field name="sender" string="Sender" />
            <field name="recipient" string="Recipient" />
            <field name="state" />
        </tree>
    </field>
</record>

<record model="ir.ui.view" id="view_mail_tracking_email_search">
    <field name="name">mail.tracking.email.search</field>
    <field name="model">mail.tracking.email</field>
    <field name="arch" type="xml">
        <search string="MailTracking email search">
            <field
                    name="display_name"
                    string="Email"
                    filter_domain="['|', ('sender', 'ilike', self), ('recipient', 'ilike', self)]"
                />
            <field
                    name="sender"
                    string="Sender"
                    filter_domain="[('sender', '=', self)]"
                />
            <field
                    name="recipient"
                    string="Recipient"
                    filter_domain="[('recipient', '=', self)]"
                />
            <field name="name" string="Subject" />
            <field name="time" string="Time" />
            <field name="date" string="Date" />
            <filter name="sent" string="Sent" domain="[('state', 'in', ('sent',))]" />
            <filter
                    name="deferred"
                    string="Deferred"
                    domain="[('state', '=', 'deferred')]"
                />
            <filter
                    name="delivered"
                    string="Delivered"
                    domain="[('state', 'in', ('delivered', 'opened'))]"
                />
            <filter
                    name="unsub"
                    string="Unsubscribed"
                    domain="[('state', '=', 'unsub')]"
                />
            <filter
                    name="exception"
                    string="Failed"
                    domain="[('state', 'in', ('error', 'rejected', 'spam', 'bounced', 'soft-bounced'))]"
                />
            <separator />
            <group expand="0" string="Group By">
                <filter
                        string="State"
                        name="group_by_state"
                        domain="[]"
                        context="{'group_by': 'state'}"
                    />
                <filter
                        string="Subject"
                        name="group_by_subject"
                        domain="[]"
                        context="{'group_by': 'name'}"
                    />
                <filter
                        string="Sender"
                        name="group_by_sender"
                        domain="[]"
                        context="{'group_by': 'sender'}"
                    />
                <filter
                        string="Month"
                        name="group_by_month"
                        domain="[]"
                        context="{'group_by': 'date'}"
                    />
            </group>
        </search>
    </field>
</record>


<record id="action_view_mail_tracking_email" model="ir.actions.act_window">
    <field name="name">MailTracking emails</field>
    <field name="res_model">mail.tracking.email</field>
    <field name="view_mode">tree,form</field>
    <field name="search_view_id" ref="view_mail_tracking_email_search" />
</record>

<!-- Add menu entry in Settings/Email -->
<menuitem
        name="Tracking emails"
        id="menu_mail_tracking_email"
        parent="base.menu_email"
        action="action_view_mail_tracking_email"
    />

</odoo>
