From 4d782f00b0354d02795b453b582d43fd8e003bcc Mon Sep 17 00:00:00 2001 From: ailsoncgt Date: Wed, 5 Oct 2016 23:44:16 -0300 Subject: [PATCH] import date to validate date register and update profile #7 --- users/forms.py | 51 ++++++++++++++++++++++++++------------------------- 1 file changed, 26 insertions(+), 25 deletions(-) diff --git a/users/forms.py b/users/forms.py index 797c55d..8bec0fe 100644 --- a/users/forms.py +++ b/users/forms.py @@ -1,5 +1,7 @@ # coding=utf-8 -import os +import os, re +from datetime import date +from pycpfcnpj import cpfcnpj from django.conf import settings from django import forms from django.utils.translation import ugettext_lazy as _ @@ -8,40 +10,39 @@ from django.contrib.auth.forms import UserCreationForm from core.forms import RegisterUserForm from .models import User - -class ProfileForm(forms.ModelForm): - - def save(self, commit=True): - super(ProfileForm, self).save(commit=False) - - self.instance.set_password(self.cleaned_data['password']) - self.instance.save() - - return self.instance - - class Meta: - model = User - fields = ['username', 'name', 'email', 'password', 'birth_date', 'city', 'state', 'gender', 'cpf', 'phone', 'image'] - widgets = { - 'password':forms.PasswordInput - } - class UserForm(RegisterUserForm): class Meta: model = User fields = ['username', 'name', 'email', 'birth_date', 'city', 'state', 'gender', 'type_profile', 'cpf', 'phone', 'image', 'is_staff', 'is_active'] -class EditUserForm(forms.ModelForm): +class UpdateUserForm(forms.ModelForm): + + def validate_cpf(self, cpf): + cpf = ''.join(re.findall('\d', str(cpf))) + + if cpfcnpj.validate(cpf): + return True + return False + + def clean_cpf(self): + cpf = self.cleaned_data['cpf'] + if not self.validate_cpf(cpf): + raise forms.ValidationError(_('Please enter a valid CPF')) + return cpf + + def clean_birth_date(self): + birth_date = self.cleaned_data['birth_date'] + if birth_date >= date.today(): + raise forms.ValidationError(_('Please enter a valid date')) + return birth_date class Meta: model = User - fields = ['username', 'name', 'email', 'birth_date', 'city', 'state', 'gender', 'cpf', 'phone', 'image'] + fields = ['username', 'name', 'email', 'city', 'state', 'birth_date', 'gender', 'type_profile', 'cpf', 'phone', 'image', 'is_staff', 'is_active'] -# Ailson -class UpdateUserForm(forms.ModelForm): - company_logo = forms.ImageField(label=_('Company Logo'),required=False, error_messages = {'invalid':_("Image files only")}) +class UpdateProfileForm(UpdateUserForm): class Meta: model = User - fields = ['username', 'name', 'email', 'city', 'state', 'birth_date', 'gender', 'cpf', 'phone', 'image'] \ No newline at end of file + fields = ['username', 'name', 'email', 'birth_date', 'city', 'state', 'gender', 'cpf', 'phone', 'image'] -- libgit2 0.21.2