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

@@ -9,7 +9,8 @@ from django.core.files import File
import requests
from parks.models import Park
from rides.models import Ride, RollerCoasterStats
from companies.models import Company, Manufacturer
from operators.models import Operator
from manufacturers.models import Manufacturer
from reviews.models import Review
from media.models import Photo
from django.contrib.auth.models import Permission
@@ -85,7 +86,7 @@ class Command(BaseCommand):
User.objects.exclude(username='admin').delete() # Delete all users except admin
Park.objects.all().delete()
Ride.objects.all().delete()
Company.objects.all().delete()
Operator.objects.all().delete()
Manufacturer.objects.all().delete()
Review.objects.all().delete()
Photo.objects.all().delete()
@@ -167,7 +168,7 @@ class Command(BaseCommand):
]
for name in companies:
Company.objects.create(name=name)
Operator.objects.create(name=name)
self.stdout.write(f"Created company: {name}")
def create_manufacturers(self):
@@ -213,7 +214,7 @@ class Command(BaseCommand):
status=park_data["status"],
description=park_data["description"],
website=park_data["website"],
owner=Company.objects.get(name=park_data["owner"]),
operator=Operator.objects.get(name=park_data["owner"]),
size_acres=park_data["size_acres"],
# Add location fields
latitude=park_coords["latitude"],