From 7c2b69ca80babd6d326e61aef22533fc67cf0aad Mon Sep 17 00:00:00 2001 From: Bruno Martin <bruno.martin@hacklab.com.br> Date: Thu, 30 Jul 2020 08:05:34 -0300 Subject: [PATCH] add field to check if current user can edit the classroom --- courses/classroom/serializers.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/courses/classroom/serializers.py b/courses/classroom/serializers.py index df44502..2da0b77 100644 --- a/courses/classroom/serializers.py +++ b/courses/classroom/serializers.py @@ -40,6 +40,7 @@ class ClassroomSerializer(serializers.ModelSerializer): events = EventSerializer(read_only=True, many=True) courses = BasicCourseSerializer(read_only=True, many=True) forum = ForumSumarySerializer(read_only=True) + can_edit = serializers.SerializerMethodField() class Meta: model = Classroom @@ -55,5 +56,13 @@ class ClassroomSerializer(serializers.ModelSerializer): 'events', 'chat_url', 'forum', + 'can_edit', ) depth = 1 + + def get_can_edit(self, obj): + request = self.context.get("request", None) + if request and hasattr(request, "user"): + return request.user in obj.assistants.all() \ + or request.user in obj.coordinators.all() \ + or request.user.is_superuser -- GitLab