Adding my_permissions field on project serializer

remotes/origin/enhancement/email-actions
Jesús Espino 2014-08-05 10:06:13 +02:00
parent 64a8a137ab
commit 3bd022e0e8
1 changed files with 6 additions and 0 deletions

View File

@ -24,6 +24,8 @@ from taiga.users.services import get_photo_or_gravatar_url
from taiga.users.serializers import UserSerializer
from taiga.users.validators import RoleExistsValidator
from taiga.permissions.service import get_user_project_permissions
from . import models
from . validators import ProjectExistsValidator
@ -137,6 +139,7 @@ class ProjectSerializer(serializers.ModelSerializer):
anon_permissions = PgArrayField(required=False)
public_permissions = PgArrayField(required=False)
stars = serializers.SerializerMethodField("get_stars_number")
my_permissions = serializers.SerializerMethodField("get_my_permissions")
class Meta:
model = models.Project
@ -147,6 +150,9 @@ class ProjectSerializer(serializers.ModelSerializer):
# The "stars_count" attribute is attached in the get_queryset of the viewset.
return getattr(obj, "stars_count", 0)
def get_my_permissions(self, obj):
return get_user_project_permissions(self.context['request'].user, obj)
class ProjectDetailSerializer(ProjectSerializer):
roles = serializers.SerializerMethodField("get_roles")