Loading mails/admin.py +7 −5 Changes for mails/admin.py: 7 added lines, 5 removed lines. Original line number Diff line number Diff line Loading @@ -5,13 +5,18 @@ from django.shortcuts import render from django.http import HttpResponseRedirect from django.urls import reverse from .models import Mail from .models import Mail, MailStatus from .tasks import send_mail_batch_task class MailAdmin(admin.ModelAdmin): change_list_template = 'admin/change_list_mail.html' list_display = ['voter', 'status', 'error_message', 'created_at', 'last_try_date'] ordering = ['-created_at'] actions = ['mark_as_failed'] @admin.action(description="Oznacz jako nieudane") def mark_as_failed(self, request, queryset): queryset.update(status=MailStatus.ERROR) list_filter = ['status'] Loading @@ -30,7 +35,7 @@ class MailAdmin(admin.ModelAdmin): def retry_failed_view(self, request): if request.POST.get('post') == 'yes': send_mail_batch_task.enqueue(base_status='ERROR') send_mail_batch_task.enqueue(base_status=MailStatus.ERROR) messages.info(request, 'Rozpoczęto wysyłanie ponowne wysyłanie niedostarczonych wiadomości.') return HttpResponseRedirect(reverse('admin:mails_mail_changelist')) Loading @@ -49,7 +54,4 @@ class MailAdmin(admin.ModelAdmin): def has_change_permission(self, request, obj=None): return False def has_add_permission(self, request): return False admin.site.register(Mail, MailAdmin) No newline at end of file mails/tasks.py +6 −0 Changes for mails/tasks.py: 6 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -69,6 +69,12 @@ def send_mail_batch_task(base_status=MailStatus.PENDING): queued_email.save() continue if queued_email.voter.is_verified == False: queued_email.status = MailStatus.ERROR queued_email.error_message = 'Wyborca nie jest zweryfikowany' queued_email.save() continue try: sending_status = email.send(fail_silently=False) if sending_status: Loading vote/views.py +4 −0 Changes for vote/views.py: 4 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -18,6 +18,8 @@ def votings(request, token): return HttpResponse('Zly token') if voter is None: return HttpResponse('Zly token') if not voter.is_verified: return HttpResponse('Twoje konto nie jest zweryfikowane!') now = timezone.now() Loading @@ -37,6 +39,8 @@ def vote(request, alias, token): return HttpResponse('Zly token') if voter is None: return HttpResponse('Zly token') if not voter.is_verified: return HttpResponse('Twoje konto nie jest zweryfikowane!') if Participation.objects.filter(voter=voter, election=election).exists(): messages.error(request, 'Już oddałeś głos w tym głosowaniu') Loading voters/admin.py +2 −2 Changes for voters/admin.py: 2 added lines, 2 removed lines. Original line number Diff line number Diff line Loading @@ -52,10 +52,10 @@ class VoterInline(admin.TabularInline): exclude = ['token', 'token_generation_date', 'last_email_date', 'is_archived'] class VoterAdmin(admin.ModelAdmin): list_display = ['name', 'email', 'group', 'get_token_status', 'get_last_token_mail_status', 'vote_as'] list_display = ['name', 'email', 'group', 'get_token_status', 'get_last_token_mail_status', 'is_verified', 'vote_as'] exclude = ['token', 'token_generation_date', 'last_email_date', 'is_archived'] search_fields = ['name', 'email'] list_filter = ['group', TokenStatusFilter, MailStatusFilter] list_filter = ['group', TokenStatusFilter, MailStatusFilter, 'is_verified'] def get_search_results(self, request, queryset, search_term): queryset, use_distinct = super().get_search_results(request, queryset, search_term) Loading Loading
mails/admin.py +7 −5 Changes for mails/admin.py: 7 added lines, 5 removed lines. Original line number Diff line number Diff line Loading @@ -5,13 +5,18 @@ from django.shortcuts import render from django.http import HttpResponseRedirect from django.urls import reverse from .models import Mail from .models import Mail, MailStatus from .tasks import send_mail_batch_task class MailAdmin(admin.ModelAdmin): change_list_template = 'admin/change_list_mail.html' list_display = ['voter', 'status', 'error_message', 'created_at', 'last_try_date'] ordering = ['-created_at'] actions = ['mark_as_failed'] @admin.action(description="Oznacz jako nieudane") def mark_as_failed(self, request, queryset): queryset.update(status=MailStatus.ERROR) list_filter = ['status'] Loading @@ -30,7 +35,7 @@ class MailAdmin(admin.ModelAdmin): def retry_failed_view(self, request): if request.POST.get('post') == 'yes': send_mail_batch_task.enqueue(base_status='ERROR') send_mail_batch_task.enqueue(base_status=MailStatus.ERROR) messages.info(request, 'Rozpoczęto wysyłanie ponowne wysyłanie niedostarczonych wiadomości.') return HttpResponseRedirect(reverse('admin:mails_mail_changelist')) Loading @@ -49,7 +54,4 @@ class MailAdmin(admin.ModelAdmin): def has_change_permission(self, request, obj=None): return False def has_add_permission(self, request): return False admin.site.register(Mail, MailAdmin) No newline at end of file
mails/tasks.py +6 −0 Changes for mails/tasks.py: 6 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -69,6 +69,12 @@ def send_mail_batch_task(base_status=MailStatus.PENDING): queued_email.save() continue if queued_email.voter.is_verified == False: queued_email.status = MailStatus.ERROR queued_email.error_message = 'Wyborca nie jest zweryfikowany' queued_email.save() continue try: sending_status = email.send(fail_silently=False) if sending_status: Loading
vote/views.py +4 −0 Changes for vote/views.py: 4 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -18,6 +18,8 @@ def votings(request, token): return HttpResponse('Zly token') if voter is None: return HttpResponse('Zly token') if not voter.is_verified: return HttpResponse('Twoje konto nie jest zweryfikowane!') now = timezone.now() Loading @@ -37,6 +39,8 @@ def vote(request, alias, token): return HttpResponse('Zly token') if voter is None: return HttpResponse('Zly token') if not voter.is_verified: return HttpResponse('Twoje konto nie jest zweryfikowane!') if Participation.objects.filter(voter=voter, election=election).exists(): messages.error(request, 'Już oddałeś głos w tym głosowaniu') Loading
voters/admin.py +2 −2 Changes for voters/admin.py: 2 added lines, 2 removed lines. Original line number Diff line number Diff line Loading @@ -52,10 +52,10 @@ class VoterInline(admin.TabularInline): exclude = ['token', 'token_generation_date', 'last_email_date', 'is_archived'] class VoterAdmin(admin.ModelAdmin): list_display = ['name', 'email', 'group', 'get_token_status', 'get_last_token_mail_status', 'vote_as'] list_display = ['name', 'email', 'group', 'get_token_status', 'get_last_token_mail_status', 'is_verified', 'vote_as'] exclude = ['token', 'token_generation_date', 'last_email_date', 'is_archived'] search_fields = ['name', 'email'] list_filter = ['group', TokenStatusFilter, MailStatusFilter] list_filter = ['group', TokenStatusFilter, MailStatusFilter, 'is_verified'] def get_search_results(self, request, queryset, search_term): queryset, use_distinct = super().get_search_results(request, queryset, search_term) Loading