[FIX] mail: harmonize computed field
Avoid accessing inconsistent data based on the user closes odoo/odoo#157098 Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
This commit is contained in:
@@ -31,7 +31,7 @@ class MailComposerMixin(models.AbstractModel):
|
||||
)
|
||||
template_id = fields.Many2one('mail.template', 'Mail Template', domain="[('model', '=', render_model)]")
|
||||
# Language: override mail.render.mixin field, copy template value
|
||||
lang = fields.Char(compute='_compute_lang', precompute=True, readonly=False, store=True)
|
||||
lang = fields.Char(compute='_compute_lang', precompute=True, readonly=False, store=True, compute_sudo=False)
|
||||
# Access
|
||||
is_mail_template_editor = fields.Boolean('Is Editor', compute='_compute_is_mail_template_editor')
|
||||
can_edit_body = fields.Boolean('Can Edit Body', compute='_compute_can_edit_body')
|
||||
|
||||
@@ -95,17 +95,17 @@ class MailComposer(models.TransientModel):
|
||||
email_layout_xmlid = fields.Char(
|
||||
'Email Notification Layout',
|
||||
compute='_compute_email_layout_xmlid', readonly=False, store=True,
|
||||
copy=False)
|
||||
copy=False, compute_sudo=False)
|
||||
email_add_signature = fields.Boolean(
|
||||
'Add signature',
|
||||
compute='_compute_email_add_signature', readonly=False, store=True)
|
||||
# origin
|
||||
email_from = fields.Char(
|
||||
'From', compute='_compute_authorship', readonly=False, store=True,
|
||||
'From', compute='_compute_authorship', readonly=False, store=True, compute_sudo=False,
|
||||
help="Email address of the sender. This field is set when no matching partner is found and replaces the author_id field in the chatter.")
|
||||
author_id = fields.Many2one(
|
||||
'res.partner', string='Author',
|
||||
compute='_compute_authorship', readonly=False, store=True,
|
||||
compute='_compute_authorship', readonly=False, store=True, compute_sudo=False,
|
||||
help="Author of the message. If not set, email_from may hold an email address that did not match any partner.")
|
||||
# composition
|
||||
composition_mode = fields.Selection(
|
||||
@@ -145,7 +145,7 @@ class MailComposer(models.TransientModel):
|
||||
mail_activity_type_id = fields.Many2one('mail.activity.type', 'Mail Activity Type', ondelete='set null')
|
||||
# destination
|
||||
reply_to = fields.Char(
|
||||
'Reply To', compute='_compute_reply_to', readonly=False, store=True,
|
||||
'Reply To', compute='_compute_reply_to', readonly=False, store=True, compute_sudo=False,
|
||||
help='Reply email address. Setting the reply_to bypasses the automatic thread creation.')
|
||||
reply_to_force_new = fields.Boolean(
|
||||
string='Considers answers as new thread',
|
||||
@@ -164,7 +164,7 @@ class MailComposer(models.TransientModel):
|
||||
# sending
|
||||
auto_delete = fields.Boolean(
|
||||
'Delete Emails',
|
||||
compute="_compute_auto_delete", readonly=False, store=True,
|
||||
compute="_compute_auto_delete", readonly=False, store=True, compute_sudo=False,
|
||||
help='This option permanently removes any track of email after it\'s been sent, including from the Technical menu in the Settings, in order to preserve storage space of your Odoo database.')
|
||||
auto_delete_keep_log = fields.Boolean(
|
||||
'Keep Message Copy',
|
||||
@@ -175,10 +175,10 @@ class MailComposer(models.TransientModel):
|
||||
compute='_compute_force_send', readonly=False, store=True)
|
||||
mail_server_id = fields.Many2one(
|
||||
'ir.mail_server', string='Outgoing mail server',
|
||||
compute='_compute_mail_server_id', readonly=False, store=True)
|
||||
compute='_compute_mail_server_id', readonly=False, store=True, compute_sudo=False)
|
||||
scheduled_date = fields.Char(
|
||||
'Scheduled Date',
|
||||
compute='_compute_scheduled_date', readonly=False, store=True,
|
||||
compute='_compute_scheduled_date', readonly=False, store=True, compute_sudo=False,
|
||||
help="In comment mode: if set, postpone notifications sending. "
|
||||
"In mass mail mode: if sent, send emails after that date. "
|
||||
"This date is considered as being in UTC timezone.")
|
||||
|
||||
Reference in New Issue
Block a user