Files
odoo_source/addons/mail/views/mail_menus.xml
T
Thibault Delavallée 1b16757d28 [IMP] mail: add 'mail.alias.domain' model to store alias domains
PURPOSE

Allow alias domains to be multiple, notably to be used in a multi company
environment where each company has its own alias domain.

SPECIFICATIONS

Add a new 'mail.alias.domain' model storing information previously stored
as a unique value in 'mail.catchall.domain' configuration parameter. Domains
are not completely linked to companies, allowing to have a mono-domain MC
setup, or mono-company multi-domain setup.

A main email domain is present on companies for all default domain computation
when being in that company while keeping flexibility of having other domains
defined.

Now that a new 'mail.alias.domain' model exists we move bounce and catchall
aliases definition directly on this model. Update related computation on
company model. Default_from is also moved on this model, allowing an higher
level default from computation for mail servers when having knowledge of
alias domain environment. Filtering configuration based on default_from_filter
is kept as an ICP as it is mainly used for odoo-bin with smtp-host.

Usage of 'mail.catchall.domain' will soon be completely removed to be replaced
by proposed company-based email alias domain usage.

Constraints are added so that each bounce and catchall defined on domains
do not clash with existing aliases. Sanitize of bounce and catchall is also
performed to ensure they make valid emails. This matches previous behavior
of ICP parameters. Domain name is also sanitized like alias names.

Currently only base modeling and computation is done. Their usage is about to
be gradually added in mail stack.

LINKS

Task-36879 (Mail: Support Multi Domains Aliases)

Part-of: odoo/odoo#76734
2023-10-24 19:24:50 +00:00

169 lines
5.4 KiB
XML

<?xml version="1.0"?>
<odoo><data>
<menuitem name="Discuss"
id="mail.menu_root_discuss"
action="action_discuss"
web_icon="mail,static/description/icon.png"
groups="base.group_user"
sequence="5"
/>
<record id="base.menu_email" model="ir.ui.menu">
<field name="sequence">3</field>
</record>
<!-- Under Technical/Email -->
<menuitem name="Emails"
id="menu_mail_mail"
parent="base.menu_email"
action="action_view_mail_mail"
sequence="1"/>
<menuitem id="mail_alias_menu"
parent="base.menu_email"
action="mail_alias_action"
sequence="11"
groups="base.group_no_one"/>
<menuitem id="mail_alias_domain_menu"
parent="base.menu_email"
action="mail_alias_domain_action"
sequence="12"
groups="base.group_no_one"/>
<menuitem name="Incoming Mail Servers"
id="menu_action_fetchmail_server_tree"
parent="base.menu_email"
action="action_email_server_tree"
sequence="6"
groups="base.group_no_one"/>
<menuitem id="menu_email_templates"
parent="base.menu_email"
action="action_email_template_tree_all"
sequence="10"/>
<menuitem id="mail.discuss_channel_menu_settings"
name="Channels"
parent="base.menu_email"
action="mail.discuss_channel_action_view"
sequence="20"
groups="base.group_no_one"/>
<menuitem name="Channels/Members"
id="mail.discuss_channel_member_menu"
parent="base.menu_email"
action="mail.discuss_channel_member_action"
sequence="21"
groups="base.group_no_one"/>
<menuitem id="mail_gateway_allowed_menu"
parent="base.menu_email"
action="mail_gateway_allowed_action"
sequence="22"
groups="base.group_no_one"/>
<!-- Under Technical/Discuss -->
<menuitem name="Discuss"
id="mail_menu_technical"
parent="base.menu_custom"
sequence="1"/>
<menuitem name="Messages"
id="menu_mail_message"
parent="mail.mail_menu_technical"
action="action_view_mail_message"
sequence="1"/>
<menuitem name="Scheduled Messages"
id="mail_message_schedule_menu"
parent="mail.mail_menu_technical"
action="mail_message_schedule_action"
sequence="2"/>
<menuitem name="Subtypes"
id="menu_message_subtype"
parent="mail.mail_menu_technical"
action="action_view_message_subtype"
sequence="4"/>
<menuitem name="Tracking Values"
id="menu_mail_tracking_value"
parent="mail.mail_menu_technical"
action="action_view_mail_tracking_value"
sequence="5"/>
<menuitem
id="menu_mail_activity_type"
action="mail_activity_type_action"
parent="mail.mail_menu_technical"
sequence="10"
/>
<menuitem
id="menu_mail_activities"
action="mail_activity_action"
parent="mail.mail_menu_technical"
sequence="11"
/>
<menuitem
id="menu_mail_activity_plan"
action="mail_activity_plan_action"
parent="mail.mail_menu_technical"
sequence="12"/>
<menuitem name="Notifications"
id="mail_notification_menu"
parent="mail.mail_menu_technical"
action="mail_notification_action"
sequence="20"
groups="base.group_no_one"/>
<menuitem name="Followers"
id="menu_email_followers"
parent="mail.mail_menu_technical"
action="action_view_followers"
sequence="21"
groups="base.group_no_one"/>
<menuitem id="mail_blacklist_menu"
name="Email Blacklist"
action="mail_blacklist_action"
parent="mail.mail_menu_technical"
sequence="22"/>
<menuitem id="res_users_settings_menu"
name="User Settings"
action="res_users_settings_action"
parent="mail.mail_menu_technical"
sequence="50"/>
<menuitem id="mail_guest_menu"
name="Guests"
action="mail_guest_action"
parent="mail.mail_menu_technical"
sequence="51"/>
<menuitem id="mail.discuss_channel_rtc_session_menu"
name="RTC sessions"
action="mail.discuss_channel_rtc_session_action"
parent="mail.mail_menu_technical"
sequence="52"/>
<menuitem id="mail.ice_servers_menu"
name="ICE servers"
action="action_ice_servers"
parent="mail.mail_menu_technical"
sequence="53"/>
<menuitem id="mail_message_reaction_menu"
name="Message Reactions"
action="mail_message_reaction_action"
parent="mail.mail_menu_technical"
sequence="54"/>
<menuitem id="mail_link_preview_menu"
name="Link Previews"
action="mail_link_preview_action"
parent="mail.mail_menu_technical"
sequence="55"/>
<menuitem id="discuss_gif_favorite_menu"
name="GIF favorite"
action="discuss_gif_favorite_action"
parent="mail.mail_menu_technical"
sequence="56"/>
<!--
This menuitem will be activated by integrations modules (like github, twitter, ...). It
is a hook to ease other modules to plug into mail.
-->
<record id="mail.discuss_channel_integrations_menu" model="ir.ui.menu">
<field name="name">Integrations</field>
<field name="parent_id" ref="mail.menu_root_discuss"></field>
<field name="active" eval="False"></field>
</record>
</data></odoo>