diff --git a/emencia/django/newsletter/models.py b/emencia/django/newsletter/models.py index bb5df592..be21bae0 100644 --- a/emencia/django/newsletter/models.py +++ b/emencia/django/newsletter/models.py @@ -252,6 +252,28 @@ class ContactSettings(models.Model): country = models.ManyToManyField('country.Country', blank=True, null=True, verbose_name=_(u'Страны')) city = models.ManyToManyField('city.City', blank=True, null=True, verbose_name=_(u'Города')) + def save_mailing_lists(self): + practicum_exponent = MailingList.objects.get(id=2) + practicum_organiser = MailingList.objects.get(id=3) + contact = self.contact + if self.exponent_practicum: + practicum_exponent.subscribers.add(contact) + else: + practicum_exponent.subscribers.remove(contact) + if self.organiser_practicum: + practicum_organiser.subscribers.add(contact) + else: + practicum_organiser.subscribers.remove(contact) + + def save(self, *args, **kwargs): + super(ContactSettings, self).save(*args, **kwargs) + try: + self.save_mailing_lists() + except: + pass + + + class MailingList(models.Model): """Mailing list""" diff --git a/emencia/django/newsletter/views/expo_views.py b/emencia/django/newsletter/views/expo_views.py index a717adb9..b0ef935b 100644 --- a/emencia/django/newsletter/views/expo_views.py +++ b/emencia/django/newsletter/views/expo_views.py @@ -4,10 +4,10 @@ from django.views.generic import TemplateView, FormView from django.http import HttpResponseRedirect, HttpResponse from django.shortcuts import redirect from emencia.django.newsletter.forms import ContactForm, ContactSettingsForm -from emencia.django.newsletter.models import Contact, ContactSettings +from emencia.django.newsletter.models import Contact, ContactSettings, MailingList from emencia.django.newsletter.forms import SubscribeAssideForm from accounts.models import User -from country.models import Country + class SubscribeView(FormView): form_class = ContactForm @@ -88,6 +88,9 @@ class ActivationView(TemplateView): def get(self, request, *args, **kwargs): activated_contact = self.activate(request, *args, **kwargs) + # add to announce list + m = MailingList.objects.get(id=1) + m.subscribers.add(activated_contact) if activated_contact: success_url = self.get_success_url(request, activated_contact) try: