def send(self, instances): messages = [] for instance in instances: dests = set() if self.destinataire in ('Organisateur', 'Tous'): dests.add(self.course.email_contact) if self.destinataire in ('Equipe', 'Tous') and isinstance(instance, Equipe): dests.add(instance.gerant_email) if self.destinataire in ('Equipiers', 'Tous'): if isinstance(instance, Equipier): dests.add(instance.email) if isinstance(instance, Equipe): for equipier in instance.equipier_set.all(): dests.add(equipier.email) context = Context({ "instance": instance, 'PAYPAL_URL': PAYPAL_URL, 'ROOT_URL': ROOT_URL, }) subject = Template(self.sujet).render(context) message = Template(self.message).render(context) bcc = [] if self.bcc: bcc = re.split('[,; ]+', self.bcc) for dest in dests: if settings.DEBUG: dest = '*****@*****.**' message = EmailMessage(subject, message, self.course.email_contact, [ dest ], bcc) message.content_subtype = "html" messages.append(message) MailThread(messages).start()
def send(self, instances): messages = [] if isinstance(instances, list): prefetch_related_objects(instances, ('equipier_set', )) elif hasattr(instances, 'prefetch_related'): instances.prefetch_related('equipiers') for instance in instances: dests = set() if self.destinataire in ('Organisateur', 'Tous'): dests.add(self.course.email_contact) if self.destinataire in ('Equipe', 'Tous') and isinstance(instance, Equipe): dests.add(instance.gerant_email) if self.destinataire in ('Equipiers', 'Tous'): if isinstance(instance, Equipier): dests.add(instance.email) if isinstance(instance, Equipe): for equipier in instance.equipier_set.filter(numero__lte=F('equipe__nombre')): dests.add(equipier.email) context = Context({ "instance": instance, 'ROOT_URL': 'http://%s' % Site.objects.get_current(), }) subject = Template(self.sujet).render(context) message = Template(self.message).render(context) bcc = [] if self.bcc: bcc = re.split('[,; ]+', self.bcc) for dest in dests: message = EmailMessage(subject, message, settings.DEFAULT_FROM_EMAIL, [ dest ], bcc, reply_to=[self.course.email_contact,]) message.content_subtype = "html" messages.append(message) MailThread(messages).start()