Пример #1
0
 class Meta:
     model = CzarApplication
     exclude = ['application_reviewed', 'czar_granted']
     labels = {
         'name_first': 'First Name',
         'name_last': 'Last Name',
         'municipality': 'Location',
         'description': 'About You',
         'twitter': 'Twitter',
         'url': 'URL'
     }
     widgets = {
         'description':
         forms.Textarea(
             attrs={
                 'rows': 3,
                 'placeholder': 'Why you are a good fit for this role'
             }),
         'municipality':
         forms.TextInput(attrs={'placeholder': 'Municipality/City/Region'}),
         'twitter':
         forms.TextInput(attrs={'placeholder': 'Twitter (optional)'}),
         'url':
         forms.TextInput(attrs={'placeholder': 'URL (optional)'})
     }
Пример #2
0
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
Пример #3
0
class CartForm(geoforms.Form):

    pin = geoforms.PointField(widget=geoforms.OSMWidget(
        attrs={
            'map_width': '100%',
            'map_height': 'auto',
            'default_lat': -1.2921,
            'default_lon': 36.8219,
            'default_zoom': 13
        }))
    # Must be filled if point is NULL || Blank
    floor = geoforms.CharField(
        label="Floor",
        widget=geoforms.TextInput(attrs={
            'class': 'form-control',
            'placeholder': 'Floor',
            'id': 'floor'
        }))
    street = geoforms.CharField(
        label="Street",
        widget=geoforms.TextInput(attrs={
            'class': 'form-control',
            'placeholder': 'Street',
            'id': 'street'
        }))
    apt = geoforms.CharField(
        label="Apartment",
        widget=geoforms.TextInput(attrs={
            'class': 'form-control',
            'placeholder': 'Apartment',
            'id': 'apt'
        }))
Пример #4
0
 class Meta:
     model = models.Notice
     fields = ['starts_at', 'ends_at', 'timezone']
     widgets = {
         'starts_at': forms.TextInput(attrs={'type': 'datetime'}),
         'ends_at': forms.TextInput(attrs={'type': 'datetime'}),
     }
Пример #5
0
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
Пример #6
0
 class Meta:
     model = Contact
     fields = (
         'name',
         'email',
         'phone',
     )
     widgets = {
         'name': forms.TextInput(attrs={'placeholder': 'eg. John Smith'}),
         'email': forms.EmailInput(attrs={'placeholder': 'eg. [email protected]'}),
         'phone': forms.TextInput(attrs={'placeholder': 'eg. 07123456789'}),
     }
Пример #7
0
class ProcessCycleCreateForm(forms.ModelForm):
    title = forms.CharField(widget=forms.TextInput(attrs={
        'class': 'form-control',
    }), label=_('Название'))
    sort = forms.CharField(widget=forms.TextInput(attrs={
        'class': 'form-control',
    }), label=_('Сортировка'))

    class Meta:
        model = ProcessCycle
        fields = (
            'title',
            'sort',
        )
Пример #8
0
class HomeForm(forms.Form):
    name = forms.CharField(
        min_length=1,
        max_length=255,
        strip=True,
        widget=forms.TextInput(attrs={'class': 'form-control'})
    )
    lat = forms.FloatField(
        widget=forms.HiddenInput()
    )
    lng = forms.FloatField(
        widget=forms.HiddenInput()
    )
    radius = forms.IntegerField(
        max_value='1000000000',
        min_value='5',
        widget=forms.NumberInput(attrs={'class': 'form-control'}),
        initial=50
    )
    module = forms.ModelChoiceField(
        widget=forms.RadioSelect,
        queryset=Module.objects.all(),
        empty_label='モジュールを選択',
        required=True
    )

    class Meta:
        labels = {
            'radius': 'Radius',
            'name': 'Name',
            'module': 'Module'
        }
Пример #9
0
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 = ''
Пример #10
0
class GeoNamesMatchingLogMatchForm(ModelForm):
    object_id = forms.CharField(widget=forms.TextInput(
        attrs={'readonly': 'readonly'}))

    class Meta:
        model = GeoNamesMatchingLogMatch
        exclude = ('display_for_users', 'number_of_alternatives',
                   'content_type')
