|
|
|
|
@ -84,7 +84,8 @@ class MailingSettingsForm(forms.ModelForm): |
|
|
|
|
email = forms.EmailField( |
|
|
|
|
error_messages={ |
|
|
|
|
'required': _(u'Поле e-mail обязательно для заполнения') |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
widget=forms.TextInput(attrs={'placeholder': _(u'Ваш e-mail')}) |
|
|
|
|
) |
|
|
|
|
r_cities = ML_ModelMultipleChoiceField( |
|
|
|
|
label=_(u'Города России'), required=False, |
|
|
|
|
@ -110,7 +111,6 @@ class MailingSettingsForm(forms.ModelForm): |
|
|
|
|
'content_articles', |
|
|
|
|
] |
|
|
|
|
widgets = { |
|
|
|
|
'email': forms.TextInput(attrs={'placeholder': _(u'Ваш e-mail')}), |
|
|
|
|
'first_name': forms.TextInput(attrs={'placeholder': _(u'Ваше имя')}), |
|
|
|
|
'moscow': forms.CheckboxInput(), |
|
|
|
|
'foreign': forms.CheckboxInput(), |
|
|
|
|
@ -126,6 +126,10 @@ class MailingSettingsForm(forms.ModelForm): |
|
|
|
|
for field in ['co', 'r_cities', 'tg', 'th', 'area']: |
|
|
|
|
self.fields[field].widget.attrs.update({'style': 'display: none;'}) |
|
|
|
|
if self.instance and self.instance.pk: |
|
|
|
|
# если пользовать авторизован, у нас есть инстанс |
|
|
|
|
# и там не нужно выводить для редактирования его личные данные |
|
|
|
|
del self.fields['email'] |
|
|
|
|
del self.fields['first_name'] |
|
|
|
|
# area |
|
|
|
|
self.initial['area'] = set(self.instance.area.values_list('pk', flat=True)) |
|
|
|
|
area_q = Area.objects.language().all().order_by('name') |
|
|
|
|
@ -199,7 +203,7 @@ class MailingSettingsForm(forms.ModelForm): |
|
|
|
|
u'вам интересны. На основе этих ' |
|
|
|
|
u'настроек мы включим в ваше письмо ' |
|
|
|
|
u'релевантные события!')) |
|
|
|
|
if not cleaned_data.get('moscow') or not cleaned_data.get('russia'): |
|
|
|
|
if not cleaned_data.get('moscow') and not cleaned_data.get('russia') and not cleaned_data.get('foreign'): |
|
|
|
|
raise forms.ValidationError(_(u'Необходимо выбрать минимум ' |
|
|
|
|
u'1 вариант в гео-фильтрах')) |
|
|
|
|
return cleaned_data |
|
|
|
|
|