From be0f5d370654569b2d8ec7aea0d83beb15a3bb35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Barrag=C3=A1n=20Merino?= Date: Tue, 2 Feb 2016 19:33:26 +0100 Subject: [PATCH] Issue #3856: Show if I am a member of a project --- taiga/projects/serializers.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/taiga/projects/serializers.py b/taiga/projects/serializers.py index 70875cd4..54d6a48b 100644 --- a/taiga/projects/serializers.py +++ b/taiga/projects/serializers.py @@ -312,6 +312,7 @@ class ProjectSerializer(FanResourceSerializerMixin, WatchedResourceModelSerializ public_permissions = PgArrayField(required=False) my_permissions = serializers.SerializerMethodField("get_my_permissions") i_am_owner = serializers.SerializerMethodField("get_i_am_owner") + i_am_member = serializers.SerializerMethodField("get_i_am_member") tags = TagsField(default=[], required=False) tags_colors = TagsColorsField(required=False) @@ -339,6 +340,13 @@ class ProjectSerializer(FanResourceSerializerMixin, WatchedResourceModelSerializ return is_project_owner(self.context["request"].user, obj) return False + def get_i_am_member(self, obj): + if "request" in self.context: + user = self.context["request"].user + if not user.is_anonymous() and user.cached_membership_for_project(obj): + return True + return False + def get_total_closed_milestones(self, obj): # The "closed_milestone" attribute can be attached in the get_queryset method of the viewset. qs_closed_milestones = getattr(obj, "closed_milestones", None)