Пример #11
0
class GeoNamesMatchingLogMatchedPlacesFormUser(autocomplete_light.ModelForm):
    united_geoname = autocomplete_light.ModelChoiceField(
        'UnitedGeoNameAutocomplete')
    remark = forms.CharField(widget=forms.TextInput(attrs={'size': '30'}),
                             required=False)

    class Meta:
        model = GeoNamesMatchingLogMatchedPlaces
        exclude = ('matchinglogmatch', )
Пример #12
0
 class Meta:
     model = PlaceType
     fields = ("place_type", )
     {
         "place_type":
         forms.TextInput(attrs={
             "placeholder": "Eg. Tourism",
             "required": "false"
         })
     }
Пример #13
0
    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)
Пример #14
0
class Normal2BScanVectorizedModelForm(forms.ModelForm):

    name = forms.CharField(
        label='Update the NAME of Normal2BScanVectorized',
        max_length=254,
        required=False,
        widget=forms.TextInput(attrs={'class': 'form-control mr-sm-1'}))

    class Meta:
        model = Normal2BScanVectorized
        fields = ['name']
Пример #15
0
class CategoryModelForm(forms.ModelForm):

    description = forms.CharField(widget=forms.TextInput(
        attrs={
            'class': 'form-control mr-sm-1',
            'cols': 80,
            'rows': 20
        }))

    class Meta:
        model = Category
        fields = ['name', 'description']
Пример #16
0
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
Пример #17
0
class FeatureSelectFieldAdminForm(forms.Form):
    related_field = forms.ChoiceField(
        label="Champs à ajouter",
        choices=[(str(field.name),
                  "{0} - {1}".format(field.name, field.get_internal_type()))
                 for field in Feature._meta.get_fields()],
        required=False)
    alias = forms.CharField(
        label="Alias",
        required=False,
        widget=forms.TextInput(attrs={
            'class': 'form-control',
            'placeholder': "Alias pour cette colonne"
        }))
Пример #18
0
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"]
Пример #19
0
 class Meta:
     model = Actor
     exclude = ['user']
     help_texts = {
         'vat_number':
         'Trouvez votre numéro <a href="https://www.bfs.admin.ch/bfs/fr/home/registres/registre-entreprises/numero-identification-entreprises.html" target="_blank">TVA</a>',
     }
     widgets = {
         'address':
         RemoteAutocompleteWidget(
             attrs={
                 "apiurl":
                 "https://api3.geo.admin.ch/rest/services/api/SearchServer?",
                 "apiurl_detail":
                 "https://api3.geo.admin.ch/rest/services/api/MapServer/ch.bfs.gebaeude_wohnungs_register/",
                 "search_prefix": "false",
                 "origins": "address",
                 "zipcode_field": "zipcode",
                 "city_field": "city",
                 "placeholder": "ex: Place Pestalozzi 2 Yverdon",
             }),
         'phone_fixed':
         forms.TextInput(attrs={'placeholder': 'ex: 024 111 22 22'}),
         'phone_mobile':
         forms.TextInput(attrs={'placeholder': 'ex: 079 111 22 22'}),
         'vat_number':
         forms.TextInput(attrs={'placeholder': 'ex: CHE-123.456.789'}),
         'name':
         forms.TextInput(attrs={'placeholder': 'ex: Dupond'}),
         'firstname':
         forms.TextInput(attrs={'placeholder': 'ex: Marcel'}),
         'zipcode':
         forms.TextInput(attrs={'placeholder': 'ex: 1400'}),
         'city':
         forms.TextInput(attrs={'placeholder': 'ex: Yverdon'}),
         'company_name':
         forms.TextInput(attrs={'placeholder': 'ex: Construction SA'}),
         'email':
         forms.TextInput(
             attrs={'placeholder': 'ex: [email protected]'}),
     }
Пример #20
0
 class Meta:
     model = Basemap
     fields = ['name', 'style', 'zoom', 'location']
     widgets = {
         'name':
         forms.TextInput(
             attrs={'class': 'form-control form-control nav-item'}),
         'style':
         forms.Select(
             attrs={'class': 'form-control form-control nav-item'}),
         'location':
         forms.HiddenInput(),
         'zoom':
         forms.HiddenInput(),
     }
