Loading voters/admin.py +10 −2 Changes for voters/admin.py: 10 added lines, 2 removed lines. Original line number Diff line number Diff line from django.contrib import admin from django.urls import reverse from django.utils.html import format_html from django.contrib import messages from .models import Group, Voter from .tasks import generate_voter_tokens_task class TokenStatusFilter(admin.SimpleListFilter): title = 'status tokena' Loading Loading @@ -47,10 +49,16 @@ class VoterAdmin(admin.ModelAdmin): def invalidate_tokens(modeladmin, request, queryset): queryset.update(token=None) # @admin.action(description='Wygeneruj tokeny') # def generate_tokens(modeladmin, request, queryset): # for voter in queryset: # voter.generate_token() @admin.action(description='Wygeneruj tokeny') def generate_tokens(modeladmin, request, queryset): for voter in queryset: voter.generate_token() voter_ids = list(queryset.values_list('id', flat=True)) generate_voter_tokens_task.enqueue(voter_ids) messages.info(request, 'Generowanie tokenów w toku...') actions = [invalidate_tokens, generate_tokens] Loading voters/tasks.py 0 → 100644 +9 −0 Changes for voters/tasks.py: 9 added lines, 0 removed lines. Original line number Diff line number Diff line from django.tasks import task from .models import Voter @task def generate_voter_tokens_task(voter_ids): queryset = Voter.objects.filter(id__in=voter_ids) for v in queryset: v.generate_token() No newline at end of file Loading
voters/admin.py +10 −2 Changes for voters/admin.py: 10 added lines, 2 removed lines. Original line number Diff line number Diff line from django.contrib import admin from django.urls import reverse from django.utils.html import format_html from django.contrib import messages from .models import Group, Voter from .tasks import generate_voter_tokens_task class TokenStatusFilter(admin.SimpleListFilter): title = 'status tokena' Loading Loading @@ -47,10 +49,16 @@ class VoterAdmin(admin.ModelAdmin): def invalidate_tokens(modeladmin, request, queryset): queryset.update(token=None) # @admin.action(description='Wygeneruj tokeny') # def generate_tokens(modeladmin, request, queryset): # for voter in queryset: # voter.generate_token() @admin.action(description='Wygeneruj tokeny') def generate_tokens(modeladmin, request, queryset): for voter in queryset: voter.generate_token() voter_ids = list(queryset.values_list('id', flat=True)) generate_voter_tokens_task.enqueue(voter_ids) messages.info(request, 'Generowanie tokenów w toku...') actions = [invalidate_tokens, generate_tokens] Loading
voters/tasks.py 0 → 100644 +9 −0 Changes for voters/tasks.py: 9 added lines, 0 removed lines. Original line number Diff line number Diff line from django.tasks import task from .models import Voter @task def generate_voter_tokens_task(voter_ids): queryset = Voter.objects.filter(id__in=voter_ids) for v in queryset: v.generate_token() No newline at end of file