refactor: Rename launch_type to propulsion_system across the codebase

This commit is contained in:
pacnpal
2025-09-18 21:01:13 -04:00
parent 516c847377
commit d5cd6ad0a3
21 changed files with 207 additions and 92 deletions

View File

@@ -290,8 +290,8 @@ class SmartRideLoader:
if 'track_material' in filters and filters['track_material']:
q_objects &= Q(coaster_stats__track_material__in=filters['track_material'])
if 'launch_type' in filters and filters['launch_type']:
q_objects &= Q(coaster_stats__launch_type__in=filters['launch_type'])
if 'propulsion_system' in filters and filters['propulsion_system']:
q_objects &= Q(coaster_stats__propulsion_system__in=filters['propulsion_system'])
# Roller coaster height filters
if 'min_height_ft' in filters and filters['min_height_ft']:
@@ -429,7 +429,7 @@ class SmartRideLoader:
'track_material': stats.track_material,
'roller_coaster_type': stats.roller_coaster_type,
'max_drop_height_ft': float(stats.max_drop_height_ft) if stats.max_drop_height_ft else None,
'launch_type': stats.launch_type,
'propulsion_system': stats.propulsion_system,
'train_style': stats.train_style,
'trains_count': stats.trains_count,
'cars_per_train': stats.cars_per_train,
@@ -495,9 +495,9 @@ class SmartRideLoader:
count=models.Count('ride')
).exclude(track_material__isnull=True).order_by('track_material'))
launch_types_data = list(RollerCoasterStats.objects.values('launch_type').annotate(
propulsion_systems_data = list(RollerCoasterStats.objects.values('propulsion_system').annotate(
count=models.Count('ride')
).exclude(launch_type__isnull=True).order_by('launch_type'))
).exclude(propulsion_system__isnull=True).order_by('propulsion_system'))
# Convert to frontend-expected format with value/label/count
categories = [
@@ -536,13 +536,13 @@ class SmartRideLoader:
for item in track_materials_data
]
launch_types = [
propulsion_systems = [
{
'value': item['launch_type'],
'label': self._get_launch_type_label(item['launch_type']),
'value': item['propulsion_system'],
'label': self._get_propulsion_system_label(item['propulsion_system']),
'count': item['count']
}
for item in launch_types_data
for item in propulsion_systems_data
]
# Convert other data to expected format
@@ -633,7 +633,7 @@ class SmartRideLoader:
'statuses': statuses,
'roller_coaster_types': roller_coaster_types,
'track_materials': track_materials,
'launch_types': launch_types,
'propulsion_systems': propulsion_systems,
'parks': parks,
'park_areas': park_areas,
'manufacturers': manufacturers,
@@ -746,6 +746,7 @@ class SmartRideLoader:
'BOBSLED': 'Bobsled',
'PIPELINE': 'Pipeline',
'FOURTH_DIMENSION': '4th Dimension',
'FAMILY': 'Family',
}
if rc_type in rc_type_labels:
return rc_type_labels[rc_type]
@@ -764,9 +765,9 @@ class SmartRideLoader:
else:
raise ValueError(f"Unknown track material: {material}")
def _get_launch_type_label(self, launch_type: str) -> str:
"""Convert launch type to human-readable label."""
launch_labels = {
def _get_propulsion_system_label(self, propulsion_system: str) -> str:
"""Convert propulsion system to human-readable label."""
propulsion_labels = {
'CHAIN': 'Chain Lift',
'LSM': 'Linear Synchronous Motor',
'LIM': 'Linear Induction Motor',
@@ -774,9 +775,10 @@ class SmartRideLoader:
'PNEUMATIC': 'Pneumatic Launch',
'CABLE': 'Cable Lift',
'FLYWHEEL': 'Flywheel Launch',
'NONE': 'No Launch System',
'GRAVITY': 'Gravity',
'NONE': 'No Propulsion System',
}
if launch_type in launch_labels:
return launch_labels[launch_type]
if propulsion_system in propulsion_labels:
return propulsion_labels[propulsion_system]
else:
raise ValueError(f"Unknown launch type: {launch_type}")
raise ValueError(f"Unknown propulsion system: {propulsion_system}")