Пример #21
0
 class Meta:
     model = Actor
     exclude = ['user', 'vat_number']
     widgets = {
         'address':
         RemoteAutocompleteWidget(
             attrs={
                 "apiurl":
                 "https://api3.geo.admin.ch/rest/services/api/SearchServer?",
                 "apiurl_detail":
                 "https://api3.geo.admin.ch/rest/services/api/MapServer/ch.bfs.gebaeude_wohnungs_register/",
                 "search_prefix": "false",
                 "origins": "address",
                 "zipcode_field": "zipcode",
                 "city_field": "city",
                 "placeholder": "ex: Place Pestalozzi 2 Yverdon",
             }),
         'phone_fixed':
         forms.TextInput(attrs={'placeholder': 'ex: 024 111 22 22'}),
         'phone_mobile':
         forms.TextInput(attrs={'placeholder': 'ex: 079 111 22 22'}),
         'name':
         forms.TextInput(attrs={'placeholder': 'ex: Dupond'}),
         'firstname':
         forms.TextInput(attrs={'placeholder': 'ex: Marcel'}),
         'zipcode':
         forms.TextInput(attrs={'placeholder': 'ex: 1400'}),
         'city':
         forms.TextInput(attrs={'placeholder': 'ex: Yverdon'}),
         'company_name':
         forms.TextInput(attrs={'placeholder': 'ex: Construction SA'}),
         'phone_mobile':
         forms.TextInput(attrs={'placeholder': 'ex: 079 111 22 22'}),
         'email':
         forms.TextInput(
             attrs={'placeholder': 'ex: [email protected]'}),
     }
Пример #22
0
class SearchForm(forms.Form):
    distance = forms.IntegerField(widget=forms.NumberInput(
        attrs={
            'class': 'hidden',
            'required': 'required'
        }))
    address = forms.CharField(widget=forms.TextInput(attrs={
        'class': 'hidden',
        'required': 'required'
    }))
    days = forms.IntegerField(widget=forms.NumberInput(attrs={
        'class': 'hidden',
        'required': 'required'
    }))
    event_types = forms.MultipleChoiceField(
        choices=Event.EVENT_TYPE_CHOICES,
        widget=CheckboxSelectMultipleULAttrs(
            ulattrs='class="list-unstyled hidden event-type-list"'))
Пример #23
0
class CustomFieldModelAdminForm(forms.ModelForm):
    alias = forms.CharField(
        label="Alias",
        required=False,
        widget=forms.TextInput(attrs={
            'class': 'form-control',
            'placeholder': "Alias pour cette colonne"
        }))

    class Meta:
        model = CustomField
        fields = ('name', 'alias', 'field_type')

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.fields['field_type'].disabled = True

    def save(self, *args, **kwargs):
        return None
Пример #24
0
 class Meta:
     widgets = {
         'name': forms.TextInput(attrs={'size': 13}),
         'phone_number': forms.NumberInput(attrs={'size': 8})
     }
Пример #25
0
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',
        )
Пример #26
0
 class Meta:
     model = FeatureType
     fields = '__all__'
     widgets = {
         'color': forms.TextInput(attrs={'type': 'color'}),
     }
