Add operators and property owners functionality

- Implemented OperatorListView and OperatorDetailView for managing operators.
- Created corresponding templates for operator listing and detail views.
- Added PropertyOwnerListView and PropertyOwnerDetailView for managing property owners.
- Developed templates for property owner listing and detail views.
- Established relationships between parks and operators, and parks and property owners in the models.
- Created migrations to reflect the new relationships and fields in the database.
- Added admin interfaces for PropertyOwner management.
- Implemented tests for operators and property owners.
This commit is contained in:
pacnpal
2025-07-04 14:49:36 -04:00
parent 8360f3fd43
commit 751cd86a31
80 changed files with 2943 additions and 2358 deletions

View File

@@ -5,7 +5,9 @@ from django.db.models.functions import Concat
from django.core.cache import cache
from parks.models import Park
from rides.models import Ride
from companies.models import Company, Manufacturer
from operators.models import Operator
from property_owners.models import PropertyOwner
from manufacturers.models import Manufacturer
from analytics.models import PageView
from django.conf import settings
import os
@@ -109,12 +111,19 @@ class SearchView(TemplateView):
Q(manufacturer__name__icontains=query)
).select_related('park', 'coaster_stats').prefetch_related('photos')[:10]
# Search companies
context['companies'] = Company.objects.filter(
# Search operators
context['operators'] = Operator.objects.filter(
Q(name__icontains=query) |
Q(headquarters__icontains=query) |
Q(description__icontains=query)
).prefetch_related('parks')[:10]
).prefetch_related('operated_parks')[:10]
# Search property owners
context['property_owners'] = PropertyOwner.objects.filter(
Q(name__icontains=query) |
Q(headquarters__icontains=query) |
Q(description__icontains=query)
).prefetch_related('owned_parks')[:10]
# Search manufacturers
context['manufacturers'] = Manufacturer.objects.filter(