summaryrefslogtreecommitdiff
path: root/addons/mail/views
diff options
context:
space:
mode:
authorThibault Delavallée <tde@openerp.com>2015-04-27 11:49:02 +0200
committerThibault Delavallée <tde@openerp.com>2015-04-27 12:52:45 +0200
commit4a975f1b7d719ebbf17e0d4194cf3fcc56e2f56f (patch)
tree96a29b7f19adabe5f371b023116da887bb0ace03 /addons/mail/views
parent4b122ad41d873febe288ab1f8c6cdc078ca2a479 (diff)
[MOV] mail: moved files according to the new module organization
Diffstat (limited to 'addons/mail/views')
-rw-r--r--addons/mail/views/contact_views.xml50
-rw-r--r--addons/mail/views/ir_actions_views.xml (renamed from addons/mail/views/ir_actions_view.xml)0
-rw-r--r--addons/mail/views/mail_alias_views.xml87
-rw-r--r--addons/mail/views/mail_followers_views.xml76
-rw-r--r--addons/mail/views/mail_group_views.xml163
-rw-r--r--addons/mail/views/mail_mail_views.xml129
-rw-r--r--addons/mail/views/mail_message_subtype_views.xml53
-rw-r--r--addons/mail/views/mail_message_views.xml132
-rw-r--r--addons/mail/views/mail_template_views.xml (renamed from addons/mail/views/email_template_view.xml)0
-rw-r--r--addons/mail/views/mail_templates.xml (renamed from addons/mail/views/mail.xml)0
-rw-r--r--addons/mail/views/mail_thread_views.xml168
-rw-r--r--addons/mail/views/res_config_views.xml27
-rw-r--r--addons/mail/views/res_partner_views.xml (renamed from addons/mail/views/res_partner_view.xml)0
-rw-r--r--addons/mail/views/res_users_views.xml60
14 files changed, 945 insertions, 0 deletions
diff --git a/addons/mail/views/contact_views.xml b/addons/mail/views/contact_views.xml
new file mode 100644
index 00000000000..17f866d054f
--- /dev/null
+++ b/addons/mail/views/contact_views.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" ?>
+<openerp>
+ <data>
+
+
+ <record id="action_contacts" model="ir.actions.act_window">
+ <field name="name">Contacts</field>
+ <field name="type">ir.actions.act_window</field>
+ <field name="res_model">res.partner</field>
+ <field name="view_type">form</field>
+ <field name="view_mode">kanban,tree,form</field>
+ <field name="search_view_id" ref="base.view_res_partner_filter"/>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to add a contact in your address book.
+ </p><p>
+ Odoo helps you easily track all activities related to
+ a customer; discussions, history of business opportunities,
+ documents, etc.
+ </p>
+ </field>
+ </record>
+ <record id="action_contacts_view_kanban" model="ir.actions.act_window.view">
+ <field eval="0" name="sequence"/>
+ <field name="view_mode">kanban</field>
+ <field name="view_id" ref="base.res_partner_kanban_view"/>
+ <field name="act_window_id" ref="action_contacts"/>
+ </record>
+ <record id="action_contacts_view_tree" model="ir.actions.act_window.view">
+ <field name="sequence" eval="1"/>
+ <field name="view_mode">tree</field>
+ <field name="view_id" ref="base.view_partner_tree"/>
+ <field name="act_window_id" ref="action_contacts"/>
+ </record>
+ <record id="action_contacts_view_form" model="ir.actions.act_window.view">
+ <field eval="2" name="sequence"/>
+ <field name="view_mode">form</field>
+ <field name="view_id" ref="base.view_partner_form"/>
+ <field name="act_window_id" ref="action_contacts"/>
+ </record>
+
+
+ <menuitem name="Contacts"
+ id="menu_contacts"
+ sequence="4"
+ action="action_contacts"
+ groups="base.group_user,base.group_partner_manager"/>
+
+ </data>
+</openerp>
diff --git a/addons/mail/views/ir_actions_view.xml b/addons/mail/views/ir_actions_views.xml
index 8f5875257aa..8f5875257aa 100644
--- a/addons/mail/views/ir_actions_view.xml
+++ b/addons/mail/views/ir_actions_views.xml
diff --git a/addons/mail/views/mail_alias_views.xml b/addons/mail/views/mail_alias_views.xml
new file mode 100644
index 00000000000..c4d1e67dd37
--- /dev/null
+++ b/addons/mail/views/mail_alias_views.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0"?>
+<openerp>
+ <data>
+
+ <!-- Alias Form View -->
+ <record model="ir.ui.view" id="view_mail_alias_form">
+ <field name="name">mail.alias.form</field>
+ <field name="model">mail.alias</field>
+ <field name="arch" type="xml">
+ <form string="Alias">
+ <sheet>
+ <h2><field name="alias_name" class="oe_inline"/>@<field name="alias_domain" class="oe_inline"/></h2>
+ <div class="oe_right oe_button_box">
+ <button name="open_document" string="Open Document"
+ type="object" class="oe_link"
+ attrs="{'invisible': ['|', ('alias_model_id', '=', False), ('alias_force_thread_id', '=', 0)]}"/>
+ <button name="open_parent_document" string="Open Parent Document"
+ type="object" class="oe_link"
+ attrs="{'invisible': ['|', ('alias_parent_model_id', '=', False), ('alias_parent_thread_id', '=', 0)]}"/>
+ </div>
+ <group>
+ <field name="alias_model_id"/>
+ <field name="alias_force_thread_id"/>
+ <field name="alias_defaults"/>
+ <field name="alias_contact"/>
+ <field name="alias_user_id"/>
+ <field name="alias_parent_model_id"/>
+ <field name="alias_parent_thread_id"/>
+ </group>
+ </sheet>
+ </form>
+ </field>
+ </record>
+
+ <!-- Alias List View -->
+ <record model="ir.ui.view" id="view_mail_alias_tree">
+ <field name="name">mail.alias.tree</field>
+ <field name="model">mail.alias</field>
+ <field name="arch" type="xml">
+ <tree string="Alias">
+ <field name="alias_name"/>
+ <field name="alias_model_id"/>
+ <field name="alias_user_id"/>
+ <field name="alias_defaults"/>
+ <field name="alias_contact"/>
+ </tree>
+ </field>
+ </record>
+
+ <!-- Alias Search View -->
+ <record model="ir.ui.view" id="view_mail_alias_search">
+ <field name="name">mail.alias.search</field>
+ <field name="model">mail.alias</field>
+ <field name="arch" type="xml">
+ <search string="Search Alias">
+ <field name="alias_name"/>
+ <field name="alias_model_id"/>
+ <field name="alias_force_thread_id"/>
+ <field name="alias_parent_model_id"/>
+ <field name="alias_parent_thread_id"/>
+ <separator/>
+ <filter string="Active" name="active" domain="[('alias_name', '!=', False)]"/>
+ <group expand="0" string="Group By">
+ <filter string="User" name="User" context="{'group_by':'alias_user_id'}"/>
+ <filter string="Model" name="Model" context="{'group_by':'alias_model_id'}"/>
+ </group>
+ </search>
+ </field>
+ </record>
+
+ <record id="action_view_mail_alias" model="ir.actions.act_window">
+ <field name="name">Aliases</field>
+ <field name="res_model">mail.alias</field>
+ <field name="context">{
+ 'search_default_active': True,
+ }
+ </field>
+ </record>
+
+ <menuitem id="mail_alias_menu"
+ parent="base.menu_email"
+ action="action_view_mail_alias"
+ sequence="50"
+ groups="base.group_no_one"/>
+
+ </data>
+</openerp>
diff --git a/addons/mail/views/mail_followers_views.xml b/addons/mail/views/mail_followers_views.xml
new file mode 100644
index 00000000000..a222dad374b
--- /dev/null
+++ b/addons/mail/views/mail_followers_views.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0"?>
+<openerp>
+ <data>
+
+ <!-- FOLLOWERS !-->
+ <record model="ir.ui.view" id="view_followers_tree">
+ <field name="name">mail.followers.tree</field>
+ <field name="model">mail.followers</field>
+ <field name="priority">10</field>
+ <field name="arch" type="xml">
+ <tree string="Followers">
+ <field name="res_model"/>
+ <field name="res_id"/>
+ <field name="partner_id"/>
+ </tree>
+ </field>
+ </record>
+
+ <record model="ir.ui.view" id="view_mail_subscription_form">
+ <field name="name">mail.followers.form</field>
+ <field name="model">mail.followers</field>
+ <field name="arch" type="xml">
+ <form string="Followers Form">
+ <sheet>
+ <group>
+ <group>
+ <field name="res_model"/>
+ <field name="partner_id"/>
+ </group>
+ <group>
+ <field name="res_id"/>
+ <field name="subtype_ids" widget="many2many_tags"/>
+ </group>
+ </group>
+ </sheet>
+ </form>
+ </field>
+ </record>
+
+ <!-- NOTIFICATION !-->
+ <record model="ir.ui.view" id="view_notification_tree">
+ <field name="name">mail.notification.tree</field>
+ <field name="model">mail.notification</field>
+ <field name="priority">10</field>
+ <field name="arch" type="xml">
+ <tree string="Notifications">
+ <field name="partner_id"/>
+ <field name="message_id"/>
+ </tree>
+ </field>
+ </record>
+
+ <record id="action_view_followers" model="ir.actions.act_window">
+ <field name="name">Followers</field>
+ <field name="res_model">mail.followers</field>
+ <field name="view_type">form</field>
+ <field name="view_mode">tree,form</field>
+ </record>
+
+ <record id="action_view_notifications" model="ir.actions.act_window">
+ <field name="name">Notifications</field>
+ <field name="res_model">mail.notification</field>
+ <field name="view_type">form</field>
+ <field name="view_mode">tree,form</field>
+ </record>
+
+ <!-- Add followers related menu entries in Settings/Email -->
+ <menuitem name="Followers" id="menu_email_followers" parent="base.menu_email"
+ action="action_view_followers" sequence="30" groups="base.group_no_one"/>
+
+ <!-- Add notifications related menu entry in Settings/Email -->
+ <menuitem name="Notifications" id="menu_email_notifications" parent="base.menu_email"
+ action="action_view_notifications" sequence="13" groups="base.group_no_one"/>
+
+ </data>
+</openerp>
diff --git a/addons/mail/views/mail_group_views.xml b/addons/mail/views/mail_group_views.xml
new file mode 100644
index 00000000000..edd008e52d0
--- /dev/null
+++ b/addons/mail/views/mail_group_views.xml
@@ -0,0 +1,163 @@
+<?xml version="1.0"?>
+<openerp>
+ <data>
+ <!-- this record will be dynamically adapted to each new menu created -->
+ <record id="action_mail_group_feeds" model="ir.actions.client">
+ <field name="name">Discussion Group</field>
+ <field name="tag">mail.wall</field>
+ <field name="res_model">mail.message</field>
+ <field name="context">{
+ }</field>
+ <field name="params">{
+ 'read_action': 'read'
+ }</field>
+ <field name="help" type="html">
+ <p>
+ No message in this group.
+ </p>
+ </field>
+ </record>
+
+ <!-- Group Kanban View !-->
+ <record model="ir.ui.view" id="view_group_kanban">
+ <field name="name">mail.group.kanban</field>
+ <field name="model">mail.group</field>
+ <field name="priority" eval="10"/>
+ <field name="arch" type="xml">
+ <kanban>
+ <field name="message_follower_ids"/>
+ <field name="message_is_follower"/>
+ <field name="message_summary"/>
+ <field name="description"/>
+ <field name="alias_id"/>
+ <field name="alias_name"/>
+ <field name="alias_domain"/>
+ <templates>
+ <t t-name="kanban-description">
+ <div class="oe_group_description" t-if="record.description.raw_value">
+ <field name="description"/>
+ </div>
+ </t>
+ <t t-name="kanban-box">
+ <div t-attf-class="{record.message_is_follower.raw_value} oe_group_vignette oe_semantic_html_override">
+ <div class="oe_group_image">
+ <a type="open"><img t-att-src="kanban_image('mail.group', 'image_medium', record.id.value)" class="oe_group_photo" tooltip="kanban-description"/></a>
+ </div>
+ <div class="oe_group_details">
+ <h4><a type="open"><field name="name"/></a></h4>
+ <div class="oe_kanban_alias" t-if="record.alias_name.value and record.alias_domain.value">
+ <small><i class="fa fa-envelope-o"></i> <field name="alias_id"/></small>
+ </div>
+ <div class="oe_grey">
+ <field name="description"/>
+ </div>
+ <div class="oe_kanban_bottom_left">
+ <t t-raw="record.message_summary.raw_value"/>
+ </div>
+ <div class="oe_group_button">
+ <button t-if="record.message_is_follower.raw_value" name="action_unfollow" type="object" class="oe_group_join">Unfollow</button>
+ <button t-if="! record.message_is_follower.raw_value" name="action_follow" type="object">Join Group</button>
+ </div>
+ </div>
+ </div>
+ </t>
+ </templates>
+ </kanban>
+ </field>
+ </record>
+
+ <!-- Group Form View !-->
+ <record model="ir.ui.view" id="view_group_form">
+ <field name="name">mail.group.form</field>
+ <field name="model">mail.group</field>
+ <field name="priority" eval="10"/>
+ <field name="arch" type="xml">
+ <form string="Group Form">
+ <sheet class="openerp_mail_group_sheet">
+ <field name="image" widget='image' class="oe_avatar oe_left" options='{"preview_image": "image_small"}'/>
+ <div class="oe_title">
+ <div class="oe_edit_only">
+ <label for="name" string="Group Name"/>
+ </div>
+ <h1><field name="name" readonly="0"/></h1>
+ <group colspan="2" name="group_alias"
+ attrs="{'invisible': [('alias_domain', '=', False)]}">
+ <label for="alias_id" string=" " class="fa fa-envelope-o" style="min-width: 20px;"/>
+ <div name="alias_def">
+ <field name="alias_id" class="oe_read_only oe_inline"
+ string="Email Alias" required="0"/>
+ <div class="oe_edit_only oe_inline" name="edit_alias" style="display: inline;" >
+ <field name="alias_name" class="oe_inline"/>@<field name="alias_domain" class="oe_inline" readonly="1"/>
+ </div>
+ </div>
+ <label for="alias_contact" string=" " class="fa fa-lock" style="min-width: 20px;"/>
+ <field name="alias_contact" class="oe_inline" nolabel="1"/>
+ </group>
+ </div>
+ <field name="description" placeholder="Topics discussed in this group..."/>
+ <div class="oe_clear"/>
+ <group class="oe_edit_only">
+ <field name="public" widget="radio" string="Who can follow the group's activities?"/>
+ <field name="group_public_id"
+ attrs="{'invisible': [('public','&lt;&gt;','groups')], 'required': [('public','=','groups')]}"
+ />
+ <field name="group_ids" widget="many2many_tags"/>
+ </group>
+ <group attrs="{'invisible': [('public', 'not in', ['public', 'private'])]}">
+ <div class="oe_grey" attrs="{'invisible': [('public','&lt;&gt;','public')]}">
+ This group is visible by everyone,
+ including your customers if you installed
+ the portal module.
+ </div>
+ <div class="oe_grey" attrs="{'invisible': [('public','&lt;&gt;','private')]}">
+ Only the invited followers can read the
+ discussions on this group.
+ </div>
+ </group>
+ </sheet>
+ <div class="oe_chatter">
+ <field name="message_follower_ids" widget="mail_followers" groups="base.group_user"/>
+ <field name="message_ids" widget="mail_thread" options='{"thread_level": 1}' placeholder="Send a message to the group"/>
+ </div>
+ </form>
+ </field>
+ </record>
+
+ <!-- Group List View !-->
+ <record model="ir.ui.view" id="view_group_tree">
+ <field name="name">mail.group.tree</field>
+ <field name="model">mail.group</field>
+ <field name="priority" eval="10"/>
+ <field name="arch" type="xml">
+ <tree string="Groups">
+ <field name="name" string="Group Name"/>
+ </tree>
+ </field>
+ </record>
+
+ <!-- Group Search View !-->
+ <record model="ir.ui.view" id="view_group_search">
+ <field name="name">mail.group.search</field>
+ <field name="model">mail.group</field>
+ <field name="priority" eval="10"/>
+ <field name="arch" type="xml">
+ <search string="Search Groups">
+ <field name="name" string="Group"/>
+ </search>
+ </field>
+ </record>
+
+ <!-- group record !-->
+ <record id="action_view_groups" model="ir.actions.act_window">
+ <field name="name">Join a group</field>
+ <field name="res_model">mail.group</field>
+ <field name="view_type">form</field>
+ <field name="view_mode">kanban,tree,form</field>
+ <field name="search_view_id" ref="view_group_search"/>
+ </record>
+
+ <!-- left-side menu: Groups !-->
+ <menuitem id="mail_group_root" parent="mail_feeds_main" sequence="2" name="Channel"/>
+ <menuitem id="mail_allgroups" parent="mail_group_root" sequence="100" action="action_view_groups"/>
+ </data>
+</openerp>
diff --git a/addons/mail/views/mail_mail_views.xml b/addons/mail/views/mail_mail_views.xml
new file mode 100644
index 00000000000..9151d916319
--- /dev/null
+++ b/addons/mail/views/mail_mail_views.xml
@@ -0,0 +1,129 @@
+<?xml version="1.0"?>
+<openerp>
+ <data>
+ <record model="ir.ui.view" id="view_mail_form">
+ <field name="name">mail.mail.form</field>
+ <field name="model">mail.mail</field>
+ <field name="arch" type="xml">
+ <form string="Email message">
+ <header>
+ <button name="send" string="Send Now" type="object" states='outgoing' class="oe_highlight"/>
+ <button name="mark_outgoing" string="Retry" type="object" states='exception,cancel'/>
+ <button name="cancel" string="Cancel" type="object" states='outgoing'/>
+ <field name="state" widget="statusbar" statusbar_visible="outgoing,sent,received,exception,cancel"/>
+ </header>
+ <sheet>
+ <field name="mail_message_id" required="0" invisible="1"/>
+ <label for="subject" class="oe_edit_only"/>
+ <h2><field name="subject"/></h2>
+ <div style="vertical-align: top;">
+ by <field name="author_id" class="oe_inline" string="User"/> on <field name="date" readonly="1" class="oe_inline"/>
+ <button name="%(action_email_compose_message_wizard)d" string="Reply" type="action" icon="terp-mail-replied"
+ context="{'default_composition_mode':'reply', 'default_parent_id': mail_message_id}" states='received,sent,exception,cancel'/>
+ </div>
+ <group>
+ <field name="email_from"/>
+ <field name="email_to"/>
+ <field name="recipient_ids" widget="many2many_tags"/>
+ <field name="email_cc"/>
+ <field name="reply_to"/>
+ </group>
+ <notebook>
+ <page string="Body">
+ <field name="body_html"/>
+ </page>
+ <page string="Advanced" groups="base.group_no_one">
+ <group>
+ <group string="Status">
+ <field name="auto_delete"/>
+ <field name="notification"/>
+ <field name="message_type"/>
+ <field name="mail_server_id"/>
+ <field name="model"/>
+ <field name="res_id"/>
+ </group>
+ <group string="Headers">
+ <field name="message_id"/>
+ <field name="references"/>
+ <field name="headers"/>
+ </group>
+ </group>
+ </page>
+ <page string="Attachments">
+ <field name="attachment_ids"/>
+ </page>
+ <page string="Failure Reason" attrs="{'invisible': [('state', '!=', 'exception')]}">
+ <field name="failure_reason"/>
+ </page>
+ </notebook>
+ </sheet>
+ </form>
+ </field>
+ </record>
+
+ <record model="ir.ui.view" id="view_mail_tree">
+ <field name="name">mail.mail.tree</field>
+ <field name="model">mail.mail</field>
+ <field name="arch" type="xml">
+ <tree string="Emails" colors="grey:state in ('sent', 'cancel');blue:state=='outgoing';red:state=='exception';black:state=='received'">
+ <field name="date"/>
+ <field name="subject"/>
+ <field name="author_id" string="User"/>
+ <field name="message_id" invisible="1"/>
+ <field name="recipient_ids" invisible="1"/>
+ <field name="model" invisible="1"/>
+ <field name="res_id" invisible="1"/>
+ <field name="email_from" invisible="1"/>
+ <field name="state" invisible="1"/>
+ <field name="message_type" invisible="1"/>
+ <button name="send" string="Send Now" type="object" icon="gtk-media-play" states='outgoing'/>
+ <button name="mark_outgoing" string="Retry" type="object" icon="gtk-redo" states='exception,cancel'/>
+ <button name="cancel" string="Cancel Email" type="object" icon="terp-gtk-stop" states='outgoing'/>
+ </tree>
+ </field>
+ </record>
+
+ <record model="ir.ui.view" id="view_mail_search">
+ <field name="name">mail.mail.search</field>
+ <field name="model">mail.mail</field>
+ <field name="arch" type="xml">
+ <search string="Email Search">
+ <field name="email_from" filter_domain="['|', '|',('email_from','ilike',self), ('email_to','ilike',self), ('subject','ilike',self)]" string="Email"/>
+ <field name="date"/>
+ <filter icon="terp-camera_test" name="received" string="Received" domain="[('state','=','received')]"/>
+ <filter icon="terp-call-start" name="outgoing" string="Outgoing" domain="[('state','=','outgoing')]"/>
+ <filter icon="terp-check" name="sent" string="Sent" domain="[('state','=','sent')]"/>
+ <filter icon="terp-gtk-stop" name="exception" string="Failed" domain="[('state','=','exception')]"/>
+ <separator/>
+ <filter icon="terp-camera_test" name="type_email" string="Email" domain="[('message_type','=','email')]"/>
+ <filter icon="terp-camera_test" name="type_comment" string="Comment" domain="[('message_type','=','comment')]"/>
+ <filter icon="terp-camera_test" name="type_notification" string="Notification" domain="[('message_type','=','notification')]"/>
+ <group expand="0" string="Extended Filters...">
+ <field name="author_id"/>
+ <field name="recipient_ids"/>
+ <field name="model"/>
+ <field name="res_id"/>
+ </group>
+ <group expand="0" string="Group By">
+ <filter string="Status" name="status" domain="[]" context="{'group_by':'state'}"/>
+ <filter string="Author" name="author" context="{'group_by':'author_id'}"/>
+ <filter string="Thread" name="thread" domain="[]" context="{'group_by':'message_id'}"/>
+ <filter string="Month" name="month" help="Creation Month" domain="[]" context="{'group_by':'date'}"/>
+ </group>
+ </search>
+ </field>
+ </record>
+
+ <record id="action_view_mail_mail" model="ir.actions.act_window">
+ <field name="name">Emails</field>
+ <field name="res_model">mail.mail</field>
+ <field name="view_type">form</field>
+ <field name="view_mode">tree,form</field>
+ <field name="context">{}</field>
+ <field name="search_view_id" ref="view_mail_search"/>
+ </record>
+
+ <!-- Add menu entry in Settings/Email -->
+ <menuitem name="Emails" id="menu_mail_mail" parent="base.menu_email" action="action_view_mail_mail" />
+ </data>
+</openerp>
diff --git a/addons/mail/views/mail_message_subtype_views.xml b/addons/mail/views/mail_message_subtype_views.xml
new file mode 100644
index 00000000000..8b7856bea22
--- /dev/null
+++ b/addons/mail/views/mail_message_subtype_views.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0"?>
+<openerp>
+ <data>
+
+ <record model="ir.ui.view" id="view_message_subtype_tree">
+ <field name="name">mail.message.subtype.tree</field>
+ <field name="model">mail.message.subtype</field>
+ <field name="priority">10</field>
+ <field name="arch" type="xml">
+ <tree string="Subtype">
+ <field name="name"/>
+ <field name="sequence"/>
+ <field name="res_model"/>
+ <field name="default"/>
+ </tree>
+ </field>
+ </record>
+
+ <record model="ir.ui.view" id="view_mail_message_subtype_form">
+ <field name="name">mail.message.subtype.form</field>
+ <field name="model">mail.message.subtype</field>
+ <field name="arch" type="xml">
+ <form string="Email message">
+ <sheet>
+ <group>
+ <group string='Description'>
+ <field name="name"/>
+ <field name="sequence"/>
+ <field name="res_model"/>
+ <field name="description"/>
+ <field name="default"/>
+ <field name="hidden"/>
+ </group>
+ <group string='Auto subscription'>
+ <field name="parent_id"/>
+ <field name="relation_field"/>
+ </group>
+ </group>
+ </sheet>
+ </form>
+ </field>
+ </record>
+
+ <record model="ir.actions.act_window" id="action_view_message_subtype">
+ <field name="name">Subtypes</field>
+ <field name="res_model">mail.message.subtype</field>
+ <field name="view_type">form</field>
+ <field name="view_mode">tree,form</field>
+ </record>
+ <menuitem name="Subtypes" id="menu_message_subtype" parent="base.menu_email" action="action_view_message_subtype"/>
+
+ </data>
+</openerp>
diff --git a/addons/mail/views/mail_message_views.xml b/addons/mail/views/mail_message_views.xml
new file mode 100644
index 00000000000..ec19d622553
--- /dev/null
+++ b/addons/mail/views/mail_message_views.xml
@@ -0,0 +1,132 @@
+<?xml version="1.0"?>
+<openerp>
+ <data>
+ <!-- mail.message tree: short view !-->
+ <record model="ir.ui.view" id="view_message_tree">
+ <field name="name">mail.message.tree</field>
+ <field name="model">mail.message</field>
+ <field name="priority">20</field>
+ <field name="arch" type="xml">
+ <tree string="Messages">
+ <field name="date"/>
+ <field name="subject"/>
+ <field name="author_id"/>
+ <field name="model"/>
+ <field name="res_id"/>
+ </tree>
+ </field>
+ </record>
+
+ <!-- mail.message form: short view !-->
+ <record model="ir.ui.view" id="view_message_form">
+ <field name="name">mail.message.form</field>
+ <field name="model">mail.message</field>
+ <field name="priority">20</field>
+ <field name="arch" type="xml">
+ <form string="Message">
+ <sheet>
+ <group>
+ <group>
+ <field name="subject"/>
+ <field name="author_id"/>
+ <field name="email_from"/>
+ <field name="reply_to"/>
+ <field name="date"/>
+ <field name="message_type"/>
+ </group>
+ <group>
+ <field name="model"/>
+ <field name="res_id"/>
+ <field name="parent_id"/>
+ <field name="partner_ids" widget="many2many_tags"/>
+ <field name="notified_partner_ids" widget="many2many_tags"/>
+ <field name="subtype_id"/>
+ </group>
+ </group>
+ <field name="body"/>
+ </sheet>
+ </form>
+ </field>
+ </record>
+
+ <!-- mail.message search: wall view !-->
+ <record model="ir.ui.view" id="view_message_search">
+ <field name="name">mail.message.search</field>
+ <field name="model">mail.message</field>
+ <field name="priority">25</field>
+ <field name="arch" type="xml">
+ <search string="Messages Search">
+ <field name="body" string="Content" filter_domain="['|', ('subject', 'ilike', self), ('body', 'ilike', self)]" />
+ <field name="subject"/>
+ <field name="message_type"/>
+ <field name="author_id"/>
+ <field name="partner_ids"/>
+ <field name="model"/>
+ <field name="res_id"/>
+ <field name="parent_id"/>
+ <filter string="To Read"
+ name="message_unread" help="Show messages to read"
+ domain="[('to_read', '=', True)]"/>
+ <separator/>
+ <filter string="Has attachments"
+ name="attachments"
+ domain="[('attachment_ids', '!=', False)]"/>
+ <group expand="0" string="Group By">
+ <filter string="Type" name="thread" domain="[]" context="{'group_by':'message_type'}"/>
+ </group>
+ </search>
+ </field>
+ </record>
+
+ <record id="action_view_mail_message" model="ir.actions.act_window">
+ <field name="name">Messages</field>
+ <field name="res_model">mail.message</field>
+ <field name="view_type">form</field>
+ <field name="view_mode">tree,form</field>
+ <field name="search_view_id" ref="view_message_search"/>
+ </record>
+
+ <!-- Add menu entry in Settings/Email -->
+ <menuitem name="Messages" id="menu_mail_message" parent="base.menu_email" action="action_view_mail_message"/>
+
+ <record model="ir.ui.view" id="view_document_file_kanban">
+ <field name="name">ir.attachment kanban</field>
+ <field name="model">ir.attachment</field>
+ <field name="arch" type="xml">
+ <kanban>
+ <field name="file_type_icon"/>
+ <field name="url"/>
+ <field name="name"/>
+ <templates>
+ <t t-name="kanban-box">
+ <div class="oe_kanban_global_click">
+ <div class="oe_kanban_vignette">
+ <div class="oe_attachment">
+ <div t-if="record.file_type_icon.value != 'webimage'">
+ <img t-att-src="'/mail/static/src/img/mimetypes/' + record.file_type_icon.value + '.png'"></img>
+ </div>
+ <div t-if="record.file_type_icon.value == 'webimage' and !record.url.value">
+ <img t-att-src="kanban_image('ir.attachment', 'datas', record.id.value)"/>
+ </div>
+ <div t-if="record.file_type_icon.value and record.url.value">
+ <img t-att-src="record.url.value"/>
+ </div>
+ <div class="oe_name">
+ <field name="name"/>
+ </div>
+ </div>
+ </div>
+ </div>
+ </t>
+ </templates>
+ </kanban>
+ </field>
+ </record>
+ <record id="base.action_attachment" model="ir.actions.act_window">
+ <field name="view_mode">kanban,tree,form</field>
+ </record>
+
+
+
+ </data>
+</openerp>
diff --git a/addons/mail/views/email_template_view.xml b/addons/mail/views/mail_template_views.xml
index 4eada82f810..4eada82f810 100644
--- a/addons/mail/views/email_template_view.xml
+++ b/addons/mail/views/mail_template_views.xml
diff --git a/addons/mail/views/mail.xml b/addons/mail/views/mail_templates.xml
index a8ddba4c93a..a8ddba4c93a 100644
--- a/addons/mail/views/mail.xml
+++ b/addons/mail/views/mail_templates.xml
diff --git a/addons/mail/views/mail_thread_views.xml b/addons/mail/views/mail_thread_views.xml
new file mode 100644
index 00000000000..f4a3e3815d6
--- /dev/null
+++ b/addons/mail/views/mail_thread_views.xml
@@ -0,0 +1,168 @@
+<?xml version="1.0"?>
+<openerp>
+ <data>
+ <record id="action_mail_inbox_feeds" model="ir.actions.client">
+ <field name="name">Inbox</field>
+ <field name="tag">mail.wall</field>
+ <field name="res_model">mail.message</field>
+ <field name="context">{
+ 'default_model': 'res.users',
+ 'default_res_id': uid,
+ 'thread_model': 'res.partner',
+ 'needaction_menu_ref': ['mail.mail_tomefeeds', 'mail.mail_starfeeds']
+ }</field>
+ <field name="params" eval="&quot;{
+ 'domain': [
+ ('to_read', '=', True),
+ ('starred', '=', False),
+ ],
+ 'view_mailbox': True,
+ 'view_inbox': True,
+ 'read_action': 'read',
+ 'show_compose_message': False
+ }&quot;"/>
+ <field name="help" type="html">
+ <p>
+ <b>Good Job!</b> Your inbox is empty.
+ </p><p>
+ Your inbox contains private messages or emails sent to you
+ as well as information related to documents or people you
+ follow.
+ </p>
+ </field>
+ </record>
+
+ <record id="action_mail_to_me_feeds" model="ir.actions.client">
+ <field name="name">To: me</field>
+ <field name="tag">mail.wall</field>
+ <field name="res_model">mail.message</field>
+ <field name="context">{
+ 'default_model': 'res.users',
+ 'default_res_id': uid,
+ 'thread_model': 'res.partner',
+ 'search_default_message_unread': True,
+ 'needaction_menu_ref': ['mail.mail_starfeeds', 'mail.mail_inboxfeeds']
+ }</field>
+ <field name="params" eval="&quot;{
+ 'domain': [
+ ('partner_ids.user_ids', 'in', [uid])
+ ],
+ 'view_mailbox': True,
+ 'read_action': 'read',
+ 'show_compose_message': False
+ }&quot;"/>
+ <field name="help" type="html">
+ <p>
+ <b>No private message.</b>
+ </p><p>
+ This list contains messages sent to you.
+ </p>
+ </field>
+ </record>
+
+ <record id="action_mail_star_feeds" model="ir.actions.client">
+ <field name="name">To-do</field>
+ <field name="tag">mail.wall</field>
+ <field name="res_model">mail.message</field>
+ <field name="context">{
+ 'default_model': 'res.users',
+ 'default_res_id': uid,
+ 'thread_model': 'res.partner',
+ 'search_default_message_unread': True
+ }</field>
+ <field name="params" eval="&quot;{
+ 'domain': [
+ ('starred', '=', True),
+ ],
+ 'view_mailbox': True,
+ 'read_action': 'read',
+ 'compose_as_todo': True,
+ 'show_compose_message': False
+ }&quot;"/>
+ <field name="help" type="html">
+ <p>
+ <b>No todo.</b>
+ </p><p>
+ When you process messages in your inbox, you can mark some
+ as <i>todo</i>. From this menu, you can process all your todo.
+ </p>
+ </field>
+ </record>
+
+ <record id="action_mail_archives_feeds" model="ir.actions.client">
+ <field name="name">Archives</field>
+ <field name="tag">mail.wall</field>
+ <field name="context">{
+ 'default_model': 'res.users',
+ 'default_res_id': uid,
+ 'thread_model': 'res.partner',
+ 'needaction_menu_ref': ['mail.mail_tomefeeds', 'mail.mail_starfeeds', 'mail.mail_inboxfeeds']
+ }</field>
+ <field name="params" eval="&quot;{
+ 'domain': [
+ '|',
+ ('notification_ids.partner_id.user_ids', 'in', [uid]),
+ ('author_id.user_ids', 'in', [uid]),
+ ],
+ 'view_mailbox': True,
+ 'show_compose_message': False
+ }&quot;"/>
+ <field name="help" type="html">
+ <p>
+ No message found and no message sent yet.
+ </p><p>
+ Click on the top-right icon to compose a message. This
+ message will be sent by email if it's an internal contact.
+ </p>
+ </field>
+ </record>
+
+ <record id="action_mail_redirect" model="ir.actions.server">
+ <field name="name">Mail Redirection (Document / Inbox)</field>
+ <field name="condition">True</field>
+ <field name="model_id" ref="model_mail_thread"/>
+ <field name="code">action = pool.get('mail.thread').message_redirect_action(cr, uid, context)</field>
+ <field name="state">code</field>
+ <field name="type">ir.actions.server</field>
+ </record>
+
+ <!-- MENU -->
+
+ <!-- Top menu item -->
+ <menuitem name="Chat"
+ id="mail.mail_feeds_main"
+ groups="base.group_user"
+ icon="fa-envelope"
+ sequence="1"/>
+
+ <!-- Left-side menu: Feeds -->
+ <menuitem id="mail.mail_inbox" name="Inbox" parent="mail.mail_feeds_main" groups="base.group_user" sequence="1" action="action_mail_inbox_feeds"/>
+
+<!-- <record id="mail_inboxfeeds" model="ir.ui.menu">
+ <field name="name">Inbox</field>
+ <field name="sequence" eval="10"/>
+ <field name="action" ref="action_mail_inbox_feeds"/>
+ <field name="parent_id" ref="mail.mail_inbox"/>
+ </record>
+ -->
+ <!-- <record id="mail_tomefeeds" model="ir.ui.menu">
+ <field name="name">To: me</field>
+ <field name="sequence" eval="11"/>
+ <field name="action" ref="action_mail_to_me_feeds"/>
+ <field name="parent_id" ref="mail.mail_feeds"/>
+ </record>
+ <record id="mail_starfeeds" model="ir.ui.menu">
+ <field name="name">To-do</field>
+ <field name="sequence" eval="14"/>
+ <field name="action" ref="action_mail_star_feeds"/>
+ <field name="parent_id" ref="mail.mail_feeds"/>
+ </record>
+ <record id="mail_archivesfeeds" model="ir.ui.menu">
+ <field name="name">Archives</field>
+ <field name="sequence" eval="16"/>
+ <field name="action" ref="action_mail_archives_feeds"/>
+ <field name="parent_id" ref="mail.mail_feeds"/>
+ </record>
+ -->
+ </data>
+</openerp>
diff --git a/addons/mail/views/res_config_views.xml b/addons/mail/views/res_config_views.xml
new file mode 100644
index 00000000000..441f42b5a43
--- /dev/null
+++ b/addons/mail/views/res_config_views.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+ <data>
+ <record id="view_general_configuration_mail_alias_domain" model="ir.ui.view">
+ <field name="name">base.config.settings.mail.alias</field>
+ <field name="model">base.config.settings</field>
+ <field name="inherit_id" ref="base_setup.view_general_configuration"/>
+ <field name="arch" type="xml">
+ <xpath expr="//button[@string='Configure outgoing email servers']" position='after'>
+ <button class="oe_inline oe_link" style="display: inline-block;" name= "%(action_view_mail_mail)d" type="action"
+ context="{'search_default_exception': 1, 'search_default_outgoing': 0}"
+ attrs="{'invisible': [('fail_counter','=',0)]}">
+ <span> -- </span>
+ <i class="fa fa-exclamation-triangle"></i> <field class="oe_inline" name="fail_counter"/>
+ <span>failed emails</span>
+ </button>
+ </xpath>
+ <xpath expr="//div[@name='email']" position='inside'>
+ <div>
+ <label for="alias_domain" class="oe_inline"/>
+ <field name="alias_domain" placeholder="mycompany.odoo.com" class="oe_inline"/>
+ </div>
+ </xpath>
+ </field>
+ </record>
+ </data>
+</openerp>
diff --git a/addons/mail/views/res_partner_view.xml b/addons/mail/views/res_partner_views.xml
index 97942b5561a..97942b5561a 100644
--- a/addons/mail/views/res_partner_view.xml
+++ b/addons/mail/views/res_partner_views.xml
diff --git a/addons/mail/views/res_users_views.xml b/addons/mail/views/res_users_views.xml
new file mode 100644
index 00000000000..7bbe369c4d7
--- /dev/null
+++ b/addons/mail/views/res_users_views.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0"?>
+<openerp>
+ <data>
+
+ <!-- Update Preferences form !-->
+ <record id="view_users_form_simple_modif_mail" model="ir.ui.view">
+ <field name="name">res.users.preferences.form.mail</field>
+ <field name="model">res.users</field>
+ <field name="inherit_id" ref="base.view_users_form_simple_modif"/>
+ <field name="arch" type="xml">
+ <data>
+ <field name="email" position="before">
+ <field name="notify_email" widget="radio" readonly="0"/>
+ </field>
+ </data>
+ </field>
+ </record>
+
+ <!-- Force update of groups' user view.
+ When updating (not new install), as `share` module is not loaded yet, shared groups
+ are taken into account when getting the group list, resulting to a different
+ organisation of the `Sharing` category (booleans instead of a selection) and thus,
+ different virtual field names.
+ When applying then inheritance of the following view, the check of field names
+ failed due to these virtual field name missmatch.
+ This is only for databases updated between a6eac0f08ee9100d1a44a4068d4f580b1c7c4b2c
+ and the commit introducing this line.
+ -->
+ <function model="res.groups" name="update_user_groups_view" />
+
+ <!-- Update user form !-->
+ <record id="view_users_form_mail" model="ir.ui.view">
+ <field name="name">res.users.form.mail</field>
+ <field name="model">res.users</field>
+ <field name="inherit_id" ref="base.view_users_form"/>
+ <field name="arch" type="xml">
+ <data>
+ <field name="signature" position="before">
+ <field name="notify_email" widget="radio"/>
+ </field>
+ <field name="signature" position="before">
+ <label for="alias_id" string="Messaging Alias" class="oe_read_only"
+ attrs="{'invisible': [('alias_domain', '=', False)]}"/>
+ <field name="alias_id" class="oe_read_only" required="0" nolabel="1"
+ attrs="{'invisible': [('alias_domain', '=', False)]}"/>
+ <label for="alias_name" string="Messaging Alias" class="oe_edit_only"
+ attrs="{'invisible': [('alias_domain', '=', False)]}"/>
+ <div class="oe_edit_only" attrs="{'invisible': [('alias_domain', '=', False)]}">
+ <field name="alias_name" class="oe_inline"/>@<field name="alias_domain" class="oe_inline" readonly="1"/>
+ </div>
+ <field name="alias_contact" string="Alias Accepts Emails From"
+ attrs="{'invisible': [('alias_domain', '=', False)]}"/>
+ <field name="display_groups_suggestions" groups="base.group_no_one"/>
+ </field>
+ </data>
+ </field>
+ </record>
+
+ </data>
+</openerp>