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