Esempio n. 1
0
def project_detail(request, id, format=None):
    try:
        snippet = Project_Assets.objects.get(id=id)
    except Project_Assets.DoesNotExist:
        return Response(status=status.HTTP_404_NOT_FOUND)

    if request.method == 'GET':
        serializer = serializers.ProjectSerializer(snippet)
        return Response(serializer.data)

    elif request.method == 'PUT' and request.user.has_perm(
            'OpsManage.can_change_project_assets'):
        serializer = serializers.ProjectSerializer(snippet, data=request.data)
        old_name = snippet.project_name
        if serializer.is_valid():
            serializer.save()
            recordAssets.delay(
                user=str(request.user),
                content="修改业务系统名称为:{old_name} -> {project_name}".format(
                    old_name=old_name,
                    project_name=request.data.get("project_name")),
                type="project",
                id=id)
            return Response(serializer.data)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

    elif request.method == 'DELETE' and request.user.has_perm(
            'OpsManage.can_delete_rroject_assets'):
        if not request.user.has_perm('OpsManage.can_delete_rroject_Assets'):
            return Response(status=status.HTTP_403_FORBIDDEN)
        snippet.delete()
        return Response(status=status.HTTP_204_NO_CONTENT)
Esempio n. 2
0
def project_list(request,format=None):
    if request.method == 'GET':     
        snippets = Project_Assets.objects.all()
        serializer = serializers.ProjectSerializer(snippets, many=True)
        return Response(serializer.data)     
    elif request.method == 'POST':
        serializer = serializers.ProjectSerializer(data=request.data)
        if serializer.is_valid():
            serializer.save() 
            recordAssets.delay(user=str(request.user),content="添加产品线名称:{project_name}".format(project_name=request.data.get("project_name")),type="project",id=serializer.data.get('id'))
            return Response(serializer.data, status=status.HTTP_201_CREATED)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Esempio n. 3
0
    def put(self, request, *args, **kwargs):
        body = json.loads(request.body)

        project = get_object_or_404(models.Project, pk=self.kwargs['pk'])

        serializer = serializers.ProjectSerializer(project, data=body)
        serializer.is_valid()
        serializer.save()
        # Update Ticket Template
        template_serializer = serializers.TicketTemplateSerializer(
            instance=project.ticket_template, data=body['ticket_template'])
        template_serializer.is_valid()
        template_serializer.save()
        serializer.data.ticket_template = template_serializer.data
        # Update the roles
        serialized_roles = []
        for role in body['roles']:
            role_serializer = serializers.RoleSerializer(instance=project,
                                                         data=role)
            role_serializer.is_valid()
            role_serializer.save()
            #serialized_roles.append({'role': role_serializer.validated_data['role'], 'username': role_serializer.validated_data['profile']})

        serializer.delete_removed_roles(project, body['roles'])
        #The roles data sent back is not getting assigned correctly
        #Don't this the following line works
        serializer.data['roles'] = role_serializer.data

        return Response(serializer.data, status=status.HTTP_202_ACCEPTED)
Esempio n. 4
0
    def post(self, request, format=None):
        #print(pretty_request(request))
        body = json.loads(request.body)

        project = models.Project(name=body['name'],
                                 description=body['description'])
        project.save(user=request.user)
        serializer = serializers.ProjectSerializer(project)
        return Response(serializer.data, status=status.HTTP_201_CREATED)
Esempio n. 5
0
 def retrieve(self, request, pk=None):
     queryset = models.Project.objects.filter()
     project = get_object_or_404(queryset, pk=pk)
     serializer = serializers.ProjectSerializer(project, context={"request": request})
     return Response(serializer.data)
Esempio n. 6
0
 def list(self, request):
     queryset = models.Project.objects.filter()
     serializer = serializers.ProjectSerializer(queryset, many=True, context={"request" : request})
     return Response(serializer.data)