fix
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
from django.db import transaction
|
from django.db import transaction
|
||||||
|
from django.db.models import Q
|
||||||
|
|
||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
|
|
||||||
@@ -293,8 +294,20 @@ class ProjectsSerializer(serializers.ModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class ProjectFoldersSerializer(serializers.ModelSerializer):
|
class ProjectFoldersSerializer(serializers.ModelSerializer):
|
||||||
projects = ProjectsSerializer(many=True)
|
projects = serializers.SerializerMethodField(method_name='get_projects')
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = ProjectFolder
|
model = ProjectFolder
|
||||||
fields = ['id', 'name', 'projects']
|
fields = ['id', 'name', 'projects']
|
||||||
|
|
||||||
|
def get_projects(self, obj):
|
||||||
|
user = self.context.get('user')
|
||||||
|
is_mine = self.context.get('is_mine')
|
||||||
|
if is_mine and is_mine.lower() == 'true':
|
||||||
|
projects = obj.projects.filter(
|
||||||
|
Q(boss=user) |
|
||||||
|
Q(foreman=user) |
|
||||||
|
Q(other_members=user)
|
||||||
|
).distinct()
|
||||||
|
return ProjectsSerializer(projects, many=True).data
|
||||||
|
return ProjectsSerializer(obj.projects, many=True).data
|
||||||
Reference in New Issue
Block a user