|
|
|
|
@ -361,9 +361,12 @@ class ProspectAdmin(SyncedObjectAdmin): |
|
|
|
|
if form.is_valid(): |
|
|
|
|
email_template = form.cleaned_data['email_template'] |
|
|
|
|
|
|
|
|
|
self.process_selected_items_with_template(request, queryset, email_template) |
|
|
|
|
sent_count, failed_count = self.process_selected_items_with_template(request, queryset, email_template) |
|
|
|
|
|
|
|
|
|
self.message_user(request, f"Email sent to {queryset.count()} prospects using the '{email_template.name}' template.", messages.SUCCESS) |
|
|
|
|
if failed_count > 0: |
|
|
|
|
self.message_user(request, f"Email sent to {sent_count} prospects, {failed_count} failed using the '{email_template.name}' template.", messages.WARNING) |
|
|
|
|
else: |
|
|
|
|
self.message_user(request, f"Email sent to {sent_count} prospects using the '{email_template.name}' template.", messages.SUCCESS) |
|
|
|
|
return HttpResponseRedirect(request.get_full_path()) |
|
|
|
|
else: |
|
|
|
|
form = EmailTemplateSelectionForm() |
|
|
|
|
@ -398,9 +401,15 @@ class ProspectAdmin(SyncedObjectAdmin): |
|
|
|
|
sent_count += 1 |
|
|
|
|
except Exception as e: |
|
|
|
|
error_emails.append(prospect.email) |
|
|
|
|
logger.error(f'Failed to send email to {prospect.email}: {str(e)}') |
|
|
|
|
|
|
|
|
|
time.sleep(1) |
|
|
|
|
|
|
|
|
|
if error_emails: |
|
|
|
|
logger.error(f'Failed to send emails to: {error_emails}') |
|
|
|
|
|
|
|
|
|
return sent_count, len(error_emails) |
|
|
|
|
|
|
|
|
|
@admin.register(ProspectGroup) |
|
|
|
|
class ProspectGroupAdmin(SyncedObjectAdmin): |
|
|
|
|
list_display = ('name', 'user_count') |
|
|
|
|
|