Пример #27
0
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']
Пример #28
0
    class Meta:

        model = PermitRequest
        exclude = []
        fields = [
            'company', 'project_owner', 'ended', 'archeotype',
            'has_archeology', 'amount', 'paid', 'validated', 'sent',
            'date_start', 'date_end', 'date_end_work_announcement',
            'date_end_work', 'date_request_created', 'road_marking_damaged',
            'is_green_area', 'invoice_to', 'sitetype', 'description',
            'administrative_entity', 'address', 'length', 'width', 'geom'
        ]
        help_texts = {
            'validated': "Par le secrétariat uniquement",
            'archeotype':
            "Zone archéologique observée au moment de la fouille",
            'has_archeology':
            "Zone archéologique détectée sur la base des géodonnées cantonales",
            'ended': "La fouille a-t-elle été contrôlée par le bureau STE ?",
        }
        widgets = {
            'geom':
            SitOpenLayersWidget(
                attrs={
                    'map_width': '100%',
                    'map_height': settings.OL_MAP_HEIGHT,
                    'map_srid': 2056,
                    'default_center': [2539057, 1181111],
                    'default_zoom': 10,
                    'display_raw': False,  #show coordinate in debug
                    'map_clear_style': "visibility:visible;",
                    'edit_geom': False,
                    'min_zoom': 6,
                    'wmts_capabilities_url': settings.WMTS_GETCAP,
                    'wmts_layer': settings.WMTS_LAYER,
                    'wmts_capabilities_url_alternative':
                    settings.WMTS_GETCAP_ALTERNATIVE,
                    'wmts_layer_alternative': settings.WMTS_LAYER_ALTERNATIVE,
                    'administrative_entities_url': 'gpf:adm-entity-geojson',
                }),
            'administrative_entity':
            forms.Select(
                attrs={
                    'onchange':
                    "gpfMap.zoomToAdminEntity(this.options[this.selectedIndex].value);"
                }),
            'date_start':
            DatePickerInput(options={
                "format": "DD/MM/YYYY",
                "locale": "fr"
            }).start_of('event days'),
            'date_end':
            DatePickerInput(options={
                "format": "DD/MM/YYYY",
                "locale": "fr"
            }).end_of('event days'),
            'date_end_work':
            DatePickerInput(options={
                "format": "DD/MM/YYYY",
                "locale": "fr"
            }),
            'date_end_work_announcement':
            DatePickerInput(options={
                "format": "DD/MM/YYYY",
                "locale": "fr"
            }, ),
            'date_request_created':
            forms.TextInput(attrs={'readonly': 'readonly'}),
            'description':
            forms.Textarea(attrs={'rows': '3'}),
            'address':
            RemoteAutocompleteWidget(
                attrs={
                    "apiurl":
                    "https://api3.geo.admin.ch/rest/services/api/SearchServer?",
                    "apiurl_detail":
                    "https://api3.geo.admin.ch/rest/services/api/MapServer/ch.bfs.gebaeude_wohnungs_register/",
                    "search_prefix": "true",
                    "origins": "address",
                    "zipcode_field": "zipcode",
                    "city_field": "city",
                    "placeholder": "ex: Place Pestalozzi 2 Yverdon",
                }),
        }
Пример #29
0
 class Meta:
     model = PermitRequest
     fields = [
         'administrative_entity', 'address', 'geom', 'description',
         'date_start', 'date_end', 'sitetype', 'length', 'width',
         'road_marking_damaged', 'is_green_area', 'invoice_to'
     ]
     widgets = {
         'geom':
         SitOpenLayersWidget(
             attrs={
                 'map_width': '100%',
                 'map_height': settings.OL_MAP_HEIGHT,
                 'map_srid': 2056,
                 'default_center': [2539057, 1181111],
                 'default_zoom': 10,
                 'display_raw': False,  #show coordinate in debug
                 'map_clear_style': "visibility:visible;",
                 'edit_geom': True,
                 'min_zoom': 8,
                 'wmts_capabilities_url': settings.WMTS_GETCAP,
                 'wmts_layer': settings.WMTS_LAYER,
                 'wmts_capabilities_url_alternative':
                 settings.WMTS_GETCAP_ALTERNATIVE,
                 'wmts_layer_alternative': settings.WMTS_LAYER_ALTERNATIVE,
                 'administrative_entities_url': 'gpf:adm-entity-geojson',
             }),
         'administrative_entity':
         forms.Select(
             attrs={
                 'onchange':
                 "gpfMap.zoomToAdminEntity(this.options[this.selectedIndex].value);"
             }),
         'date_start':
         DatePickerInput(
             options={
                 "format":
                 "DD/MM/YYYY",
                 "locale":
                 "fr",
                 "minDate": (
                     datetime.datetime.today() +
                     datetime.timedelta(days=int(settings.MIN_START_DELAY))
                 ).strftime('%Y/%m/%d')
             }).start_of('event days'),
         'date_end':
         DatePickerInput(
             options={
                 "format":
                 "DD/MM/YYYY",
                 "locale":
                 "fr",
                 "minDate": (
                     datetime.datetime.today() +
                     datetime.timedelta(days=int(settings.MIN_START_DELAY))
                 ).strftime('%Y/%m/%d')
             }).end_of('event days'),
         'description':
         forms.Textarea(attrs={'rows': '3'}),
         'zipcode':
         forms.TextInput(attrs={'id': 'id_zipcode_permit'}),
         'city':
         forms.TextInput(attrs={'id': 'id_city_permit'}),
         'address':
         RemoteAutocompleteWidget(
             attrs={
                 "id": "id_adress_permit",
                 "apiurl":
                 "https://api3.geo.admin.ch/rest/services/api/SearchServer?",
                 "apiurl_detail":
                 "https://api3.geo.admin.ch/rest/services/api/MapServer/ch.bfs.gebaeude_wohnungs_register/",
                 "search_prefix": "true",
                 "origins": "address",
                 "zipcode_field": "zipcode_permit",
                 "city_field": "city_permit",
                 "placeholder": "ex: Rue de la plaine",
             }),
     }
