diff --git a/program/serializers.py b/program/serializers.py index c7221805f14852c47df905bd871d3e7b881f7da1..f03d95a0ee8663102c2d98e9d98e87b93a6496a4 100644 --- a/program/serializers.py +++ b/program/serializers.py @@ -469,6 +469,7 @@ class ShowSerializer(serializers.HyperlinkedModelSerializer): image_id = serializers.PrimaryKeyRelatedField( allow_null=True, queryset=Image.objects.all(), required=False ) + internal_note = serializers.SerializerMethodField() language_ids = serializers.PrimaryKeyRelatedField( many=True, queryset=Language.objects.all(), source="language" ) @@ -524,6 +525,16 @@ class ShowSerializer(serializers.HyperlinkedModelSerializer): "type_id", ) + read_only_fields + def get_internal_note(self, obj) -> str: + """Only members of the privileged group can see the internal note.""" + + user = self.context.get("request").user + + if user.groups.filter(name=settings.PRIVILEGED_GROUP).exists(): + return obj.internal_note + else: + return "" + def create(self, validated_data): """ Create and return a new Show instance, given the validated data.