From b1e797a80d4e83b42314a6c83a062296470d2711 Mon Sep 17 00:00:00 2001
From: Ernesto Rico Schmidt <ernesto@helsinki.at>
Date: Mon, 12 Feb 2024 14:41:31 -0400
Subject: [PATCH] feat: generate a slug for a show based on the name

---
 program/serializers.py | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/program/serializers.py b/program/serializers.py
index 97b8e61c..831802fd 100644
--- a/program/serializers.py
+++ b/program/serializers.py
@@ -28,7 +28,7 @@ from rest_framework.permissions import exceptions
 from django.conf import settings
 from django.contrib.auth.models import User
 from django.core.exceptions import ObjectDoesNotExist
-from django.utils import timezone
+from django.utils import text, timezone
 from program.models import (
     Category,
     FundingCategory,
@@ -564,6 +564,10 @@ class ShowSerializer(serializers.HyperlinkedModelSerializer):
         validated_data["logo"] = validated_data.pop("logo_id", None)
         validated_data["predecessor"] = validated_data.pop("predecessor_id", None)
 
+        validated_data["slug"] = validated_data.get(
+            "slug", text.slugify(validated_data.get("name"))
+        )
+
         show = Show.objects.create(
             created_by=self.context.get("request").user.username,
             **validated_data,
-- 
GitLab