major changes, including tailwind v4

This commit is contained in:
pacnpal
2025-08-15 12:24:20 -04:00
parent f6c8e0e25c
commit da7c7e3381
261 changed files with 22783 additions and 10465 deletions

View File

@@ -4,7 +4,7 @@ from autocomplete import AutocompleteWidget
from core.forms import BaseAutocomplete
from .models import Park
from location.models import Location
from .models.location import ParkLocation
from .querysets import get_base_park_queryset
@@ -262,13 +262,49 @@ class ParkForm(forms.ModelForm):
}
# Handle location: update if exists, create if not
if park.location.exists():
location = park.location.first()
try:
park_location = park.location
# Update existing location
for key, value in location_data.items():
setattr(location, key, value)
location.save()
else:
Location.objects.create(content_object=park, **location_data)
if key in ['latitude', 'longitude'] and value:
continue # Handle coordinates separately
if hasattr(park_location, key):
setattr(park_location, key, value)
# Handle coordinates if provided
if 'latitude' in location_data and 'longitude' in location_data:
if location_data['latitude'] and location_data['longitude']:
park_location.set_coordinates(
float(location_data['latitude']),
float(location_data['longitude'])
)
park_location.save()
except ParkLocation.DoesNotExist:
# Create new ParkLocation
coordinates_data = {}
if 'latitude' in location_data and 'longitude' in location_data:
if location_data['latitude'] and location_data['longitude']:
coordinates_data = {
'latitude': float(location_data['latitude']),
'longitude': float(location_data['longitude'])
}
# Remove coordinate fields from location_data for creation
creation_data = {k: v for k, v in location_data.items()
if k not in ['latitude', 'longitude']}
creation_data.setdefault('country', 'USA')
park_location = ParkLocation.objects.create(
park=park,
**creation_data
)
if coordinates_data:
park_location.set_coordinates(
coordinates_data['latitude'],
coordinates_data['longitude']
)
park_location.save()
if commit:
park.save()