diff options
| author | Thibault Delavallée <tde@openerp.com> | 2015-04-27 11:49:02 +0200 |
|---|---|---|
| committer | Thibault Delavallée <tde@openerp.com> | 2015-04-27 12:52:45 +0200 |
| commit | 4a975f1b7d719ebbf17e0d4194cf3fcc56e2f56f (patch) | |
| tree | 96a29b7f19adabe5f371b023116da887bb0ace03 /addons/mail/views | |
| parent | 4b122ad41d873febe288ab1f8c6cdc078ca2a479 (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.xml | 50 | ||||
| -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.xml | 87 | ||||
| -rw-r--r-- | addons/mail/views/mail_followers_views.xml | 76 | ||||
| -rw-r--r-- | addons/mail/views/mail_group_views.xml | 163 | ||||
| -rw-r--r-- | addons/mail/views/mail_mail_views.xml | 129 | ||||
| -rw-r--r-- | addons/mail/views/mail_message_subtype_views.xml | 53 | ||||
| -rw-r--r-- | addons/mail/views/mail_message_views.xml | 132 | ||||
| -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.xml | 168 | ||||
| -rw-r--r-- | addons/mail/views/res_config_views.xml | 27 | ||||
| -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.xml | 60 |
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','<>','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','<>','public')]}"> + This group is visible by everyone, + including your customers if you installed + the portal module. + </div> + <div class="oe_grey" attrs="{'invisible': [('public','<>','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=""{ + 'domain': [ + ('to_read', '=', True), + ('starred', '=', False), + ], + 'view_mailbox': True, + 'view_inbox': True, + 'read_action': 'read', + 'show_compose_message': False + }""/> + <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=""{ + 'domain': [ + ('partner_ids.user_ids', 'in', [uid]) + ], + 'view_mailbox': True, + 'read_action': 'read', + 'show_compose_message': False + }""/> + <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=""{ + 'domain': [ + ('starred', '=', True), + ], + 'view_mailbox': True, + 'read_action': 'read', + 'compose_as_todo': True, + 'show_compose_message': False + }""/> + <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=""{ + 'domain': [ + '|', + ('notification_ids.partner_id.user_ids', 'in', [uid]), + ('author_id.user_ids', 'in', [uid]), + ], + 'view_mailbox': True, + 'show_compose_message': False + }""/> + <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> |
