diff --git a/program/filters.py b/program/filters.py index 961adeb75b93f826a1d35edc156db44895be4767..f7669b5b647a85b2e4ebe1c1b56d475eb92eb5c3 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 0000000000000000000000000000000000000000..ef46c57255176bdc75356e02ed91b14cb18a49a0 --- /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 f6f56c15e1cee9560a59c6957ba063e563637416..13a9db79b074ffc621f86ff948e3142b84aa41d5 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 73d64152bb6f5b490eb88fc1244a70cd109a91b3..c0902f0042a146015583d65b82e0a74771088854 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 c8987d96aacc180d797e5f8583d24c579b1f1924..5e8868c42953d3d8f9d215e7f5d5496f92c8b23c 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)