X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/de08100bad0d82b2823453ecccaa66fd7521cd41..623676b97cc93293eff63398c7deb45cdec76af9:/src/newsletter/admin.py?ds=sidebyside diff --git a/src/newsletter/admin.py b/src/newsletter/admin.py index 8c38f3f3d..48134b173 100644 --- a/src/newsletter/admin.py +++ b/src/newsletter/admin.py @@ -1,3 +1,30 @@ +# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later. +# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. +# +from django.urls import path from django.contrib import admin +from django.http.response import HttpResponse +from django.views.decorators.cache import never_cache -# Register your models here. +from newsletter.models import Subscription + + +class SubscriptionAdmin(admin.ModelAdmin): + list_display = ('email', 'active') + list_filter = ('active',) + + def get_urls(self): + urls = super(SubscriptionAdmin, self).get_urls() + my_urls = [ + path('extract/', self.extract_subscribers, name='extract_subscribers'), + ] + return my_urls + urls + + @never_cache + def extract_subscribers(self, request): + active_subscriptions = Subscription.objects.filter(active=True) + return HttpResponse('\n'.join(active_subscriptions.values_list('email', flat=True)), + content_type='text/plain') + + +admin.site.register(Subscription, SubscriptionAdmin)