From 78616770b46846509a89f5065b15969e4a70e70c Mon Sep 17 00:00:00 2001 From: Ernesto Rico Schmidt <ernesto@helsinki.at> Date: Mon, 11 Dec 2023 17:34:49 -0400 Subject: [PATCH] feat: add permissions and groups --- .../0076_add_permissions_and_groups.py | 47 +++++++++++++++++++ program/models.py | 14 ++++++ 2 files changed, 61 insertions(+) create mode 100644 program/migrations/0076_add_permissions_and_groups.py diff --git a/program/migrations/0076_add_permissions_and_groups.py b/program/migrations/0076_add_permissions_and_groups.py new file mode 100644 index 00000000..c8b12a6f --- /dev/null +++ b/program/migrations/0076_add_permissions_and_groups.py @@ -0,0 +1,47 @@ +# Generated by Django 4.2.6 on 2023-12-07 20:29 + +from django.db import migrations + + +def add_groups(apps, _): + Group = apps.get_model("auth", "Group") + + Group.objects.get_or_create(name="Program") + Group.objects.get_or_create(name="Broadcast") + Group.objects.get_or_create(name="BroadcastPlus") + + +class Migration(migrations.Migration): + dependencies = [ + ("program", "0075_remove_timeslot_language_remove_timeslot_topic_and_more"), + ] + + operations = [ + migrations.AlterModelOptions( + name="host", + options={ + "ordering": ("name",), + "permissions": [ + ("change_biography", "Can change biography"), + ("change_email", "Can change email"), + ("change_image", "Can change image"), + ("change_name", "Can change name"), + ], + }, + ), + migrations.AlterModelOptions( + name="show", + options={ + "ordering": ("slug",), + "permissions": [ + ("change_description", "Can change description"), + ("change_email", "Can change email"), + ("change_image", "Can change image"), + ("change_logo", "Can change logo"), + ("change_name", "Can change name"), + ("change_short_description", "Can change short_description"), + ], + }, + ), + migrations.RunPython(code=add_groups), + ] diff --git a/program/models.py b/program/models.py index 3877bb07..aaf8e4d0 100644 --- a/program/models.py +++ b/program/models.py @@ -173,6 +173,12 @@ class Host(models.Model): class Meta: ordering = ("name",) + permissions = [ + ("change_biography", "Can change biography"), + ("change_email", "Can change email"), + ("change_image", "Can change image"), + ("change_name", "Can change name"), + ] def __str__(self): return self.name @@ -251,6 +257,14 @@ class Show(models.Model): class Meta: ordering = ("slug",) + permissions = [ + ("change_description", "Can change description"), + ("change_email", "Can change email"), + ("change_image", "Can change image"), + ("change_logo", "Can change logo"), + ("change_name", "Can change name"), + ("change_short_description", "Can change short_description"), + ] def __str__(self): return self.name -- GitLab