Merge pull request #595 from taigaio/issue/3856/show_if_i_am_a_meber

Issue #3856: Show if I am a member of a project
remotes/origin/logger
Alejandro 2016-02-03 08:02:49 +01:00
commit c9ff7287d1
1 changed files with 8 additions and 0 deletions

View File

@ -312,6 +312,7 @@ class ProjectSerializer(FanResourceSerializerMixin, WatchedResourceModelSerializ
public_permissions = PgArrayField(required=False) public_permissions = PgArrayField(required=False)
my_permissions = serializers.SerializerMethodField("get_my_permissions") my_permissions = serializers.SerializerMethodField("get_my_permissions")
i_am_owner = serializers.SerializerMethodField("get_i_am_owner") i_am_owner = serializers.SerializerMethodField("get_i_am_owner")
i_am_member = serializers.SerializerMethodField("get_i_am_member")
tags = TagsField(default=[], required=False) tags = TagsField(default=[], required=False)
tags_colors = TagsColorsField(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 is_project_owner(self.context["request"].user, obj)
return False 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): def get_total_closed_milestones(self, obj):
# The "closed_milestone" attribute can be attached in the get_queryset method of the viewset. # The "closed_milestone" attribute can be attached in the get_queryset method of the viewset.
qs_closed_milestones = getattr(obj, "closed_milestones", None) qs_closed_milestones = getattr(obj, "closed_milestones", None)