You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
1.0 KiB
30 lines
1.0 KiB
# Copyright 2015 Grupo ESOC Ingeniería de Servicios, S.L.U. - Jairo Llopis
|
|
# Copyright 2016 Tecnativa - Vicent Cubells
|
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
|
|
|
|
|
from odoo import models, api, _, tools
|
|
from odoo.exceptions import ValidationError
|
|
|
|
|
|
class MailMassMailingContact(models.Model):
|
|
_inherit = "mail.mass_mailing.contact"
|
|
|
|
@api.constrains('email', 'list_ids')
|
|
def _check_email_list_ids(self):
|
|
for contact in self:
|
|
other_contact = self.search([
|
|
('email', '=ilike', tools.escape_psql(contact.email)),
|
|
('id', '!=', contact.id)
|
|
])
|
|
if contact.list_ids & other_contact.mapped('list_ids'):
|
|
raise ValidationError(_("Cannot have the same email more "
|
|
"than once in the same list"))
|
|
|
|
|
|
class MailMassMailingList(models.Model):
|
|
_inherit = "mail.mass_mailing.list"
|
|
_sql_constraints = [
|
|
("unique_name", "UNIQUE(name)",
|
|
"Cannot have more than one lists with the same name.")
|
|
]
|