class UserRegisterForm(UserCreationForm): username = forms.EmailField(label="e-mail", max_length=64, help_text="e-mail as username") forms.EmailField() class Meta: model = User fields = ('username', 'password1', 'password2') def save(self, commit=True): user = super(UserRegisterForm, self).save(commit=False) user.email = self.cleaned_data["username"] if commit: user.save() return user
class UserUpdateForm(forms.Form): """ Form for a user to edit their email and password """ email = forms.EmailField() current_password = forms.CharField(widget=forms.PasswordInput, required=False) new_password1 = forms.CharField(label="New password", widget=forms.PasswordInput, required=False) new_password2 = forms.CharField(label="Confirm new password", widget=forms.PasswordInput, required=False) # make sure we can pass the User instance in to the form def __init__(self, *args, **kwargs): self.user = kwargs.pop("user", None) super(UserUpdateForm, self).__init__(*args, **kwargs) def clean_current_password(self): old = self.cleaned_data.get("current_password") if not old or check_password(old, self.user.password): return old else: raise forms.ValidationError( "Please enter your correct current password") def clean_new_password2(self): first = self.cleaned_data.get("new_password1") second = self.cleaned_data.get("new_password2") if first != second: raise forms.ValidationError("The passwords must match!") return second
class AssessmentSignupForm(SignupForm): required_css_class = 'required' error_css_class = 'error' assessment_uuid = forms.CharField( widget=forms.HiddenInput(), ) email = forms.EmailField( label='', widget=forms.TextInput( attrs={ 'placeholder': _('Your email'), 'class': 'input-lg', }, ), ) password1 = forms.CharField( label='', widget=forms.PasswordInput( attrs={ 'placeholder': _('Choose password'), 'class': 'input-lg', }, ), ) def __init__(self, *args, **kwargs): super(AssessmentSignupForm, self).__init__(*args, **kwargs) # The label attribute in the field definition # does not work, probably bc there is some magic # going on due to email/username options. self.fields['email'].label = ''
class SupplierContactForm(forms.ModelForm): required_css_class = 'required' error_css_class = 'error' company = forms.CharField( widget=forms.TextInput(attrs={ 'placeholder': 'Your company', 'class': 'input-lg' }), ) email = forms.EmailField( widget=forms.TextInput(attrs={ 'placeholder': 'Email address', 'class': 'input-lg' }), ) phone = forms.CharField(widget=forms.TextInput(attrs={ 'placeholder': 'Phone number', 'class': 'input-lg' }), required=False) website = forms.CharField( widget=forms.TextInput(attrs={ 'placeholder': 'www.your-company.com', 'class': 'input-lg' }), required=False) type_of_business = forms.ChoiceField( label='', choices=SupplierContact.SUPPLIER_TYPE_CHOICES, widget=forms.RadioSelect(), help_text=_('Please select your type of business.')) class Meta: exclude = [] model = SupplierContact
class RegistrationForm(UserCreationForm): email = forms.EmailField(max_length=60) class Meta: model = User fields = ( 'email', 'username', )
class CustomPasswordResetForm(PasswordResetForm): """Form for password reset containing email input.""" email = forms.EmailField( required=True, label='Email', widget=forms.EmailInput(attrs={'placeholder': '*****@*****.**'})) class Meta: """Association between models and this form.""" model = User
class BasicInformationForm(forms.ModelForm): """Form for Basic Information model.""" name = forms.CharField( required=True, label='Your name', widget=forms.TextInput(attrs={'placeholder': 'John Doe'})) email = forms.EmailField( required=True, label='Your email', widget=forms.EmailInput(attrs={ 'readonly': 'readonly', 'placeholder': '*****@*****.**' })) image = forms.ImageField(required=False, widget=CustomClearableFileInput()) website = forms.URLField( required=False, label='Your website', widget=forms.URLInput(attrs={'placeholder': 'http://john.doe.com'})) inasafe_roles = forms.ModelMultipleChoiceField( required=True, label='Your InaSAFE role(s)', queryset=InasafeRole.objects.filter(sort_number__gte=1), widget=forms.CheckboxSelectMultiple) osm_roles = forms.ModelMultipleChoiceField( required=False, label='Your OSM role(s)', queryset=OsmRole.objects.filter(sort_number__gte=1), widget=forms.CheckboxSelectMultiple) osm_username = forms.CharField( required=False, label='OSM Username', widget=forms.TextInput(attrs={'placeholder': 'johndoe'})) email_updates = forms.BooleanField( required=False, label='Receive project news and updates') location = forms.PointField(label='Click your location on the map', widget=LeafletWidget()) class Meta: """Association between models and this form.""" model = User fields = [ 'name', 'email', 'image', 'website', 'inasafe_roles', 'osm_roles', 'osm_username', 'location', 'email_updates' ] def save(self, commit=True): """Save form. :param commit: Whether committed to db or not. :type commit: bool """ user = super(BasicInformationForm, self).save(commit=False) if commit: user.save() return user
class SignUpForm(UserCreationForm): email = forms.EmailField(max_length=150, help_text='Email') class Meta: model = User fields = ( 'username', 'email', 'password1', 'password2', )
class BasicInformationForm(forms.ModelForm): """Form for Basic Information model.""" name = forms.CharField( required=True, label='Your name', widget=forms.TextInput( attrs={ 'placeholder': 'John Doe'}) ) email = forms.EmailField( required=True, label='Your email', widget=forms.EmailInput( attrs={ 'readonly': 'readonly', 'placeholder': '*****@*****.**'}) ) website = forms.URLField( required=False, label='Your website', widget=forms.URLInput( attrs={ 'placeholder': 'http://john.doe.com'}) ) role = forms.ModelChoiceField( label='Your role', queryset=Role.objects.filter(sort_number__gte=1), initial=1) email_updates = forms.BooleanField( required=False, label='Receive project news and updates') location = forms.PointField( label='Click your location on the map', widget=LeafletWidget()) class Meta: """Association between models and this form.""" model = User fields = ['name', 'email', 'website', 'role', 'location', 'email_updates'] def save(self, commit=True): """Save form. :param commit: Whether committed to db or not. :type commit: bool """ user = super(BasicInformationForm, self).save(commit=False) if commit: user.save() return user
class LoginForm(forms.Form): """Form for user to log in.""" class Meta: """Meta of the form.""" fields = ['email', 'password'] email = forms.EmailField(widget=forms.EmailInput( attrs={ 'class': 'form-control', 'placeholder': '*****@*****.**' })) password = forms.CharField(widget=forms.PasswordInput( attrs={ 'class': 'form-control', 'placeholder': 'Your s3cr3T password' }))
class AuthorizationForm(forms.ModelForm): first_name = forms.CharField(label="Nom", required=False) last_name = forms.CharField(label="Prenom", required=False) username = forms.CharField(label="Nom d'utilisateur") email = forms.EmailField(label="Adresse email", required=False) level = forms.ModelChoiceField( label="Niveau d'autorisation", queryset=UserLevelPermission.objects.filter(rank__gte=1).order_by('rank'), empty_label=None) def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) if self.instance and hasattr(self.instance, 'user'): self.fields['email'].initial = self.instance.user.email self.fields['first_name'].initial = self.instance.user.first_name self.fields['last_name'].initial = self.instance.user.last_name self.fields['level'].initial = self.instance.level self.fields['username'].initial = self.instance.user.username self.fields['first_name'].disabled = True self.fields['last_name'].disabled = True self.fields['email'].disabled = True self.fields['username'].disabled = True class Meta: model = Authorization fields = ( 'first_name', 'last_name', 'username', 'email', 'level', )
class EmpleadoForm(forms.Form): cedula = forms.CharField(required=False, label=u'Cédula') nombres = forms.CharField(max_length=250, widget=forms.TextInput(attrs={'size': '30'})) apellido_paterno = forms.CharField( max_length=250, widget=forms.TextInput(attrs={'size': '30'})) apellido_materno = forms.CharField( max_length=250, widget=forms.TextInput(attrs={'size': '30'}), required=False) pais = forms.ModelChoiceField( queryset=Pais.objects.all(), empty_label="Escoger un pais", widget=forms.Select(attrs={ 'placeholder': 'País', 'onChange': "getProvincias(this.value)" })) provincia = forms.ModelChoiceField( queryset=Provincia.objects.none(), empty_label="Escoger una provincia", widget=forms.Select( attrs={ 'placeholder': 'Provincia o estado', 'onChange': "getCiudades(this.value)" })) ciudad = forms.ModelChoiceField( queryset=Ciudad.objects.none(), empty_label="Escoger una ciudad", widget=forms.Select(attrs={'placeholder': 'Ciudad o Cantón'})) sexo = forms.ChoiceField(choices=PersonaNatural.SEXO_CHOICES, required=True) fecha_nacimiento = forms.DateField(required=False) observaciones = forms.CharField(widget=forms.Textarea()) usuario = forms.CharField(max_length=13, widget=forms.TextInput(attrs={'size': '30'})) contrasenia = forms.CharField( max_length=13, widget=forms.PasswordInput(attrs={'size': '30'})) email = forms.EmailField(max_length=25, widget=forms.TextInput(attrs={'size': '30'})) plazas_trabajo = forms.ModelMultipleChoiceField( queryset=PlazaTrabajo.objects.all(), widget=forms.SelectMultiple) foto = forms.ImageField(required=False) def modificarQuerySet(self, pais_id, provincia_id): if pais_id not in ('', None): self.fields['provincia'].queryset = Provincia.objects.filter( pais__id=pais_id) if provincia_id not in ('', None): self.fields['ciudad'].queryset = Ciudad.objects.filter( provincia__id=provincia_id) def save(self, empleado=None): cleaned_data = super(EmpleadoForm, self).clean() if empleado is None: persona = Persona() persona.tipo = Persona.TIPO_PERSONA_NATURAL persona.observaciones = cleaned_data["observaciones"] persona.ruc = cleaned_data["cedula"] persona.nombre_comercial = "" persona.save() usuario = User() usuario.username = cleaned_data["usuario"] usuario.set_password(cleaned_data["contrasenia"]) usuario.email = cleaned_data["email"] usuario.save() persona_natural = PersonaNatural() persona_natural.ciudad_nacimiento = cleaned_data['ciudad'] persona_natural.cedula = cleaned_data["cedula"] persona_natural.nombres = cleaned_data["nombres"] persona_natural.apellido_paterno = cleaned_data["apellido_paterno"] persona_natural.apellido_materno = cleaned_data["apellido_materno"] persona_natural.persona = persona persona_natural.sexo = cleaned_data["sexo"] persona_natural.fecha_nacimiento = cleaned_data["fecha_nacimiento"] persona_natural.save() empleado = Empleado() empleado.persona = persona_natural empleado.usuario = usuario empleado.foto = cleaned_data["foto"] empleado.observaciones = cleaned_data["observaciones"] empleado.save() empleado.plazas_trabajo = cleaned_data["plazas_trabajo"] empleado.save() else: empleado.persona.nombres = cleaned_data["nombres"] empleado.persona.apellido_paterno = cleaned_data[ "apellido_paterno"] empleado.persona.apellido_materno = cleaned_data[ "apellido_materno"] empleado.persona.sexo = cleaned_data["sexo"] empleado.persona.cedula = cleaned_data["cedula"] empleado.persona.ciudad_nacimiento = cleaned_data["ciudad"] empleado.persona.save() empleado.usuario.email = cleaned_data["email"] empleado.usuario.save() empleado.foto = cleaned_data["foto"] empleado.observaciones = cleaned_data["observaciones"] empleado.save() empleado.plazas_trabajo = cleaned_data["plazas_trabajo"] empleado.save() return empleado def clean_usuario(self): if self.cleaned_data['usuario']: p = User.objects.filter(username=self.cleaned_data['usuario']) if len(p) > 0: raise forms.ValidationError( _("Ya esxiste un usuario con este username")) return self.cleaned_data['usuario']
class CreateUser(forms.Form): email = forms.EmailField(label='Email address', validators=[validate_email_unique]) password = forms.CharField(label='Password', widget=forms.PasswordInput)
class SignUpForm(UserCreationForm): username = forms.CharField( label='Usuario', max_length=30, required=True, help_text= 'Requerido. 30 characters o menos. Letras, digitos y @/./+/-/_ solamente.', widget=forms.TextInput(attrs={ 'class': "form-control", 'placeholder': 'Usuario', 'type': "text" })) first_name = forms.CharField( label='Nombre', max_length=30, required=False, help_text='Opcional.', widget=forms.TextInput(attrs={ 'class': "form-control", 'placeholder': 'Nombres', 'type': "text" })) last_name = forms.CharField( label='Apellido', max_length=30, required=False, help_text='Opcional.', widget=forms.TextInput(attrs={ 'class': "form-control", 'placeholder': 'Apellido', 'type': "text" })) email = forms.EmailField( label='Correo Electrónico', max_length=254, help_text='Requerido. Informar una casilla de correo válida.', widget=forms.TextInput( attrs={ 'class': "form-control", 'placeholder': 'casilla@dominio', 'type': "email" })) password1 = forms.CharField(label='Contraseña', max_length=30, required=False, help_text='Requerido.', widget=forms.TextInput( attrs={ 'class': "form-control", 'placeholder': 'Contraseña', 'type': "password" })) password2 = forms.CharField(label='Confirmación de Contraseña', max_length=30, required=False, help_text='Requerido.', widget=forms.TextInput( attrs={ 'class': "form-control", 'placeholder': 'Contraseña', 'type': "password" })) class Meta: model = User fields = ( 'username', 'first_name', 'last_name', 'email', 'password1', 'password2', )
class RegistrationForm(forms.ModelForm): """Form for user model.""" name = forms.CharField( required=True, label='Your name', widget=forms.TextInput( attrs={'placeholder': 'John Doe'}) ) email = forms.EmailField( required=True, label='Your email', widget=forms.EmailInput( attrs={ 'placeholder': '*****@*****.**'}) ) password = forms.CharField( required=True, label='Your password', widget=forms.PasswordInput() ) password2 = forms.CharField( required=True, label='Your password (again)', widget=forms.PasswordInput() ) website = forms.URLField( required=False, label='Your website', widget=forms.URLInput( attrs={'placeholder': 'http://john.doe.com'}) ) location = forms.PointField( label='Click your location on the map', widget=LeafletWidget()) role = forms.ModelChoiceField( label='Your role', queryset=Role.objects.filter(sort_number__gte=1), initial=1) email_updates = forms.BooleanField( required=False, label='Receive project news and updates') class Meta: """Association between models and this form.""" model = User fields = ['name', 'email', 'password', 'password2', 'website', 'role', 'location', 'email_updates'] def clean(self): """Verifies that the values entered into the password fields match.""" cleaned_data = super(RegistrationForm, self).clean() if 'password' in cleaned_data and 'password2' in cleaned_data: if cleaned_data['password'] != cleaned_data['password2']: raise forms.ValidationError( "Passwords don't match. Please enter both fields again.") return cleaned_data def save(self, commit=True): """Save form. :param commit: Whether committed to db or not. :type commit: bool """ user = super(RegistrationForm, self).save(commit=False) user.set_password(self.cleaned_data['password']) if commit: user.save() return user
class RegistrationForm(forms.ModelForm): """Form for user model.""" name = forms.CharField( required=True, label='Name', widget=forms.TextInput(attrs={'placeholder': 'John Doe'})) email = forms.EmailField( required=True, label='Email', widget=forms.EmailInput(attrs={'placeholder': '*****@*****.**'})) image = forms.ImageField(required=False, widget=CustomClearableFileInput()) password = forms.CharField(required=True, label='Password', widget=forms.PasswordInput()) password2 = forms.CharField(required=True, label='Password (again)', widget=forms.PasswordInput()) website = forms.URLField( required=False, label='Website', widget=forms.URLInput(attrs={'placeholder': 'http://john.doe.com'})) inasafe_roles = forms.ModelMultipleChoiceField( required=True, label='Your InaSAFE role(s)', queryset=InasafeRole.objects.all(), widget=forms.CheckboxSelectMultiple) osm_roles = forms.ModelMultipleChoiceField( required=False, label='Your OSM role(s)', queryset=OsmRole.objects.all(), widget=forms.CheckboxSelectMultiple) osm_username = forms.CharField( required=False, label='OSM Username', widget=forms.TextInput(attrs={'placeholder': 'johndoe'})) location = forms.PointField( label='Draw a marker as your location on the map', widget=LeafletWidget()) email_updates = forms.BooleanField( required=False, label='Receive project news and updates') class Meta: """Association between models and this form.""" model = User fields = [ 'name', 'email', 'image', 'password', 'password2', 'website', 'inasafe_roles', 'osm_roles', 'osm_username', 'location', 'email_updates' ] def clean(self): """Verifies that the values entered into the password fields match.""" cleaned_data = super(RegistrationForm, self).clean() if 'password' in cleaned_data and 'password2' in cleaned_data: if cleaned_data['password'] != cleaned_data['password2']: raise forms.ValidationError( "Passwords don't match. Please enter both fields again.") return cleaned_data def save(self, commit=True): """Save form. :param commit: Whether committed to db or not. :type commit: bool """ user = super(RegistrationForm, self).save(commit=False) user.set_password(self.cleaned_data['password']) if commit: user.save() return user