Example #1
0
    def get(self, req):
        id = req.query_params["projectId"]
        total = None
        all_page = None
        page = None
        pageSize = None
        if "page" in req.query_params:
            page = req.query_params["page"]
            pageSize = req.query_params["pageSize"]

        obj = models.CasePlan.objects.select_related(
            "projectId",
            "userId").filter(projectId=id).order_by("createTime").reverse()
        serializersObj = serializers.S_AddCasePlan(obj, many=True)
        res_data = serializersObj.data
        if page:  #如果传了分页 则返回分页数据--否则返回所有数据
            total = len(res_data)  #数据总数
            PaginationObj = Pagination(total,
                                       page,
                                       perPageNum=pageSize,
                                       allPageNum=11)
            all_page = PaginationObj.all_page()
            res_data = res_data[PaginationObj.start():PaginationObj.end()]

        return APIResponse(200,
                           "success",
                           results=res_data,
                           total=total,
                           allPage=all_page,
                           status=status.HTTP_200_OK)
Example #2
0
    def post(self, req):
        data = req.data
        print(data)
        id = int(data["id"])
        if (models.ProjectList.objects.filter(id=id)):
            models.ProjectList.objects.filter(id=int(id)).delete()

            obj = models.ProjectList.objects.all()
            currentPage = int(data["page"])  # 当前请求的是第几页
            size = int(data["page_size"])  # 每页展示输了
            totalCount = len(obj)  # 总数
            PaginationObj = Pagination(totalCount,
                                       currentPage,
                                       perPageNum=size,
                                       allPageNum=11)
            all_page = PaginationObj.all_page()
            Many = ManyOrOne.IsMany(obj)
            valid_data = serializers.S_ProjectList(obj, many=Many)
            return APIResponse(200,
                               "删除成功",
                               results=valid_data.data,
                               total=totalCount,
                               page_size=all_page,
                               status=status.HTTP_200_OK)
        else:
            return APIResponse(400,
                               "项目不存在",
                               results=[],
                               status=status.HTTP_200_OK)
Example #3
0
    def get(self, req):
        params = req.query_params

        print(params)
        print(params.get("id"))
        print(params.keys())
        if "id" in params:
            #查询当前用户是否为该项目的创建人--如果是创建人则返回1-可以允许同步 否则不允许同步
            id = params.get("id")
            userId = params.get("userId")
            obj = models.ProjectList.objects.filter(
                Q(id=id) & Q(user_id=userId) & Q(status=0))
            if obj:
                res_data = serializers.S_ProjectList(obj[0], many=False)
                obj = res_data.data
                return APIResponse(200,
                                   "",
                                   results=obj,
                                   code=1,
                                   status=status.HTTP_200_OK)
            else:
                return APIResponse(200, "", code=0, status=status.HTTP_200_OK)
        else:
            try:
                obj = models.ProjectList.objects.all().order_by(
                    "create_time").reverse()  #根据创建时间从大到小排序
                currentPage = int(params["page"])  #当前请求的是第几页
                size = int(params["page_size"])  #每页展示输了
                totalCount = len(obj)  #总数
                PaginationObj = Pagination(totalCount,
                                           currentPage,
                                           perPageNum=size,
                                           allPageNum=11)
                all_page = PaginationObj.all_page()
                Many = ManyOrOne.IsMany(obj)
                valid_data = serializers.S_ProjectList(obj, many=Many)
                res_data = valid_data.data[PaginationObj.start():PaginationObj.
                                           end()]
                return APIResponse(200,
                                   "success",
                                   results=res_data,
                                   total=totalCount,
                                   page_size=all_page,
                                   status=status.HTTP_200_OK)

            except:
                obj = models.ProjectList.objects.all().order_by(
                    "create_time").reverse()  # 根据创建时间从大到小排序
                Many = ManyOrOne.IsMany(obj)
                valid_data = serializers.S_ProjectList(obj, many=Many)
                return APIResponse(200,
                                   "success",
                                   results=valid_data.data,
                                   status=status.HTTP_200_OK)
Example #4
0
 def page_c(self, data):
     type = data["type"]
     page = data["page"]
     pageSize = data["pageSize"]
     obj = models.CaseResult.objects.filter(
         c_id=data["c_id"], type=type).order_by("createTime").reverse()
     serializersObj = serializers.S_CaseResults(obj, many=True)
     res_data = serializersObj.data
     total = len(res_data)  # 数据总数
     PaginationObj = Pagination(total,
                                page,
                                perPageNum=pageSize,
                                allPageNum=11)
     all_page = PaginationObj.all_page()
     res_data = res_data[PaginationObj.start():PaginationObj.end()]
     return res_data, all_page, total