Пример #30
0
 class Meta:
     model = Town
     # fields = "__all__"
     fields = [
         "codeTown", "nameTown", "surface", "population", "townPostalcode",
         "codeRegion", "codeDepartement", "centerCoordinateLat",
         "centerCoordinateLong"
     ]
     widgets = {
         'codeTown':
         forms.TextInput(
             attrs={
                 'class':
                 'm-2 border border-2 border-green-200 focus:outline-none '
                 'focus:ring-2 focus:ring-green-600 focus:border-transparent '
                 'text-gray-400 font-bold py-2 px-4 rounded-full'
             }),
         'nameTown':
         forms.TextInput(
             attrs={
                 'placeholder':
                 'Un nouveau nom ?',
                 'class':
                 'm-2 border border-2 border-green-200 focus:outline-none '
                 'focus:ring-2 focus:ring-green-600 focus:border-transparent '
                 'text-gray-400 font-bold py-2 px-4 rounded-full'
             }),
         'codeRegion':
         forms.Select(
             attrs={
                 'class':
                 'm-2 border border-2 border-green-200 focus:outline-none '
                 'focus:ring-2 focus:ring-green-600 focus:border-transparent '
                 'text-gray-400 font-bold py-2 px-4 rounded-full'
             }),
         'codeDepartement':
         forms.Select(
             attrs={
                 'class':
                 'm-2 border border-2 border-green-200 focus:outline-none '
                 'focus:ring-2 focus:ring-green-600 focus:border-transparent '
                 'text-gray-400 font-bold py-2 px-4 rounded-full'
             }),
         'townPostalcode':
         forms.TextInput(
             attrs={
                 'class':
                 'm-2 border border-2 border-green-200 focus:outline-none '
                 'focus:ring-2 focus:ring-green-600 focus:border-transparent '
                 'text-gray-400 font-bold py-2 px-4 rounded-full'
             }),
         'surface':
         forms.NumberInput(
             attrs={
                 'class':
                 'm-2 border border-2 border-green-200 focus:outline-none '
                 'focus:ring-2 focus:ring-green-600 focus:border-transparent '
                 'text-gray-400 font-bold py-2 px-4 rounded-full'
             }),
         'centerCoordinateLat':
         forms.NumberInput(
             attrs={
                 'class':
                 'm-2 border border-2 border-green-200 focus:outline-none '
                 'focus:ring-2 focus:ring-green-600 focus:border-transparent '
                 'text-gray-400 font-bold py-2 px-4 rounded-full'
             }),
         'centerCoordinateLong':
         forms.NumberInput(
             attrs={
                 'class':
                 'm-2 border border-2 border-green-200 focus:outline-none '
                 'focus:ring-2 focus:ring-green-600 focus:border-transparent '
                 'text-gray-400 font-bold py-2 px-4 rounded-full'
             }),
         'population':
         forms.NumberInput(
             attrs={
                 'class':
                 'm-2 border border-2 border-green-200 focus:outline-none '
                 'focus:ring-2 focus:ring-green-600 '
                 'focus:border-transparent text-gray-400 font-bold py-2 '
                 'px-4 rounded-full'
             }),
         # 'center': forms.OSMWidget(attrs={'map_width': 800, 'map_height': 500}),
     }