You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.9 KiB
55 lines
1.9 KiB
# -*- coding: utf-8 -*-
|
|
from django.views.generic import TemplateView, CreateView, ListView, UpdateView, DetailView
|
|
from django.conf import settings
|
|
from django.http import HttpResponseRedirect
|
|
from django.shortcuts import get_object_or_404
|
|
from django.core.urlresolvers import reverse
|
|
from emencia.django.newsletter.models import Contact, ContactSettings, MailingList, Newsletter
|
|
from emencia.django.newsletter.admin_forms import ContactSettingsForm, MailingListForm, NewsletterForm
|
|
|
|
|
|
class ContactList(ListView):
|
|
paginate_by = settings.ADMIN_PAGINATION
|
|
model = Contact
|
|
template_name = 'admin/newsletters/contact_list.html'
|
|
|
|
|
|
class UpdateContact(UpdateView):
|
|
model = ContactSettings
|
|
form_class = ContactSettingsForm
|
|
template_name = 'admin/newsletters/contact.html'
|
|
success_url = '/admin/newsletters/contact/all/'
|
|
|
|
def get_initial(self):
|
|
obj = self.object.contact
|
|
data = self.initial.copy()
|
|
data.update({'first_name': obj.first_name, 'subscriber': obj.subscriber,
|
|
'valid': obj.valid, 'tester': obj.tester})
|
|
return data
|
|
|
|
|
|
class MailingListView(ListView):
|
|
paginate_by = settings.ADMIN_PAGINATION
|
|
model = MailingList
|
|
template_name = 'admin/newsletters/mailing_list.html'
|
|
|
|
|
|
class UpdateMailingList(UpdateView):
|
|
model = MailingList
|
|
form_class = MailingListForm
|
|
template_name = 'admin/newsletters/mailing_list_object.html'
|
|
success_url = '/admin/newsletters/mailinglist/all/'
|
|
|
|
|
|
class CreateMailingList(CreateView):
|
|
model = MailingList
|
|
form_class = MailingListForm
|
|
template_name = 'admin/newsletters/mailing_list_object.html'
|
|
success_url = '/admin/newsletters/mailinglist/all/'
|
|
|
|
|
|
class NewsletterCreate(CreateView):
|
|
model = Newsletter
|
|
form_class = NewsletterForm
|
|
template_name = 'admin/newsletters/newsletter_object.html'
|
|
success_url = '/admin/newsletters/newsletters/all/' |