The goal of this task is to review the copywriting of the tooltips because some of them are not correct in English and others are not valid anymore. This is also a good opportunity to make an inventory of the tooltips we have and to add some that could be missing. task-2860991 closes odoo/odoo#102179 X-original-commit: 5e4cf8f9f6a4372f45aa04a5965f8073bb4ea68a Related: odoo/enterprise#32298 Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com> Co-authored-by: Mahendra Barad <mba@odoo.com>, Prakash Prajapati <ppr@odoo.com>
51 lines
2.0 KiB
Python
51 lines
2.0 KiB
Python
# -*- coding: utf-8 -*-
|
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
|
|
from odoo import _, api, fields, models, tools
|
|
|
|
|
|
class MailCCMixin(models.AbstractModel):
|
|
_name = 'mail.thread.cc'
|
|
_inherit = 'mail.thread'
|
|
_description = 'Email CC management'
|
|
|
|
email_cc = fields.Char('Email cc')
|
|
|
|
def _mail_cc_sanitized_raw_dict(self, cc_string):
|
|
'''return a dict of sanitize_email:raw_email from a string of cc'''
|
|
if not cc_string:
|
|
return {}
|
|
return {tools.email_normalize(email): tools.formataddr((name, tools.email_normalize(email)))
|
|
for (name, email) in tools.email_split_tuples(cc_string)}
|
|
|
|
@api.model
|
|
def message_new(self, msg_dict, custom_values=None):
|
|
if custom_values is None:
|
|
custom_values = {}
|
|
cc_values = {
|
|
'email_cc': ", ".join(self._mail_cc_sanitized_raw_dict(msg_dict.get('cc')).values()),
|
|
}
|
|
cc_values.update(custom_values)
|
|
return super(MailCCMixin, self).message_new(msg_dict, cc_values)
|
|
|
|
def message_update(self, msg_dict, update_vals=None):
|
|
'''Adds cc email to self.email_cc while trying to keep email as raw as possible but unique'''
|
|
if update_vals is None:
|
|
update_vals = {}
|
|
cc_values = {}
|
|
new_cc = self._mail_cc_sanitized_raw_dict(msg_dict.get('cc'))
|
|
if new_cc:
|
|
old_cc = self._mail_cc_sanitized_raw_dict(self.email_cc)
|
|
new_cc.update(old_cc)
|
|
cc_values['email_cc'] = ", ".join(new_cc.values())
|
|
cc_values.update(update_vals)
|
|
return super(MailCCMixin, self).message_update(msg_dict, cc_values)
|
|
|
|
def _message_get_suggested_recipients(self):
|
|
recipients = super(MailCCMixin, self)._message_get_suggested_recipients()
|
|
for record in self:
|
|
if record.email_cc:
|
|
for email in tools.email_split_and_format(record.email_cc):
|
|
record._message_add_suggested_recipient(recipients, email=email, reason=_('CC Email'))
|
|
return recipients
|