from typing import Dict def get_ride_display_changes(changes: Dict) -> Dict: """Returns a human-readable version of the ride changes""" field_names = { 'name': 'Name', 'description': 'Description', 'status': 'Status', 'post_closing_status': 'Post-Closing Status', 'opening_date': 'Opening Date', 'closing_date': 'Closing Date', 'status_since': 'Status Since', 'capacity_per_hour': 'Hourly Capacity', 'min_height_in': 'Minimum Height', 'max_height_in': 'Maximum Height', 'ride_duration_seconds': 'Ride Duration' } display_changes = {} for field, change in changes.items(): if field in field_names: old_value = change.get('old', '') new_value = change.get('new', '') # Format specific fields if field == 'status': from .models import Ride choices = dict(Ride.STATUS_CHOICES) old_value = choices.get(old_value, old_value) new_value = choices.get(new_value, new_value) elif field == 'post_closing_status': from .models import Ride choices = dict(Ride.POST_CLOSING_STATUS_CHOICES) old_value = choices.get(old_value, old_value) new_value = choices.get(new_value, new_value) display_changes[field_names[field]] = { 'old': old_value, 'new': new_value } return display_changes def get_ride_model_display_changes(changes: Dict) -> Dict: """Returns a human-readable version of the ride model changes""" field_names = { 'name': 'Name', 'description': 'Description', 'category': 'Category' } display_changes = {} for field, change in changes.items(): if field in field_names: old_value = change.get('old', '') new_value = change.get('new', '') # Format category field if field == 'category': from .models import CATEGORY_CHOICES choices = dict(CATEGORY_CHOICES) old_value = choices.get(old_value, old_value) new_value = choices.get(new_value, new_value) display_changes[field_names[field]] = { 'old': old_value, 'new': new_value } return display_changes