class ConfirmedCaseForm(forms.Form): estimated_date_contracted = forms.DateField( input_formats=['%Y-%m-%d'], widget=XDSoftDatePickerInput(), label='Estimated Date Contracted') date_first_symptoms = forms.DateField(input_formats=['%Y-%m-%d'], widget=XDSoftDatePickerInput(), label='Date of First Symptoms') date_confirmed = forms.DateField(input_formats=['%Y-%m-%d'], widget=XDSoftDatePickerInput(), label='Date Confirmed') additional_info = forms.CharField(widget=BootstrapTextArea(), label='Additional Information', max_length=40000, required=False) age_range = forms.ChoiceField(widget=BootstrapSelect(choices=age_ranges), choices=age_ranges) gender = forms.ChoiceField(widget=BootstrapSelect(choices=genders), choices=genders) diseases = MultiBinaryField( widget=BootstrapMultiBinaryRadio(options=diseases), choices=diseases)
class SpaceTimeForm(forms.Form): location = PointField(label='Possible Contagion Site') start_date = forms.DateField(input_formats=['%Y-%m-%d'], widget=XDSoftDatePickerInput(), label='START') end_date = forms.DateField(input_formats=['%Y-%m-%d'], widget=XDSoftDatePickerInput(), label='END')
class ContagionSiteForm(forms.Form): location = PointField(label='Possible Contagion Site') start_date = forms.DateField(input_formats=['%Y-%m-%d'], widget=XDSoftDatePickerInput(), label='START') end_date = forms.DateField(input_formats=['%Y-%m-%d'], widget=XDSoftDatePickerInput(), label='END') radius = forms.ChoiceField(widget=BootstrapSelect(choices=radii), choices=radii)
class RequesterUserInforForm(forms.ModelForm): birthday = forms.DateField(label=_('Date of birth'), input_formats=["%d/%m/%Y"]) ride_experience = forms.ChoiceField(label=_('Ride experience'), choices=models.REQUESTER_EXPERIENCE) class Meta: fields = ( 'avatar', 'first_name', 'last_name', 'email', 'language', 'country', 'city_alias', 'gender', 'birthday', 'ride_experience', ) model = models.User def save(self, **kwargs): city_alias = self.cleaned_data.get('city_alias') if city_alias: self.instance.city = city_alias.city super(RequesterUserInforForm, self).save(**kwargs)
class SignupRequesterForm(forms.ModelForm): gender = forms.CharField(label=_('Gender')) birthday = forms.DateField(label=_('Date of birth'), input_formats=["%d/%m/%Y"]) ride_experience = forms.ChoiceField(choices=models.REQUESTER_EXPERIENCE) class Meta: model = models.User fields = ('gender', 'birthday', 'ride_experience')
def __init__(self, *args, **kwargs): extra = kwargs.pop('extra', None) feature = kwargs.pop('feature', None) super().__init__(*args, **kwargs) for custom_field in extra.order_by('position'): if custom_field.field_type == 'boolean': self.fields[custom_field.name] = forms.BooleanField( label=custom_field.label, initial=False, required=False, ) if custom_field.field_type == 'char': self.fields[custom_field.name] = forms.CharField( label=custom_field.label, max_length=256, required=False) if custom_field.field_type == 'date': self.fields[custom_field.name] = forms.DateField( label=custom_field.label, required=False, ) if custom_field.field_type == 'integer': self.fields[custom_field.name] = forms.IntegerField( label=custom_field.label, required=False) if custom_field.field_type == 'decimal': self.fields[custom_field.name] = forms.DecimalField( label=custom_field.label, required=False, widget=forms.TextInput(attrs={'localization': False})) if custom_field.field_type == 'text': self.fields[custom_field.name] = forms.CharField( label=custom_field.label, required=False, widget=forms.Textarea()) if custom_field.field_type == 'list' and custom_field.options: self.fields[custom_field.name] = forms.ChoiceField( label=custom_field.label, choices=[(str(xx), str(xx)) for xx in custom_field.options], required=False) self.fields[custom_field.name].widget.attrs.update( {'field_type': custom_field.field_type}) if feature and isinstance(feature.feature_data, dict): for custom_field in extra: self.fields[ custom_field.name].initial = feature.feature_data.get( custom_field.name)
class AssignmentForm(forms.Form): pick_date = forms.DateField() drop_date = forms.DateField() def __init__(self, user, *args, **kwargs): super(AssignmentForm, self).__init__(*args, **kwargs) if user.profile.temp_address: address = user.profile.temp_address else: address = user.profile.address g = geocoder.mapbox(address, key=MB_KEY) p = Point(g.latlng[0], g.latlng[0], srid=4326) supply = Supply.objects.annotate( distance=Distance('location', p)).order_by('distance')[0:] stock = DrugStock.objects.annotate( distance=Distance('location', p)).order_by('distance')[0:] su = [(q.id, q.address) for q in supply] st = [(q.id, q.address) for q in stock] self.fields['pick_point'] = forms.ChoiceField(choices=su) self.fields['drop_point'] = forms.ChoiceField(choices=st)
class CallsignForm(forms.ModelForm): issued = forms.DateField(widget=forms.TextInput(attrs={'type': 'date'}), required=False) location = forms.PointField( srid=4326, widget=forms.OSMWidget(attrs={ 'map_width': 785, 'map_height': 500, 'default_zoom': 12 })) class Meta: model = Callsign fields = ["type", "location", 'cq_zone', "itu_zone", "dstar", "issued"]
class SignupBikeanjoForm(forms.ModelForm): gender = forms.CharField(label=_('Gender')) birthday = forms.DateField(label=_('Date of birth'), input_formats=["%d/%m/%Y"]) ride_experience = forms.ChoiceField(label=_('Ride experience'), choices=models.BIKEANJO_EXPERIENCE) bike_use = forms.ChoiceField(label=_('Bike user'), choices=models.BIKE_USE) initiatives = forms.CharField(label=_('Initiatives'), required=False, max_length=256) class Meta: model = models.User fields = ('gender', 'birthday', 'ride_experience', 'bike_use', 'initiatives')
class BikeanjoUserInforForm(forms.ModelForm): birthday = forms.DateField(label=_('Date of birth'), input_formats=["%d/%m/%Y"]) class Meta: fields = ( 'avatar', 'first_name', 'last_name', 'email', 'language', 'country', 'city_alias', 'gender', 'birthday', ) model = models.User def save(self, **kwargs): city_alias = self.cleaned_data.get('city_alias') if city_alias: self.instance.city = city_alias.city super(BikeanjoUserInforForm, self).save(**kwargs)
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']