Example #5
0
 def listPlan(self, req):
     id = req.data["projectId"]
     page = req.data["page"]
     pageSize = req.data["pageSize"]
     obj = models.CasePlan.objects.select_related(
         "projectId",
         "userId").filter(projectId=id).order_by("createTime").reverse()
     serializersObj = serializers.S_AddCasePlan(obj, many=True)
     res_data = serializersObj.data
     total = len(res_data)  # 数据总数
     PaginationObj = Pagination(total,
                                page,
                                perPageNum=pageSize,
                                allPageNum=11)
     all_page = PaginationObj.all_page()
     res_data = res_data[PaginationObj.start():PaginationObj.end()]
     return {"res_data": res_data, "total": total, "all_page": all_page}
Example #6
0
    def post(self, req):
        data = req.data
        Many = ManyOrOne.IsMany(data)
        obj = serializers.S_AddProject(data=data)
        currentPage = int(data["page"])  # 当前请求的是第几页
        size = int(data["page_size"])  # 每页展示输了

        if obj.is_valid(raise_exception=True):
            a = obj.save()
            res_data = serializers.S_AddProject(a)

            obj = models.ProjectList.objects.select_related().all().order_by(
                "create_time").reverse()
            print(obj)
            Many1 = ManyOrOne.IsMany(obj)
            valid_data = serializers.S_ProjectList(obj, many=Many1)
            totalCount = len(valid_data.data)  # 总数

            PaginationObj = Pagination(totalCount,
                                       currentPage,
                                       perPageNum=size,
                                       allPageNum=11)
            all_page = PaginationObj.all_page()
            print(res_data)
            print(res_data.data)
            id = res_data.data["id"]
            userId = res_data.data["user"]["id"]

            #添加项目时,同步users和projectLsit多对多的表
            # projectObj=models.ProjectList.objects.get(id=id)
            # usersObj=usersModels.UserProfile.objects.get(id=userId)
            # models.UsersToProject.objects.create(projectId=projectObj,userId=usersObj)

            return APIResponse(200,
                               "新增成功",
                               results=res_data.data,
                               total=totalCount,
                               page_size=all_page,
                               status=status.HTTP_200_OK)
Example #7
0
 def get(self, req):
     data = req.query_params
     projectId = data["projectId"]
     kwargs = {}
     if "name" in data.keys():
         kwargs["name__icontains"] = data["name"]
     if "isInterface" in data.keys():
         kwargs["CaseGroupId__name__icontains"] = data["isInterface"]
     if "postMethods" in data.keys():
         kwargs["postMethod"] = data["postMethods"]
     if "ctime" in data.keys():
         kwargs["createTime__gt"] = json.loads(data["ctime"])[0]
         kwargs["createTime__lt"] = json.loads(data["ctime"])[1]
     if "utime" in data.keys():
         kwargs["updateTime__gt"] = json.loads(data["utime"])[0]
         kwargs["updateTime__lt"] = json.loads(data["utime"])[1]
     kwargs["CaseGroupId__CaseGroupFilesId__projectId"] = projectId
     obj=models.CaseFile.objects.select_related\
         ("CaseGroupId","userId","postMethod","environmentId","update_userId","CaseGroupId__CaseGroupFilesId","CaseGroupId__CaseGroupFilesId__projectId")\
         .filter(**kwargs).order_by("CaseGroupId__order","order")
     serializersObj = serializers.S_GetCaseList(obj, many=True)
     res_data = serializersObj.data
     page = req.query_params["page"]
     pageSize = req.query_params["pageSize"]
     total = len(res_data)  # 数据总数
     PaginationObj = Pagination(total,
                                page,
                                perPageNum=pageSize,
                                allPageNum=11)
     all_page = PaginationObj.all_page()
     if int(all_page) < int(page):
         PaginationObj = Pagination(total,
                                    all_page,
                                    perPageNum=pageSize,
                                    allPageNum=11)
     res_data = res_data[PaginationObj.start():PaginationObj.end()]
     return APIResponse(200,
                        "success",
                        results=res_data,
                        total=total,
                        allPage=all_page,
                        status=status.HTTP_200_OK)
Example #8
0
    def taskList(self, data, kwarg={}, page=None, pageSize=None):
        id = data["projectId"]

        kwarg["projectId"] = id
        obj = models.SqlBox.objects.select_related(
            "projectId",
            "userId").filter(**kwarg).order_by("createTime").reverse()
        serializersObj = serializers.S_addSqlBox(obj, many=True)
        res_data = serializersObj.data
        total = None
        all_page = None
        if "page" in data.keys():
            page = data["page"]
            pageSize = data["pageSize"]
            total = len(res_data)  # 数据总数
            PaginationObj = Pagination(total,
                                       page,
                                       perPageNum=pageSize,
                                       allPageNum=11)
            all_page = PaginationObj.all_page()
            if int(all_page) >= int(page):
                print(PaginationObj.start(), PaginationObj.end())
                res_data = res_data[PaginationObj.start():PaginationObj.end()]
            else:
                PaginationObj = Pagination(total,
                                           int(page) - 1,
                                           perPageNum=pageSize,
                                           allPageNum=11)
                res_data = res_data[PaginationObj.start():PaginationObj.end()]
        return {"res_data": res_data, "total": total, "all_page": all_page}