From 3bb27f79807de67cd9aa65f406587e75566d5fb2 Mon Sep 17 00:00:00 2001
From: Ernesto Rico Schmidt <ernesto@helsinki.at>
Date: Thu, 11 Apr 2024 16:34:42 -0400
Subject: [PATCH] feat: add admin for Radio Settings

---
 program/admin.py | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/program/admin.py b/program/admin.py
index 4dc801a8..d6f3e91a 100644
--- a/program/admin.py
+++ b/program/admin.py
@@ -1,6 +1,9 @@
+from django_json_widget.widgets import JSONEditorWidget
+
 from django.contrib import admin
 from django.contrib.auth.admin import UserAdmin
 from django.contrib.auth.models import User
+from django.db.models import JSONField
 from program.models import (
     Category,
     FundingCategory,
@@ -9,6 +12,7 @@ from program.models import (
     License,
     LinkType,
     MusicFocus,
+    RadioSettings,
     RRule,
     Topic,
     Type,
@@ -95,3 +99,25 @@ class UserProfileUserAdmin(UserAdmin):
 
 admin.site.unregister(User)
 admin.site.register(User, UserProfileUserAdmin)
+
+
+@admin.register(RadioSettings)
+class RadioSettingsAdmin(admin.ModelAdmin):
+    fieldsets = [
+        (None, {"fields": ["station_name", "station_website", "station_logo"]}),
+        ("Fallback", {"fields": ["fallback_show"]}),
+        ("CBA", {"fields": ["cba_api_key", "cba_domains"]}),
+        ("Playout", {"fields": ["playout_channels"]}),
+    ]
+    formfield_overrides = {
+        JSONField: {
+            "widget": JSONEditorWidget(
+                height=200,
+                options={
+                    "enableSort": False,
+                    "enableTransform": False,
+                    "modes": ["code"],
+                },
+            )
+        },
+    }
-- 
GitLab