Update contact m2m bug fix

remotes/origin/1203
Ivan Kovalkovskyi 10 years ago
parent 22aa699d34
commit 35ced9f26e
  1. 6
      emencia/django/newsletter/admin_forms.py
  2. 2
      emencia/django/newsletter/models.py
  3. 8
      emencia/django/newsletter/views/admin_views.py
  4. 1
      templates/admin/newsletters/contact.html

@ -4,6 +4,7 @@ from django.utils.translation import ugettext_lazy as _
from ckeditor.widgets import CKEditorWidget from ckeditor.widgets import CKEditorWidget
from emencia.django.newsletter.models import Contact, ContactSettings, MailingList, Newsletter from emencia.django.newsletter.models import Contact, ContactSettings, MailingList, Newsletter
from city.models import City from city.models import City
from country.models import Country, Area
class ContactSettingsForm(forms.ModelForm): class ContactSettingsForm(forms.ModelForm):
@ -14,6 +15,8 @@ class ContactSettingsForm(forms.ModelForm):
subscriber = forms.BooleanField(label=_('subscriber'), required=False) subscriber = forms.BooleanField(label=_('subscriber'), required=False)
valid = forms.BooleanField(label=_('valid email'), required=False) valid = forms.BooleanField(label=_('valid email'), required=False)
tester = forms.BooleanField(label=_('contact tester'), required=False) tester = forms.BooleanField(label=_('contact tester'), required=False)
country = forms.MultipleChoiceField(choices=[(c.id,c.name) for c in list(set(Country.objects.language().all()))], required=False)
area = forms.MultipleChoiceField(choices=[(a.id, a.name) for a in list(set(Area.objects.language().all()))], required=False)
class Meta: class Meta:
model = ContactSettings model = ContactSettings
@ -38,14 +41,17 @@ class ContactSettingsForm(forms.ModelForm):
def clean_city(self): def clean_city(self):
return City.objects.none() return City.objects.none()
class MailingListForm(forms.ModelForm): class MailingListForm(forms.ModelForm):
class Meta: class Meta:
model = MailingList model = MailingList
fields = ('name', 'description') fields = ('name', 'description')
class NewsletterForm(forms.ModelForm): class NewsletterForm(forms.ModelForm):
test_contacts = forms.CharField(label=u'Тестовые контакты', widget=forms.HiddenInput(), required=False) test_contacts = forms.CharField(label=u'Тестовые контакты', widget=forms.HiddenInput(), required=False)
content = forms.CharField(label=_('content'), widget=CKEditorWidget(config_name='newsletters')) content = forms.CharField(label=_('content'), widget=CKEditorWidget(config_name='newsletters'))
class Meta: class Meta:
model = Newsletter model = Newsletter
fields = ('title', 'content', 'mailing_list', 'test_contacts', 'header_sender', fields = ('title', 'content', 'mailing_list', 'test_contacts', 'header_sender',

@ -198,7 +198,7 @@ class Contact(models.Model):
class ContactSettings(models.Model): class ContactSettings(models.Model):
WEEK = 1 # every week WEEK = 1 # every week
WEEK_2 = 2 # every 2 weeks WEEK_2 = 2 # every 2 weeks
MONTH = 3 # every 4 month MONTH = 3 # every 4 weeks
PERIODIC_CHOICES = [(WEEK, 'Раз в неделю'), PERIODIC_CHOICES = [(WEEK, 'Раз в неделю'),
(WEEK_2, 'Раз в 2 недели'), (WEEK_2, 'Раз в 2 недели'),

@ -57,6 +57,14 @@ class UpdateContact(UpdateView):
template_name = 'admin/newsletters/contact.html' template_name = 'admin/newsletters/contact.html'
success_url = '/admin/newsletters/contact/all/' success_url = '/admin/newsletters/contact/all/'
def form_valid(self, form):
self.object = form.save()
self.object.theme = form.cleaned_data['theme']
self.object.country = form.cleaned_data['country']
self.object.area = form.cleaned_data['area']
self.object.save()
return HttpResponseRedirect(self.get_success_url())
def get_initial(self): def get_initial(self):
obj = self.object.contact obj = self.object.contact
data = self.initial.copy() data = self.initial.copy()

@ -10,6 +10,7 @@
$('#id_theme').select2({width: "element"}); $('#id_theme').select2({width: "element"});
$('#id_country').select2({width: "element"}); $('#id_country').select2({width: "element"});
$('#id_area').select2({width:'element'});
}) })
</script> </script>

Loading…
Cancel
Save