From 2b224a25e1a2e3625743dcf809b9cd7257d4bf36 Mon Sep 17 00:00:00 2001 From: Ernesto Rico Schmidt <ernesto@helsinki.at> Date: Thu, 15 Feb 2024 15:49:47 -0400 Subject: [PATCH] refactor: remove unused owner field from Note --- program/filters.py | 5 ----- program/migrations/0081_remove_note_owner.py | 16 ++++++++++++++++ program/models.py | 1 - program/serializers.py | 3 --- program/views.py | 9 +-------- 5 files changed, 17 insertions(+), 17 deletions(-) create mode 100644 program/migrations/0081_remove_note_owner.py diff --git a/program/filters.py b/program/filters.py index 961adeb7..f7669b5b 100644 --- a/program/filters.py +++ b/program/filters.py @@ -284,10 +284,6 @@ class NoteFilterSet(StaticFilterHelpTextMixin, filters.FilterSet): field_name="id", help_text="Return only notes matching the specified id(s).", ) - owner_ids = IntegerInFilter( - field_name="owner", - help_text="Return only notes that belong to the specified owner(s).", - ) show_ids = IntegerInFilter( field_name="timeslot__show", help_text="Return only notes that belong to the specified show(s).", @@ -305,7 +301,6 @@ class NoteFilterSet(StaticFilterHelpTextMixin, filters.FilterSet): model = models.Note fields = [ "ids", - "owner_ids", "show_ids", "show_owner_ids", "timeslot_ids", diff --git a/program/migrations/0081_remove_note_owner.py b/program/migrations/0081_remove_note_owner.py new file mode 100644 index 00000000..ef46c572 --- /dev/null +++ b/program/migrations/0081_remove_note_owner.py @@ -0,0 +1,16 @@ +# Generated by Django 4.2.10 on 2024-02-15 18:07 + +from django.db import migrations + + +class Migration(migrations.Migration): + dependencies = [ + ("program", "0080_alter_note_options_alter_show_options_and_more"), + ] + + operations = [ + migrations.RemoveField( + model_name="note", + name="owner", + ), + ] diff --git a/program/models.py b/program/models.py index f6f56c15..13a9db79 100644 --- a/program/models.py +++ b/program/models.py @@ -466,7 +466,6 @@ class Note(models.Model): created_by = models.CharField(max_length=150) image = models.ForeignKey(Image, null=True, on_delete=models.CASCADE, related_name="notes") language = models.ManyToManyField(Language, blank=True, related_name="episodes") - owner = models.ForeignKey(User, on_delete=models.CASCADE, related_name="notes", default=1) playlist = models.TextField(blank=True) # TODO: this requires show in the model and an unique_together constraint. Do we need this? slug = models.SlugField(blank=True, max_length=32) diff --git a/program/serializers.py b/program/serializers.py index 73d64152..c0902f00 100644 --- a/program/serializers.py +++ b/program/serializers.py @@ -949,7 +949,6 @@ class NoteSerializer(serializers.ModelSerializer): "image_id", "language_ids", "links", - "owner_id", "playlist_id", "slug", "summary", @@ -996,10 +995,8 @@ class NoteSerializer(serializers.ModelSerializer): # optional validated_data["image"] = validated_data.pop("image_id", None) - # the creator of the note is the owner note = Note.objects.create( created_by=self.context.get("request").user.username, - owner=self.context.get("request").user, **validated_data, ) diff --git a/program/views.py b/program/views.py index c8987d96..5e8868c4 100644 --- a/program/views.py +++ b/program/views.py @@ -707,13 +707,6 @@ class APINoteViewSet( pagination_class = LimitOffsetPagination serializer_class = NoteSerializer - def get_serializer_context(self): - # the serializer needs the request in the context - context = super().get_serializer_context() - context.update({"request": self.request}) - - return context - def get_queryset(self): """The queryset contains all the notes if the method is safe or the requesting user is member of the privileged group, otherwise it only includes the notes for show owned by the @@ -735,7 +728,7 @@ class APINoteViewSet( if timeslot_pk is None: raise ValidationError({"timeslot_id": [_("This field is required.")]}, code="required") qs = TimeSlot.objects.all() - if not self.request.user.groups.filter(name=settings.ENTITLED_GROUPS[0]): + if not self.request.user.is_superuser: qs = qs.filter(schedule__show__owners=self.request.user) try: return qs.get(pk=timeslot_pk) -- GitLab