X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/de08100bad0d82b2823453ecccaa66fd7521cd41..21de3884f82ce6c9b2d538d8d63c41cf68c9bae7:/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)