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