def _send_rejection_email(modeladmin, request, queryset, lang_code='', delete_application=False): # 1. send rejection email - this should be refactored to use djangos "bulk" # mail # # Info: Using mass rejection on many JobApplications can lead to a timeout, # since SMTPs are not known to be fast qs_count = len(queryset) for application in queryset: context = {'job_application': application, } send_mail(recipients=[application.email], context=context, template_base='aldryn_jobs/emails/rejection_letter', language=lang_code.lower()) # 2. update status or delete objects if not delete_application: queryset.update(is_rejected=True, rejection_date=now()) success_msg = _("Successfully sent {0} rejection email(s).").format( qs_count) else: queryset.delete() success_msg = _("Successfully deleted {0} application(s) and sent " "rejection email.").format(qs_count) # 3. inform user with success message modeladmin.message_user(request, success_msg) return
def send_notification_email(self, email, form): context = { 'form_name': form.instance.name, 'form_data': get_form_render_data(form) } send_mail( recipients=[email], context=context, template_base=self.email_template_base )
def send_notification_email(self, email, form, form_field_instance): context = { 'form_name': form.instance.name, 'form_data': form.get_serialized_field_choices(is_confirmation=True), 'body_text': form_field_instance.email_body, } send_mail(recipients=[email], context=context, subject=form_field_instance.email_subject, template_base=self.email_template_base)
def send_notification_email(self, form, form_plugin): recipients = self.people_notified.values_list('email', flat=True) context = { 'form_name': form_plugin.name, 'form_data': get_form_render_data(form) } send_mail( recipients=recipients, context=context, template_base='aldryn_forms/emails/notification' )
def send_notification_email(self, email, form, form_field_instance): context = { 'form_name': form.instance.name, 'form_data': form.get_serialized_field_choices(is_confirmation=True), 'body_text': form_field_instance.email_body, } send_mail( recipients=[email], context=context, subject=form_field_instance.email_subject, template_base=self.email_template_base )
def send_notifications(self, instance, form): users = instance.recipients.only('first_name', 'last_name', 'email') recipients = [user for user in users.exclude(email='') if is_valid_recipient(user.email)] context = { 'form_name': instance.name, 'form_data': form.get_serialized_field_choices(), 'form_plugin': instance, } send_mail( recipients=[user.email for user in recipients], context=context, template_base='aldryn_forms/emails/notification', language=instance.language, ) users_notified = [ (user.get_full_name(), user.email) for user in recipients] return users_notified
def send_notifications(self, instance, form): users = instance.recipients.exclude(email='') recipients = [user for user in users.iterator() if is_valid_recipient(user.email)] context = { 'form_name': instance.name, 'form_data': form.get_serialized_field_choices(), 'form_plugin': instance, } send_mail( recipients=[user.email for user in recipients], context=context, template_base='aldryn_forms/emails/notification', language=instance.language, ) users_notified = [ (get_user_name(user), user.email) for user in recipients] return users_notified
def send_staff_notifications(self): recipients = list(self.instance.job_opening.get_notification_emails()) if DEFAULT_SEND_TO: recipients += [DEFAULT_SEND_TO] app_label = self._meta.model._meta.app_label try: model_name = self._meta.model._meta.model_name except AttributeError: # Django < 1.9 model_name = self._meta.model._meta.module_name admin_change_form = reverse('admin:{}_{}_change'.format( app_label, model_name), args=(self.instance.pk, )) context = { 'job_application': self.instance, } # make admin change form url available if hasattr(self, 'request'): context['admin_change_form_url'] = self.request.build_absolute_uri( admin_change_form) kwargs = {} if SEND_ATTACHMENTS_WITH_EMAIL: attachments = self.instance.attachments.all() if attachments: kwargs['attachments'] = [] for attachment in attachments: attachment.file.seek(0) kwargs['attachments'].append(( os.path.split(attachment.file.name)[1], attachment.file.read(), )) send_mail(recipients=recipients, context=context, template_base='aldryn_jobs/emails/notification', **kwargs)
def send_staff_notifications(self): recipients = list(self.instance.job_opening.get_notification_emails()) if DEFAULT_SEND_TO: recipients += [DEFAULT_SEND_TO] app_label = self._meta.model._meta.app_label try: model_name = self._meta.model._meta.model_name except AttributeError: # Django < 1.9 model_name = self._meta.model._meta.module_name admin_change_form = reverse( 'admin:{}_{}_change'.format(app_label, model_name), args=(self.instance.pk,) ) context = { 'job_application': self.instance, } # make admin change form url available if hasattr(self, 'request'): context['admin_change_form_url'] = self.request.build_absolute_uri( admin_change_form) kwargs = {} if SEND_ATTACHMENTS_WITH_EMAIL: attachments = self.instance.attachments.all() if attachments: kwargs['attachments'] = [] for attachment in attachments: attachment.file.seek(0) kwargs['attachments'].append( (os.path.split( attachment.file.name)[1], attachment.file.read(),)) send_mail(recipients=recipients, context=context, template_base='aldryn_jobs/emails/notification', **kwargs)
def send_confirmation_email(self): context = {'job_application': self.instance} send_mail(recipients=[self.instance.email], context=context, template_base='aldryn_jobs/emails/confirmation')