]> git.0d.be Git - django-panik-newsletter.git/commitdiff
move the registration to mailman in a management command
authorFrédéric Péters <fpeters@0d.be>
Wed, 30 Oct 2013 14:35:31 +0000 (15:35 +0100)
committerFrédéric Péters <fpeters@0d.be>
Wed, 30 Oct 2013 14:35:31 +0000 (15:35 +0100)
newsletter/management/__init__.py [new file with mode: 0644]
newsletter/management/commands/__init__.py [new file with mode: 0644]
newsletter/management/commands/update_newsletter_subscribers.py [new file with mode: 0644]
newsletter/views.py

diff --git a/newsletter/management/__init__.py b/newsletter/management/__init__.py
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/newsletter/management/commands/__init__.py b/newsletter/management/commands/__init__.py
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/newsletter/management/commands/update_newsletter_subscribers.py b/newsletter/management/commands/update_newsletter_subscribers.py
new file mode 100644 (file)
index 0000000..1f156cb
--- /dev/null
@@ -0,0 +1,16 @@
+from optparse import make_option
+
+from django.core.management.base import BaseCommand, CommandError
+
+from ...models import Subscriber
+
+
+class Command(BaseCommand):
+
+    def handle(self, verbosity, **kwargs):
+        self.verbose = (verbosity > 1)
+
+        for subscriber in Subscriber.objects.filter(is_validated=True).exclude(is_registered=True):
+            if self.verbose:
+                print 'subscribing', subscriber.email
+            subscriber.subscribe_in_mailman()
index 51a653362e71767b7aa9bac902059d873aa2ff0d..7b14d65c4c088ee37c036c687f9ca0673c49a592 100644 (file)
@@ -47,7 +47,6 @@ class ConfirmationView(TemplateView):
         subscriber = get_object_or_404(Subscriber, password=token, is_validated=False)
         subscriber.is_validated = True
         subscriber.save()
         subscriber = get_object_or_404(Subscriber, password=token, is_validated=False)
         subscriber.is_validated = True
         subscriber.save()
-        subscriber.subscribe_in_mailman()
         return context
 confirmation = ConfirmationView.as_view()
 
         return context
 confirmation = ConfirmationView.as_view()