mirror of
https://expo.survex.com/repositories/troggle/.git
synced 2026-02-08 18:51:24 +00:00
with more styling
This commit is contained in:
@@ -288,29 +288,70 @@ class EntranceLetterForm(ModelForm):
|
||||
|
||||
|
||||
class NewProspectForm(forms.Form):
|
||||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
# If the form is bound (POSTed), update the field's value to uppercase
|
||||
if self.is_bound:
|
||||
data = self.data.copy()
|
||||
ident = data.get('identifier')
|
||||
if ident:
|
||||
data['identifier'] = ident.upper()
|
||||
self.data = data
|
||||
# If initial data is present, ensure it's uppercase too
|
||||
if 'identifier' in self.initial:
|
||||
self.initial['identifier'] = self.initial['identifier'].upper()
|
||||
def clean_identifier(self):
|
||||
identifier = self.cleaned_data['identifier']
|
||||
if identifier:
|
||||
return identifier.upper()
|
||||
return identifier
|
||||
def clean_date_found(self):
|
||||
date = self.cleaned_data['date_found']
|
||||
if date.year <= 1990:
|
||||
raise forms.ValidationError('Year must be after 1990.')
|
||||
return date
|
||||
|
||||
date_found = forms.DateField(
|
||||
label="Date Found",
|
||||
widget=forms.DateInput(attrs={"type": "date"})
|
||||
label="Date Found (YYYY-MM-DD)",
|
||||
input_formats=["%Y-%m-%d"],
|
||||
widget=forms.DateInput(attrs={
|
||||
"type": "text",
|
||||
"placeholder": "2025-08-23",
|
||||
"pattern": "\\d{4}-\\d{2}-\\d{2}",
|
||||
"title": "Enter date as YYYY-MM-DD (e.g. 2025-08-23)",
|
||||
"size": 10,
|
||||
"style": "width: 10ch; min-width: 0;"
|
||||
})
|
||||
)
|
||||
area_code = forms.CharField(
|
||||
area_code = forms.ChoiceField(
|
||||
label="Area Code",
|
||||
max_length=10
|
||||
choices=[('1623', '1623'), ('1626', '1626')],
|
||||
initial='1623',
|
||||
widget=forms.Select(attrs={"style": "width: 6em; min-width: 0;"})
|
||||
)
|
||||
identifier = forms.CharField(
|
||||
label="Identifier (e.g. 2025-AB-01)",
|
||||
max_length=20
|
||||
label="New cave identifier",
|
||||
max_length=20,
|
||||
widget=forms.TextInput(attrs={
|
||||
"placeholder": "2025-AB-01",
|
||||
"size": 10,
|
||||
"style": "width: 10ch; min-width: 0;"
|
||||
})
|
||||
)
|
||||
discovery_name = forms.CharField(
|
||||
label="Discovery Name",
|
||||
max_length=100
|
||||
max_length=100,
|
||||
widget=forms.TextInput(attrs={"placeholder": "Dreibierbittehohle"})
|
||||
)
|
||||
gps_lat = forms.DecimalField(
|
||||
label="GPS Latitude",
|
||||
max_digits=10,
|
||||
decimal_places=7
|
||||
decimal_places=7,
|
||||
widget=forms.NumberInput(attrs={"placeholder": "47.687180"})
|
||||
)
|
||||
gps_long = forms.DecimalField(
|
||||
label="GPS Longitude",
|
||||
max_digits=10,
|
||||
decimal_places=7
|
||||
decimal_places=7,
|
||||
widget=forms.NumberInput(attrs={"placeholder": "13.825211"})
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user