# # coding=utf-8 from django import forms from django.contrib.auth.forms import AuthenticationForm from django.utils.translation import gettext_lazy as _ from django.core.exceptions import ValidationError from .models import * # from djng.styling.bootstrap3.forms import Bootstrap3ModelForm # from djng.forms import fields, NgModelFormMixin, NgFormValidationMixin, NgModelForm # from datetimepicker.widgets import DateTimePicker # from datetimepicker.helpers import js_loader_url class LoginForm(forms.Form): username = forms.CharField(required=True) password = forms.CharField(required=True) class RegistrationForm(forms.Form): from .models import account_type_choices account_type = forms.ChoiceField(choices=account_type_choices, initial='sender', required=True) firstname = forms.CharField(required=False) lastname = forms.CharField(required=False) country = forms.CharField(required=False) city = forms.CharField(required=False) email = forms.EmailField() password = forms.CharField(widget=forms.PasswordInput()) confirm_password = forms.CharField(widget=forms.PasswordInput()) tel = forms.CharField() agreement = forms.BooleanField(initial=False, required=True) # # class PersonForm(NgModelFormMixin, NgFormValidationMixin, NgModelForm, Bootstrap3ModelForm): # # # # form_name = 'person_form' # # scope_prefix = 'person_data' # # # # class Meta: # # model = UserProfile # # fields = ['name', 'departament', 'company', 'company_position', # # 'days_to_order_cancellation_default', 'days_to_pay_default', # # 'pay_terms', 'birthdate', # # 'phone', 'email', 'discount', 'document_sign_person'] # # # # def emailValid(value): # if User.objects.filter(username=value, is_active=True): # raise ValidationError(_(u'пользователь с таким e-mail уже существует, воспользуйтесь восстановлением пароля')) # # def check_authorizationBy_cleaned_data(cleaned_data): # from django.contrib.auth import authenticate # print('check_authorizationBy_cleaned_data') # username = cleaned_data.get('username') # password = cleaned_data.get('password') # # user = authenticate(username=username, password=password) # # print(user) # if user: # # if user.is_active: # return user # # def check_activate_by_user(reg_user): # print('check_activate_by_user') # if reg_user: # if reg_user.is_active: # return True # # return False # # class LoginForm(AuthenticationForm): # username = forms.EmailField(label=_('Email'), widget=forms.TextInput()) # password = forms.CharField(min_length=8, label=_('Пароль'), widget=forms.PasswordInput(render_value=False)) # # def clean(self): # # print('check') # cleaned_data = super(LoginForm, self).clean() # reg_user = check_authorizationBy_cleaned_data(cleaned_data) # # print(reg_user) # if not reg_user: # raise ValidationError(_(u'Пользователь с введенными регистрационными данными не зарегистрирован. Проверьте правильность ввода e-mail и пароля.')) # else: # if not check_activate_by_user(reg_user): # raise ValidationError(_(u'Указанная учетная запись не была Активирована')) # return cleaned_data # # # class ResetPassword_byEmail_Form(AuthenticationForm): # email = forms.EmailField(label=_('Email'), widget=forms.TextInput())