X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/9e05900b7692f2d2a484edb33df69e8519e52131..b8c235267a6345ebe3891f49c16ad3fc5f1d3f25:/src/newsletter/admin.py?ds=sidebyside diff --git a/src/newsletter/admin.py b/src/newsletter/admin.py index 8c38f3f3d..7af7e0d52 100644 --- a/src/newsletter/admin.py +++ b/src/newsletter/admin.py @@ -1,3 +1,33 @@ +# 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 +from modeltranslation.admin import TranslationAdmin +from newsletter.models import Subscription, Newsletter -# Register your models here. + +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) + + +admin.site.register(Newsletter, TranslationAdmin)