summaryrefslogtreecommitdiff
path: root/app/lttr/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'app/lttr/views.py')
-rw-r--r--app/lttr/views.py59
1 files changed, 38 insertions, 21 deletions
diff --git a/app/lttr/views.py b/app/lttr/views.py
index bf3df4c..2573334 100644
--- a/app/lttr/views.py
+++ b/app/lttr/views.py
@@ -37,24 +37,52 @@ class NewsletterSubscribedView(TemplateView):
template_name = "lttr/subscribed.html"
-class NewsletterListView(CreateView):
+class NewsletterListView(ListView):
"""
- Return a subscribe form and list of Newsletter posts in reverse chronological order
+ Return a list of Newsletter posts in reverse chronological order
+ """
+ model = NewsletterMailing
+
+ def get_template_names(self):
+ return ["lttr/%s_list.html" % self.kwargs['slug'], 'newsletter_list.html']
+
+ def get_queryset(self):
+ queryset = super(NewsletterListView, self).get_queryset()
+ return queryset.filter(newsletter__slug=self.kwargs['slug'])
+
+class NewsletterOptionsView(ListView):
+ model = Newsletter
+
+
+class ConfirmSubscriptionView(DetailView):
+ model = Subscriber
+ template_name = "lttr/confirm_activate.html"
+
+ def get_object(self):
+ obj = Subscriber.objects.get(newsletter__slug=self.kwargs['slug'], activation_code=self.kwargs['activation_code'])
+ if obj.subscribed is False:
+ obj.update('subscribe')
+ return obj
+
+
+class NewsletterSubscribeView(CreateView):
+ """
+ Return a subscribe form for iframe embedding
"""
model = Subscriber
form_class = SubscribeRequestForm
action = 'subscribe'
+
+
+ def get_template_names(self):
+ return "lttr/%s_subscribe.html" % self.kwargs['slug']
def get_form_kwargs(self):
- kwargs = super(NewsletterListView, self).get_form_kwargs()
- kwargs['newsletter'] = Newsletter.objects.get(title="Friends of a Long Year")
+ kwargs = super(NewsletterSubscribeView, self).get_form_kwargs()
+ nl = Newsletter.objects.get(slug=self.kwargs['slug'])
+ kwargs['newsletter'] = nl
return kwargs
- def get_context_data(self, **kwargs):
- context = super(NewsletterListView, self).get_context_data(**kwargs)
- context['mailings'] = NewsletterMailing.objects.filter(status=1)
- return context
-
def get_success_url(self):
return reverse_lazy('lttr:subscribed')
@@ -76,18 +104,6 @@ class NewsletterListView(CreateView):
return super(NewsletterListView, self).form_invalid(form)
return super(NewsletterListView, self).form_valid(form)
-
-class ConfirmSubscriptionView(DetailView):
- model = Subscriber
- template_name = "lttr/confirm_activate.html"
-
- def get_object(self):
- obj = Subscriber.objects.get(newsletter__slug=self.kwargs['slug'], activation_code=self.kwargs['activation_code'])
- if obj.subscribed is False:
- obj.update('subscribe')
- return obj
-
-
class UnsubscribeRequestView(DetailView):
model = Subscriber
template_name = "lttr/unsubscribe.html"
@@ -104,3 +120,4 @@ class UnsubscribeRequestView(DetailView):
context['subscriber'] = self.get_object()
context['newsletter'] = self.kwargs['slug']
return context
+