Browse Source

Avoid duplicate error.

By indicating the exact `partner_id` and ensuring no contacts associated to it are found, you avoid possible duplication errors when several partners share the same name or email.
pull/171/head
Jairo Llopis 8 years ago
committed by David Vidal
parent
commit
1e3f2f2e31
  1. 9
      mass_mailing_partner/wizard/partner_mail_list_wizard.py

9
mass_mailing_partner/wizard/partner_mail_list_wizard.py

@ -24,12 +24,17 @@ class PartnerMailListWizard(models.TransientModel):
for partner in self.partner_ids: for partner in self.partner_ids:
if not partner.email: if not partner.email:
raise UserError(_("Partner '%s' has no email.") % partner.name) raise UserError(_("Partner '%s' has no email.") % partner.name)
criteria = [('email', '=', partner.email),
('list_id', '=', self.mail_list_id.id)]
criteria = [
'|',
('email', '=', partner.email),
('partner_id', '=', partner.id),
('list_id', '=', self.mail_list_id.id),
]
contact_test = contact_obj.search(criteria) contact_test = contact_obj.search(criteria)
if contact_test: if contact_test:
continue continue
contact_vals = { contact_vals = {
'partner_id': partner.id,
'email': partner.email, 'email': partner.email,
'name': partner.name, 'name': partner.name,
'list_id': self.mail_list_id.id 'list_id': self.mail_list_id.id

Loading…
Cancel
Save