Some models would like to use the 'mail.alias.mixin' but it creates an alias for each record in the parent model. This leads to a lot of unused aliases if only a subset of those records really use aliases i.e. a lot of aliases with 'alias_name' being 'False'. In this commit we introduce a new mixin 'mail.alias.mixin.optional' that behaves like the old 'mail.alias.mixin' but without having the 'alias_id' field required i.e. without the "inherits". When creating a record without giving an 'alias_name' no alias is created. In future commit, we plan to use it notably to remove custom code in account journal model and make it more standard. Using it in more models will be done later, but it is a candidate to cleanup unused aliases related to discuss channel model. Task-3453343 (Mail: Cleanup Alias Usage) Prepares Task-36879 (Mail: Support MultiCompany Aliases) Part-of: odoo/odoo#130632
66 lines
1.8 KiB
Python
66 lines
1.8 KiB
Python
# -*- coding: utf-8 -*-
|
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
|
|
# core models (required for mixins)
|
|
from . import mail_alias
|
|
from . import models
|
|
|
|
# mixin
|
|
from . import mail_activity_mixin
|
|
from . import mail_alias_mixin_optional
|
|
from . import mail_alias_mixin
|
|
from . import mail_render_mixin
|
|
from . import mail_composer_mixin
|
|
from . import mail_thread
|
|
from . import mail_thread_blacklist
|
|
from . import mail_thread_cc
|
|
from . import mail_thread_main_attachment
|
|
from . import mail_tracking_duration_mixin
|
|
from . import template_reset_mixin
|
|
|
|
# mail models
|
|
from . import fetchmail
|
|
from . import mail_notification # keep before as decorated m2m
|
|
from . import mail_activity_type
|
|
from . import mail_activity
|
|
from . import mail_blacklist
|
|
from . import mail_followers
|
|
from . import mail_gateway_allowed
|
|
from . import mail_link_preview
|
|
from . import mail_message_reaction
|
|
from . import mail_message_schedule
|
|
from . import mail_message_subtype
|
|
from . import mail_message
|
|
from . import mail_mail
|
|
from . import mail_tracking_value
|
|
from . import mail_template
|
|
|
|
# discuss
|
|
from . import mail_ice_server
|
|
from . import mail_shortcode
|
|
from . import res_users_settings
|
|
from . import res_users_settings_volumes
|
|
|
|
# odoo models
|
|
from . import bus_presence
|
|
from . import ir_action_act_window
|
|
from . import ir_actions_server
|
|
from . import ir_attachment
|
|
from . import ir_config_parameter
|
|
from . import ir_http
|
|
from . import ir_mail_server
|
|
from . import ir_model
|
|
from . import ir_model_fields
|
|
from . import ir_ui_view
|
|
from . import ir_qweb
|
|
from . import res_company
|
|
from . import res_config_settings
|
|
from . import res_users
|
|
from . import update
|
|
|
|
# after mail specifically as discuss module depends on mail
|
|
from . import discuss
|
|
|
|
# discuss_channel_member must be loaded first
|
|
from . import res_partner
|