source: firmaeventos/users/forms.py

Last change on this file was 5d88f36, checked in by lhernandez <lhernandez@…>, 7 years ago

Agregada class para comporbar el proceso del evento

  • Property mode set to 100755
File size: 3.3 KB
Line 
1# -*- coding: utf-8 -*-
2"""!
3Modulo Forms  que construye los formularios para los templates  de la plataforma
4
5@author Ing. Leonel P. Hernandez M. (leonelphm at gmail.com)
6@copyright <a href='https://www.gnu.org/licenses/gpl-3.0.en.html'>GNU Public License versión 3 (GPLv3)</a>
7@date 09-06-2017
8@version 1.0.0
9"""
10from captcha.fields import CaptchaField
11from django import forms
12from django.forms import ModelForm
13from django.contrib.auth.models import User
14from django.contrib.auth.forms import (
15    UserCreationForm, PasswordResetForm,
16    SetPasswordForm
17    )
18from django.forms.fields import (
19    CharField, BooleanField
20)
21from django.forms.widgets import (
22    PasswordInput, CheckboxInput
23)
24
25class FormularioLogin(forms.Form):
26    """!
27    Clase que permite crear el formulario de ingreso a la aplicación
28
29    @author Ing. Leonel P. Hernandez M. (leonelphm at gmail.com)
30    @copyright <a href='https://www.gnu.org/licenses/gpl-3.0.en.html'>GNU Public License versión 3 (GPLv3)</a>
31    @date 09-01-2017
32    @version 1.0.0
33    """
34    contrasena = CharField()
35    usuario = CharField()
36    remember_me = BooleanField()
37    captcha = CaptchaField()
38
39    class Meta:
40        fields = ('usuario', 'contrasena', 'remember_me' 'captcha')
41
42    def __init__(self, *args, **kwargs):
43        super(FormularioLogin, self).__init__(*args, **kwargs)
44        self.fields['contrasena'].widget = PasswordInput()
45        self.fields['contrasena'].widget.attrs.update({'class': 'form-control',
46        'placeholder': 'Contraseña'})
47        self.fields['usuario'].widget.attrs.update({'class': 'form-control',
48        'placeholder': 'Nombre de Usuario'})
49        self.fields['remember_me'].label = "Recordar"
50        self.fields['remember_me'].widget = CheckboxInput()
51        self.fields['remember_me'].required = False
52        self.fields['captcha'].required=True
53
54
55class PasswordResetForm(PasswordResetForm):
56    """!
57    Clase que permite sobrescribir el formulario para resetear la contraseña
58
59    @author Ing. Leonel P. Hernandez M. (leonelphm at gmail.com)
60    @copyright <a href='https://www.gnu.org/licenses/gpl-3.0.en.html'>GNU Public License versión 3 (GPLv3)</a>
61    @date 09-01-2017
62    @version 1.0.0
63    """
64
65    def __init__(self, *args, **kwargs):
66        super(PasswordResetForm, self).__init__(*args, **kwargs)
67        self.fields['email'].widget.attrs.update({'class': 'form-control',
68                                                  'placeholder': 'Dirección de Correo'})
69
70    def clean(self):
71        cleaned_data = super(PasswordResetForm, self).clean()
72        email = cleaned_data.get("email")
73
74        if email:
75            msg = "Error este email: %s, no se encuentra asociado a una cuenta\
76                  " % (email)
77            try:
78                User.objects.get(email=email)
79            except:
80                self.add_error('email', msg)
81
82
83class SetPasswordForm(SetPasswordForm):
84
85    def __init__(self, *args, **kwargs):
86        super(SetPasswordForm, self).__init__(*args, **kwargs)
87
88        self.fields['new_password1'].widget.attrs.update({'class': 'form-control',
89                                                  'placeholder': 'Ingresa la nueva contraseña'})
90
91        self.fields['new_password2'].widget.attrs.update({'class': 'form-control',
92                                                  'placeholder': 'Repite la nueva contraseña'})
93
94
Note: See TracBrowser for help on using the repository browser.