Exemplo n.º 1
0
    def post(self, request):
        """
        Create a new team
        """
        serializer = TeamSerializer(data=request.data)

        if serializer.is_valid():
            serializer.save()
            return JsonResponse(data={"team": serializer.data},
                                status=status.HTTP_201_CREATED)

        return JsonResponse(data={"errors": serializer.errors},
                            status=status.HTTP_400_BAD_REQUEST)
Exemplo n.º 2
0
class GovUserViewSerializer(serializers.ModelSerializer):
    id = serializers.ReadOnlyField(source="baseuser_ptr_id")
    first_name = serializers.ReadOnlyField()
    last_name = serializers.ReadOnlyField()
    team = TeamSerializer()
    role = RoleListStatusesSerializer()
    default_queue = serializers.SerializerMethodField()

    class Meta:
        model = GovUser
        fields = (
            "id",
            "email",
            "first_name",
            "last_name",
            "status",
            "team",
            "role",
            "default_queue",
        )

    def get_default_queue(self, instance):
        queue_id = str(instance.default_queue)

        if queue_id in SYSTEM_QUEUES.keys():
            return {"id": queue_id, "name": SYSTEM_QUEUES[queue_id]}
        else:
            return TinyQueueSerializer(Queue.objects.get(pk=queue_id)).data
Exemplo n.º 3
0
    def get(self, request, pk):
        """
        Retrieve a team instance
        """
        team = get_team_by_pk(pk)

        serializer = TeamSerializer(team)
        return JsonResponse(data={"team": serializer.data})
Exemplo n.º 4
0
    def get(self, request):
        """
        List all teams
        """
        teams = Team.objects.all()

        serializer = TeamSerializer(teams, many=True)
        return JsonResponse(data={"teams": serializer.data})
Exemplo n.º 5
0
    def put(self, request, pk):
        """
        Update a team instance
        """
        if str(pk) == Teams.ADMIN_TEAM_ID:
            return JsonResponse(data={"errors": "cannot update admin team"},
                                status=status.HTTP_400_BAD_REQUEST)
        data = JSONParser().parse(request)
        serializer = TeamSerializer(self.get_object(pk),
                                    data=data,
                                    partial=True)

        if serializer.is_valid():
            serializer.save()
            return JsonResponse(data={"team": serializer.data})

        return JsonResponse(data={"errors": serializer.errors},
                            status=status.HTTP_400_BAD_REQUEST)
Exemplo n.º 6
0
 def get_team(self, instance):
     # If the team is not available, use the user's current team.
     team = instance.team if instance.team else instance.raised_by_user.team
     return TeamSerializer(team).data