示例#1
0
 def list(self, request, *args, **kwargs):
     if tenant_from_request(self.request) and team_from_request(self.request):
         team = self.get_queryset().first()
         serializer_class = self.get_serializer_class()
         serializer = serializer_class(team)
         return response.Ok(serializer.data)
     return response.NotFound()
示例#2
0
 def create(self, request, *args, **kwargs):
     company = tenant_from_request(request)
     if company:
         serializer_class = self.get_serializer_class()
         serializer = serializer_class(data=request.data, context={'company': company})
         serializer.is_valid(raise_exception=True)
         serializer.save()
         return response.Created(serializer.data)
     return response.NotFound()
示例#3
0
 def create(self, request, *args, **kwargs):
     company = tenant_from_request(request)
     if company:
         existing_employee = self.get_queryset().filter(id=request.data['id']).first()
         if existing_employee:
             return response.BadRequest({"error_message": "Already an employee in one of the companies"})
         serializer_class = self.get_serializer_class()
         serializer = serializer_class(data=request.data, context={'company': company})
         serializer.is_valid(raise_exception=True)
         serializer.save()
         return response.Created(serializer.data)
     return response.NotFound()
示例#4
0
    def remove_employee(self, request):
        company = tenant_from_request(self.request)
        team = team_from_request(self.request)
        if not team or not company:
            return response.NotFound()

        employee = EmployeeModel.objects.filter(company=company).filter(id=request.data['employee']).first()
        if employee:
            queryset = self.get_queryset().first()
            queryset.employees.remove(employee)
            serializer_class = self.get_serializer_class()
            serializer = serializer_class(queryset)
            return response.Ok(serializer.data)

        return response.BadRequest({'error_message': 'Employee not found'})
示例#5
0
 def get_queryset(self):
     company = tenant_from_request(self.request)
     return super().get_queryset().filter(company=company)
示例#6
0
 def partial_update(self, request, *args, **kwargs):
     if tenant_from_request(self.request):
         return super().partial_update(request, *args, **kwargs)
     return response.NotFound()
示例#7
0
 def destroy(self, request, *args, **kwargs):
     if tenant_from_request(self.request):
         return super().destroy(request, *args, **kwargs)
     return response.NotFound()
示例#8
0
 def retrieve(self, request, *args, **kwargs):
     if tenant_from_request(self.request):
         return super().retrieve(request, *args, **kwargs)
     return response.NotFound()