General A/B testing.
[wolnelektury.git] / src / newsletter / admin.py
index 21ab434..530eeca 100644 (file)
@@ -1,12 +1,18 @@
-# -*- coding: utf-8 -*-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
 from django.conf.urls import url
 from django.contrib import admin
 from django.http.response import HttpResponse
+from django.views.decorators.cache import never_cache
 
 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 = [
@@ -14,9 +20,10 @@ class SubscriptionAdmin(admin.ModelAdmin):
         ]
         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)),
+        return HttpResponse('\n'.join(active_subscriptions.values_list('email', flat=True)),
                             content_type='text/plain')