diff --git a/AuthApp/forms.py b/AuthApp/forms.py index 7bbe511..7ce0e2f 100644 --- a/AuthApp/forms.py +++ b/AuthApp/forms.py @@ -30,21 +30,37 @@ class RegistrationForm(forms.Form): agreement = forms.BooleanField(initial=False, required=True) def __init__(self, *args, **kwargs): - super(RegistrationForm, self).__init__(*args) - + required_password = True + required_agreement = True + required_email = True if 'not_required_password' in kwargs.keys() and kwargs['not_required_password']: - self.fields['password'].required = False - self.fields['confirm_password'].required = False + required_password = False + del kwargs['not_required_password'] + if 'not_required_agreement' in kwargs.keys() and kwargs['not_required_agreement']: + required_agreement = False + del kwargs['not_required_agreement'] + if 'not_required_email' in kwargs.keys() and kwargs['not_required_email']: + required_email = False + del kwargs['not_required_email'] + + super(RegistrationForm, self).__init__(*args, **kwargs) + + self.fields['password'].required = required_password + self.fields['confirm_password'].required = required_password + + self.fields['agreement'].required = required_agreement + + self.fields['email'].required = required_email def clean(self): cleaned_data = super().clean() - i = 0 - names = list(cleaned_data.keys()) - while i < len(names): - if not cleaned_data[names[i]]: - if self.fields[names[i]].required: - self.add_error(names[i], _('Обязательное поле')) - i += 1 + # i = 0 + # names = list(cleaned_data.keys()) + # while i < len(names): + # if not cleaned_data[names[i]]: + # if self.fields[names[i]].required: + # self.add_error(names[i], _('Обязательное поле')) + # i += 1 if 'tel' in cleaned_data and 'tel' in cleaned_data: from BaseModels.validators.form_field_validators import get_phone_valid_error diff --git a/AuthApp/js_views.py b/AuthApp/js_views.py index 3af4fe4..448b8cd 100644 --- a/AuthApp/js_views.py +++ b/AuthApp/js_views.py @@ -236,7 +236,11 @@ def change_profile_confirm_ajax(request): data = json.loads(request.body) from .forms import RegistrationForm - kwargs = {'not_required_password': True} + kwargs = { + 'not_required_password': True, + 'not_required_agreement': True, + 'not_required_email': True + } form = RegistrationForm(data, **kwargs) if not form.is_valid(): form.initial = form.cleaned_data