示例#1
0
def test_list(request, id):
    """
    用例列表
    :param request:
    :param id: str or int:当前页
    :return:
    """

    account = request.session["now_account"]
    if request.is_ajax():
        test_info = json.loads(request.body.decode('utf-8'))
        if test_info.get('mode') == 'del':
            msg = del_test_data(test_info.pop('id'))
            return HttpResponse(get_ajax_msg(msg, 'ok'))
        if test_info.get('mode') == 'copy':
            msg = copy_test_data(
                test_info.get('data').pop('index'),
                test_info.get('data').pop('name'))
            return HttpResponse(get_ajax_msg(msg, 'ok'))

        # 新增ajax(查询用例)逻辑处理
        filter_query = set_filter_session(request)
        test_list = get_pager_info(TestCaseInfo, filter_query,
                                   '/api/test_list/', id)
        result_list = list()
        results = serializers.serialize('json',
                                        test_list[1],
                                        ensure_ascii=False)  # 数据库对象转化json
        result = [result.get('fields')
                  for result in json.loads(results)]  # 提取数据库字段
        testcase_id = [i.get('pk') for i in json.loads(results)]
        for num, i in enumerate(result):  # 将id字段添加到字段中
            i['id'] = testcase_id[num]
            i['url'] = convert_eval_url(i.get('request'))
            i['belong_module_name'] = ModuleInfo.objects.get_module_name(
                i.get('belong_module'), type=False).module_name
        result_list.append(result)
        result_list.append(str(test_list[0]))
        return JsonResponse(result_list, safe=False)

    else:
        filter_query = set_filter_session(request)
        test_list = get_pager_info(TestCaseInfo, filter_query,
                                   '/api/test_list/', id)
        # 获取被引用用例id列表
        manage_info = {
            'account': account,
            'test': test_list[1],
            'page_list': test_list[0],
            'info': filter_query,
            'env': EnvInfo.objects.all().order_by('-create_time'),
            'project': ProjectInfo.objects.all().order_by('-update_time')
        }
        return render_to_response('test_list.html', manage_info)
示例#2
0
def interface_list(request, id):
    """
    接口列表
    :param request:
    :param id: str or int:当前页
    :return:
    """
    if request.session.get('login_status'):
        acount = request.session["now_account"]
        filter_query = set_filter_session(request)

        if request.method == 'GET':
            if request.GET.get('interface_name') is None:
                test_list = get_pager_info(TestCaseInfo, filter_query,
                                           '/api/interface_list/', id)
                manage_info = {
                    'account': acount,
                    'test': test_list[1],
                    'page_list': test_list[0],
                    'info': filter_query,
                    'env': EnvInfo.objects.all().order_by('-create_time')
                }
                return render_to_response('interface_list.html', manage_info)
            else:
                filter_query['interface_name'] = request.GET.get(
                    'interface_name')
                test_list = get_pager_info(TestCaseInfo, filter_query,
                                           '/api/test_list/', id)
                manage_info = {
                    'account': acount,
                    'test': test_list[1],
                    'page_list': test_list[0],
                    'info': filter_query,
                    'env': EnvInfo.objects.all().order_by('-create_time')
                }
                return render_to_response('test_list.html', manage_info)
        else:
            if request.POST.get('interface_name') is not None:
                filter_query['interface_name'] = request.POST.get(
                    'interface_name')

                test_list = get_pager_info(TestCaseInfo, filter_query,
                                           '/api/interface_list/', id)
                manage_info = {
                    'account': acount,
                    'test': test_list[1],
                    'page_list': test_list[0],
                    'info': filter_query,
                    'env': EnvInfo.objects.all().order_by('-create_time')
                }
                return render_to_response('interface_list.html', manage_info)

    else:
        return HttpResponseRedirect("/api/login/")
示例#3
0
def data_list(request, id=None):
    '''
    数据列表
    :param request:
    :param id:
    :return:
    '''
    account = request.session["now_account"]
    if request.method == 'GET':
        if request.is_ajax():
            mes = deleteData(id)
            return HttpResponse(mes)
        else:
            filter_query = {'belong_project': 'All', 'fileName': ''}
            data_list = get_pager_info(DataInfo, filter_query,
                                       '/api/data_list/', id)

            manage_info = {
                'account': account,
                'dataList': data_list[1],
                'page_list': data_list[0],
                'info': filter_query,
                'sum': data_list[2],
                'project_all':
                ProjectInfo.objects.all().order_by('-update_time'),
                'page_info': data_list[3]
            }
            return render_to_response('data_list.html', manage_info)
    # 修改文件和查询
    elif request.method == 'POST':
        if request.is_ajax():
            fileObj = request.FILES.get('file')
            dataInfo = json.loads(request.POST.get('info'))
            mes = updateFile(fileObj, dataInfo, account)
            return HttpResponse(mes)
        else:
            filter_query = set_filter_session(request)
            data_list = get_pager_info(DataInfo, filter_query,
                                       '/api/data_list/', id)

            manage_info = {
                'account': account,
                'dataList': data_list[1],
                'page_list': data_list[0],
                'info': filter_query,
                'sum': data_list[2],
                'project_all':
                ProjectInfo.objects.all().order_by('-update_time'),
                'page_info': data_list[3]
            }
            return render_to_response('data_list.html', manage_info)
示例#4
0
def ca_list(request, id):
    account = request.session["now_account"]
    #ca operation
    if request.is_ajax():
        kwargs = json.loads(request.body.decode('utf-8'))
        kwargs['author'] = account
        if kwargs.get('mode') == 'del':
            msg = del_ca_data(kwargs.pop('id'))
        elif kwargs.get('mode') == 'add':
            msg = add_ca_data(**kwargs)
        elif kwargs.get('mode') == 'get':
            msg = get_ca_data(**kwargs)
        elif kwargs.get('mode') == 'refresh':
            msg = refresh_ca_data(**kwargs)
        elif kwargs.get('mode') == 'cacfg':
            msg = get_cacfg(**kwargs)
        #operation failed, return error message
        return HttpResponse(get_ajax_msg(msg, 'ok'))

    #show ca list
    else:
        filter_query = set_filter_session(request)
        pro_list = get_pager_info(CaInfo, filter_query, '/api/ca_list/', id)

        ca_cfg_obj = CaCFG.objects.get(ca_type='dev')
        manage_info = {
            "ca_url": ca_cfg_obj.ca_url,
            "ca_loginurl": ca_cfg_obj.ca_loginurl,
            'account': account,
            'page_list': pro_list[0],
            'ca_list': pro_list[1],
            'info': filter_query,
            'projects': ProjectInfo.objects.all().order_by('-update_time'),
        }
        return render_to_response('ca_list.html', manage_info)
示例#5
0
def sdk_test_list(request, id):
    account = request.session["now_account"]
    if request.is_ajax():
        kwargs = json.loads(request.body.decode('utf-8'))
        kwargs["author"] = account
        if kwargs.get('mode') == 'del':
            msg = del_sdk_test_data(kwargs.pop('id'))
        else:
            msg = add_sdk_test_data(**kwargs)
        return HttpResponse(get_ajax_msg(msg, 'ok'))

    elif request.method == 'GET':
        filter_query = set_filter_session(request)
        pro_list = get_pager_info(SDKTestInfo, filter_query, '/api/sdk_test/',
                                  id)
        if "msg" in request.session.keys():
            msg = request.session.pop("msg")
        else:
            msg = ""
        manage_info = {
            'account': account,
            'sdk_test_list': pro_list[1],
            'page_list': pro_list[0],
            'info': filter_query,
            'projects': ProjectInfo.objects.all().order_by('-update_time'),
            'msg': msg
        }
        return render_to_response('sdk_test_list.html', manage_info)
示例#6
0
def config_list(request, id):
    """
    配置列表
    :param request:
    :param id: str or int:当前页
    :return:
    """
    if request.session.get('login_status'):
        acount = request.session["now_account"]
        if request.is_ajax():
            try:
                test_info = json.loads(request.body.decode('utf-8'))
            except ValueError:
                logging.error('配置信息解析异常:{test_info}'.format(test_info=test_info))
                return HttpResponse('配置信息解析异常')
            if test_info.get('mode') == 'del':
                msg = del_test_data(test_info.pop('id'))
            elif test_info.get('mode') == 'copy':
                msg = copy_test_data(test_info.get('data').pop('index'), test_info.get('data').pop('name'))
            return HttpResponse(get_ajax_msg(msg, 'ok'))
        else:
            filter_query = set_filter_session(request)
            test_list = get_pager_info(
                TestCaseInfo, filter_query, '/api/config_list/', id)
            manage_info = {
                'account': acount,
                'test': test_list[1],
                'page_list': test_list[0],
                'info': filter_query
            }
            return render_to_response('config_list.html', manage_info)
    else:
        return HttpResponseRedirect("/api/login/")
def periodictask(request, id):
    if request.session.get('login_status'):
        if request.is_ajax():
            try:
                kwargs = json.loads(request.body.decode('utf-8'))
            except ValueError:
                logging.error('定时任务信息解析异常: {kwargs}'.format(kwargs=kwargs))
                return HttpResponse('定时任务信息解析异常,请重试')
            mode = kwargs.pop('mode')
            id = kwargs.pop('id')
            msg = delete_task(id) if mode == 'del' else change_task_status(
                id, mode)
            return HttpResponse(get_ajax_msg(msg, 'ok'))
        else:
            filter_query = set_filter_session(request)
            task_list = get_pager_info(PeriodicTask, filter_query,
                                       '/api/periodictask/', id)
            manage_info = {
                'account': request.session["now_account"],
                'task': task_list[1],
                'page_list': task_list[0],
                'info': filter_query
            }
        return render_to_response('periodictask_list.html', manage_info)
    else:
        return HttpResponseRedirect("/api/login/")
示例#8
0
def report_list(request, id):
    """
    报告列表
    :param request:
    :param id: str or int:当前页
    :return:
    """
    if request.session.get('login_status'):
        if request.is_ajax():
            try:
                report_info = json.loads(request.body.decode('utf-8'))
            except ValueError:
                logging.error(
                    '报告信息解析异常:{report_info}'.format(report_info=report_info))
                return HttpResponse('报告信息解析异常')
            if report_info.get('mode') == 'del':
                msg = del_report_data(report_info.pop('id'))
            return HttpResponse(get_ajax_msg(msg, 'ok'))
        else:
            filter_query = set_filter_session(request)
            report_list = get_pager_info(TestReports, filter_query,
                                         '/api/report_list/', id)
            manage_info = {
                'account': request.session["now_account"],
                'report': report_list[1],
                'page_list': report_list[0],
                'info': filter_query
            }
            return render_to_response('report_list.html', manage_info)
    else:
        return HttpResponseRedirect("/api/login/")
示例#9
0
def module_list(request, id):
    """
    模块列表
    :param request:
    :param id: str or int:当前页
    :return:
    """
    account = request.session["now_account"]
    if request.is_ajax():
        module_info = json.loads(request.body.decode('utf-8'))
        if 'mode' in module_info.keys():  # del module
            msg = del_module_data(module_info.pop('id'))
        else:
            msg = module_info_logic(type=False, **module_info)
        return HttpResponse(get_ajax_msg(msg, 'ok'))
    else:
        filter_query = set_filter_session(request)
        module_list = get_pager_info(
            ModuleInfo, filter_query, '/api/module_list/', id)
        manage_info = {
            'account': account,
            'module': module_list[1],
            'page_list': module_list[0],
            'info': filter_query,
            'sum': module_list[2],
            'env': EnvInfo.objects.all().order_by('-create_time'),
            'project': ProjectInfo.objects.all().order_by('-update_time')
        }
        return render_to_response('module_list.html', manage_info)
示例#10
0
def report_list(request, id):
    """
    报告列表
    :param request:
    :param id: str or int:当前页
    :return:
    """

    if request.is_ajax():
        report_info = json.loads(request.body.decode('utf-8'))

        if report_info.get('mode') == 'del':
            msg = del_report_data(report_info.pop('id'))
        return HttpResponse(get_ajax_msg(msg, 'ok'))
    else:
        filter_query = set_filter_session(request)
        report_list = get_pager_info(
            TestReports, filter_query, '/api/report_list/', id)
        manage_info = {
            'account': request.session["now_account"],
            'report': report_list[1],
            'page_list': report_list[0],
            'info': filter_query
        }
        return render_to_response('report_list.html', manage_info)
示例#11
0
def config_list(request, id):
    """
    配置列表
    :param request:
    :param id: str or int:当前页
    :return:
    """
    account = request.session["now_account"]
    if request.is_ajax():
        test_info = json.loads(request.body.decode('utf-8'))

        if test_info.get('mode') == 'del':
            msg = del_test_data(test_info.pop('id'))
        elif test_info.get('mode') == 'copy':
            msg = copy_test_data(test_info.get('data').pop('index'), test_info.get('data').pop('name'))
        return HttpResponse(get_ajax_msg(msg, 'ok'))
    else:
        filter_query = set_filter_session(request)
        test_list = get_pager_info(
            TestCaseInfo, filter_query, '/api/config_list/', id)
        manage_info = {
            'account': account,
            'test': test_list[1],
            'page_list': test_list[0],
            'info': filter_query,
            'project': ProjectInfo.objects.all().order_by('-update_time')
        }
        return render_to_response('config_list.html', manage_info)
示例#12
0
def module_list(request, id):
    if request.session.get('login_status'):
        if request.is_ajax():
            try:
                module_info = json.loads(request.body.decode('utf-8'))
            except ValueError:
                logging.error(
                    '模块信息解析异常:{module_info}'.format(module_info=module_info))
                return HttpResponse('模块信息解析异常')
            if 'mode' in module_info.keys():  # del module
                msg = del_module_data(module_info.pop('id'))
            else:
                msg = module_info_logic(type=False, **module_info)
            return HttpResponse(get_ajax_msg(msg, 'ok'))
        else:
            filter_query = set_filter_session(request)
            module_list = get_pager_info(ModuleInfo, filter_query,
                                         '/api/module_list/', id)
            manage_info = {
                'account': request.session["now_account"],
                'module': module_list[1],
                'page_list': module_list[0],
                'info': filter_query,
                'sum': module_list[2],
                'env': EnvInfo.objects.all().order_by('-create_time')
            }
            return render_to_response('module_list.html', manage_info)
    else:
        return HttpResponseRedirect("/api/login/")
示例#13
0
def periodictask(request, id):
    """
    定时任务列表
    :param request:
    :param id: str or int:当前页
    :return:
    """

    account = request.session["now_account"]
    if request.is_ajax():
        kwargs = json.loads(request.body.decode('utf-8'))
        mode = kwargs.pop('mode')
        id = kwargs.pop('id')
        msg = delete_task(id) if mode == 'del' else change_task_status(id, mode)
        return HttpResponse(get_ajax_msg(msg, 'ok'))
    else:
        filter_query = set_filter_session(request)
        task_list = get_pager_info(
            PeriodicTask, filter_query, '/api/periodictask/', id)
        manage_info = {
            'account': account,
            'task': task_list[1],
            'page_list': task_list[0],
            'info': filter_query
        }
    return render_to_response('periodictask_list.html', manage_info)
示例#14
0
def project_list(request, id):
    if request.session.get('login_status'):
        if request.is_ajax():
            try:
                project_info = json.loads(request.body.decode('utf-8'))
            except ValueError:
                logging.debug('项目信息解析异常:{project_info}'.format(
                    project_info=project_info))
                return HttpResponse('项目信息解析异常')
            if 'mode' in project_info.keys():
                msg = del_project_data(project_info.pop('id'))
            else:
                msg = project_info_logic(type=False, **project_info)
            return HttpResponse(get_ajax_msg(msg, 'ok'))
        else:
            filter_query = set_filter_session(request)
            pro_list = get_pager_info(ProjectInfo, filter_query,
                                      '/api/project_list/', id)
            manage_info = {
                'account': request.session["now_account"],
                'project': pro_list[1],
                'page_list': pro_list[0],
                'info': filter_query,
                'sum': pro_list[2]
            }
            return render_to_response('project_list.html', manage_info)
    else:
        return HttpResponseRedirect("/api/login/")
示例#15
0
def webhook_list(request, id):
    """

    :param request:
    :param id:
    :return:
    """
    if request.session.get('login_status'):
        account = request.session["now_account"]
        if request.is_ajax():
            webhook_info = json.loads(request.body.decode('utf-8'))
            pro_id = webhook_info.get('webhook').get('pro_id')
            res = generate_webhook_token(pro_id)
            manage_info = {"token": ['ok', res.get('msg')]}
            return HttpResponse(
                get_ajax_msg(
                    manage_info.get('token')[0],
                    manage_info.get('token')[1]))

        else:
            filter_query = set_filter_session(request)
            test_list = get_pager_info(WebHooKInfo, filter_query,
                                       '/api/webhook_list/', id)
            manage_info = {
                'account': account,
                'test': test_list[1],
                'page_list': test_list[0],
                'info': filter_query,
                'env': EnvInfo.objects.all().order_by('-create_time')
            }

            return render_to_response('webhook_list.html', manage_info)
    else:
        return HttpResponseRedirect("/api/login/")
示例#16
0
def config_list(request, id):
    if request.session.get('login_status'):
        if request.is_ajax():
            try:
                test_info = json.loads(request.body.decode('utf-8'))
            except ValueError:
                logging.error(
                    '配置信息解析异常:{test_info}'.format(test_info=test_info))
                return HttpResponse('配置信息解析异常')
            if 'mode' in test_info.keys():
                msg = del_test_data(test_info.pop('id'))
            return HttpResponse(get_ajax_msg(msg, 'ok'))
        else:
            filter_query = set_filter_session(request)
            test_list = get_pager_info(TestCaseInfo, filter_query,
                                       '/api/config_list/', id)
            manage_info = {
                'account': request.session["now_account"],
                'test': test_list[1],
                'page_list': test_list[0],
                'info': filter_query
            }
            return render_to_response('config_list.html', manage_info)
    else:
        return HttpResponseRedirect("/api/login/")
示例#17
0
def suite_list(request, id):
    account = request.session["now_account"]
    if request.is_ajax():
        suite_info = json.loads(request.body.decode('utf-8'))

        if suite_info.get('mode') == 'del':
            msg = del_suite_data(suite_info.pop('id'))
        elif suite_info.get('mode') == 'copy':
            msg = copy_suite_data(
                suite_info.get('data').pop('index'),
                suite_info.get('data').pop('name'))
        return HttpResponse(get_ajax_msg(msg, 'ok'))
    else:
        filter_query = set_filter_session(request)
        pro_list = get_pager_info(TestSuite, filter_query, '/api/suite_list/',
                                  id)
        manage_info = {
            'account': account,
            'suite': pro_list[1],
            'page_list': pro_list[0],
            'info': filter_query,
            'sum': pro_list[2],
            'env': EnvInfo.objects.all().order_by('-create_time'),
            'project': ProjectInfo.objects.all().order_by('-update_time')
        }
        return render_to_response('suite_list.html', manage_info)
示例#18
0
def project_list(request, id):
    """
    项目列表
    :param request:
    :param id: str or int:当前页
    :return:
    """
    if request.session.get('login_status'):
        account = request.session["now_account"]
        if request.is_ajax():
            project_info = json.loads(request.body.decode('utf-8'))
            if 'mode' in project_info.keys():
                msg = del_project_data(project_info.pop('id'))
            else:
                msg = project_info_logic(type=False, **project_info)
            return HttpResponse(get_ajax_msg(msg, 'ok'))
        else:
            filter_query = set_filter_session(request)
            pro_list = get_pager_info(
                ProjectInfo, filter_query, '/api/project_list/', id)
            manage_info = {
                'account': account,
                'project': pro_list[1],
                'page_list': pro_list[0],
                'info': filter_query,
                'sum': pro_list[2],
                'env': EnvInfo.objects.all().order_by('-create_time')
            }
            return render_to_response('project_list.html', manage_info)
    else:
        return HttpResponseRedirect("/api/login/")
示例#19
0
def env_list(request, id):
    if request.session.get('login_status'):
        if request.method == 'GET':
            env_lists = get_pager_info(EnvInfo, None, '/api/env_list/', id)
            manage_info = {
                'account': request.session["now_account"],
                'env': env_lists[1],
                'page_list': env_lists[0],
            }
            return render_to_response('env_list.html', manage_info)
    else:
        return HttpResponseRedirect('/api/login/')
示例#20
0
def report_list(request, id):
    if request.session.get('login_status'):
        filter_query = set_filter_session(request)
        report_list = get_pager_info(TestReports, filter_query,
                                     '/api/report_list/', id)
        manage_info = {
            'account': request.session["now_account"],
            'report': report_list[1],
            'page_list': report_list[0],
            'info': filter_query
        }
        return render_to_response('report_list.html', manage_info)
    else:
        return HttpResponseRedirect("/api/login/")
示例#21
0
def service_config_list(request, id):
    filter_query = {
        'service_name': request.POST.get('service_name', ''),
        'service_version': request.POST.get('service_version', '')
    }

    service_list = get_pager_info(ServiceConfig, filter_query, '/api/service_config_list/', id)

    manage_info = {
        'account': request.session["now_account"],
        'service': service_list[1],
        'page_list': service_list[0],
        'info': filter_query
    }
    return render_to_response('service_config_list.html', manage_info)
示例#22
0
def debugtalk_list(request, id):
    """
       debugtalk.py列表
       :param request:
       :param id: str or int:当前页
       :return:
       """

    account = request.session["now_account"]
    debugtalk = get_pager_info(DebugTalk, None, '/api/debugtalk_list/', id)
    manage_info = {
        'account': account,
        'debugtalk': debugtalk[1],
        'page_list': debugtalk[0],
    }
    return render_to_response('debugtalk_list.html', manage_info)
示例#23
0
def test_list(request, id):
    """
    用例列表
    :param request:
    :param id: str or int:当前页
    :return:
    """

    account = request.session["now_account"]
    user_type = request.session['user_type']
    if request.is_ajax():
        test_info = json.loads(request.body.decode('utf-8'))

        if test_info.get('mode') == 'del':
            msg = del_test_data(test_info.pop('id'), account, user_type)
        elif test_info.get('mode') == 'copy':
            msg = copy_test_data(test_info.get('data').pop('index'), test_info.get('data').pop('name'), account)
        return HttpResponse(get_ajax_msg(msg, 'ok'))

    else:
        filter_query = set_filter_session(request)

        if 'case_id' in request.POST.keys():
            filter_query['case_id'] = request.POST.get('case_id')
        if 'service_name' in request.POST.keys():
            filter_query['service_name'] = request.POST.get('service_name')

        test_list = get_pager_info(
            TestCaseInfo, filter_query, '/api/test_list/', id)
        manage_info = {
            'account': account,
            'test': test_list[1],
            'page_list': test_list[0],
            'info': filter_query,
            'env': EnvInfo.objects.all().order_by('-create_time'),
            'projects': ProjectInfo.objects.all().order_by('-update_time')
        }

        # 添加模块下拉
        modules = []
        if filter_query.get('belong_project') != 'All':
            modules = ModuleInfo.objects.filter(
                belong_project__project_name=filter_query.get('belong_project')).order_by('-create_time')

        manage_info['modules'] = modules

        return render_to_response('test_list.html', manage_info)
示例#24
0
def env_list(request, id):
    """
    环境列表
    :param request:
    :param id: str or int:当前页
    :return:
    """

    account = request.session["now_account"]
    if request.method == 'GET':
        env_lists = get_pager_info(EnvInfo, None, '/api/env_list/', id)
        manage_info = {
            'account': account,
            'env': env_lists[1],
            'page_list': env_lists[0],
        }
        return render_to_response('env_list.html', manage_info)
示例#25
0
def debugtalk_list(request, id):
    """
       debugtalk.py列表
       :param request:
       :param id: str or int:当前页
       :return:
       """
    if request.session.get('login_status'):
        account = request.session["now_account"]
        debugtalk = get_pager_info(DebugTalk, None, '/api/debugtalk_list/', id)
        manage_info = {
            'account': account,
            'debugtalk': debugtalk[1],
            'page_list': debugtalk[0],
        }
        return render_to_response('debugtalk_list.html', manage_info)
    else:
        return HttpResponseRedirect("/api/login/")
示例#26
0
def config_list(request, id):
    if request.session.get('login_status'):
        if request.is_ajax():
            test_info = json.loads(request.body.decode('utf-8'))
            if 'status' in test_info.keys():
                msg = change_status(TestCaseInfo, **test_info)
                return HttpResponse(get_ajax_msg(msg, '配置已更改!'))
        else:
            filter_query = set_filter_session(request)
            test_list = get_pager_info(TestCaseInfo, filter_query,
                                       '/api/config_list/', id)
            manage_info = {
                'account': request.session["now_account"],
                'test': test_list[1],
                'page_list': test_list[0],
                'info': filter_query
            }
            return render_to_response('config_list.html', manage_info)
    else:
        return HttpResponseRedirect("/api/login/")
示例#27
0
def file_upload(request, id):
    ret = {}
    info = {}
    account = request.session["now_account"]
    if request.is_ajax():
        info = json.loads(request.body.decode('utf-8'))
        if info.get('mode') == 'del':
            msg = del_file_data(info.pop('id'))
        return HttpResponse(get_ajax_msg(msg, 'ok'))
    else:
        filter_query = set_filter_session(request)
        pro_list = get_pager_info(FileInfo, filter_query, '/api/file_upload/',
                                  id)
        manage_info = {
            'account': account,
            'file_list': pro_list[1],
            'page_list': pro_list[0],
            'info': filter_query,
            'project': ProjectInfo.objects.all().order_by('-update_time')
        }
    return render_to_response('uploadedfile_list.html', manage_info)
示例#28
0
def test_list(request, id):
    """
    用例列表
    :param request:
    :param id: str or int:当前页
    :return:
    """

    account = request.session["now_account"]
    if request.is_ajax():
        test_info = json.loads(request.body.decode('utf-8'))

        if test_info.get('mode') == 'del':
            msg = del_test_data(test_info.pop('id'))
        elif test_info.get('mode') == 'copy':
            index = test_info.get('data').pop('index')
            name = test_info.get('data').pop('name')
            project = test_info.get('data').pop('project')
            module = test_info.get('data').pop('belong_module')
            author = account
            msg = copy_test_data(index, name, project, module, author)
        return HttpResponse(get_ajax_msg(msg, 'ok'))

    else:
        filter_query = set_filter_session(request)
        test_list = get_pager_info(TestCaseInfo, filter_query,
                                   '/api/test_list/', id)
        manage_info = {
            'account': account,
            'test': test_list[1],
            'page_list': test_list[0],
            'info': filter_query,
            'env': EnvInfo.objects.all().order_by('env_name'),
            'env_session': request.session.get('base_url', ''),
            'cfg': TestCaseInfo.objects.filter(type=2).order_by('name'),
            'cfg_session': int(request.session.get('cfg_id', -1)),
            'project': ProjectInfo.objects.all().order_by('-update_time'),
            'ca_list': CaInfo.objects.all().order_by('user_name')
        }
        return render_to_response('test_list.html', manage_info)
示例#29
0
def project_list(request, id):
    """
    项目列表
    :param request:
    :param id: str or int:当前页
    :return:
    """

    account = request.session["now_account"]
    user_type = request.session['user_type']
    if request.is_ajax():
        project_info = json.loads(request.body.decode('utf-8'))
        project_info['account'] = account
        project_info['user_type'] = user_type
        if 'mode' in project_info.keys():
            msg = del_project_data(project_info.pop('id'), account, user_type)
        else:
            msg = project_info_logic(type=False, **project_info)
        return HttpResponse(get_ajax_msg(msg, 'ok'))
    else:
        filter_query = set_filter_session(request)
        project_name = request.POST.get('project_name')
        if project_name is None:
            project_name = ''
        filter_query['project_name'] = project_name
        pro_list = get_pager_info(
            ProjectInfo, filter_query, '/api/project_list/', id)
        manage_info = {
            'account': account,
            'project': pro_list[1],
            'projects': ProjectInfo.objects.all().order_by('-update_time'),
            'page_list': pro_list[0],
            'info': filter_query,
            'sum': pro_list[2],
            'env': EnvInfo.objects.all().order_by('-create_time'),
            'project_all': ProjectInfo.objects.all().order_by('-update_time'),
            'configs': TestCaseInfo.objects.filter(type=2).order_by('-create_time')
        }
        return render_to_response('project_list.html', manage_info)
示例#30
0
def test_list(request, id):
    """
    用例列表
    :param request:
    :param id: str or int:当前页
    :return:
    """
    if request.session.get('login_status'):
        account = request.session["now_account"]
        if request.is_ajax():
            test_info = json.loads(request.body.decode('utf-8'))

            if test_info.get('mode') == 'del':
                msg = del_test_data(test_info.pop('id'))
            elif test_info.get('mode') == 'copy':
                msg = copy_test_data(
                    test_info.get('data').pop('index'),
                    test_info.get('data').pop('name'))
            return HttpResponse(get_ajax_msg(msg, 'ok'))

        else:
            filter_query = set_filter_session(request)

            if request.POST.get('level') is not None:
                filter_query['level'] = request.POST.get('level')

            test_list = get_pager_info(TestCaseInfo, filter_query,
                                       '/api/test_list/', id)
            manage_info = {
                'account': account,
                'test': test_list[1],
                'page_list': test_list[0],
                'info': filter_query,
                'env': EnvInfo.objects.all().order_by('-create_time')
            }
            return render_to_response('test_list.html', manage_info)
    else:
        return HttpResponseRedirect("/api/login/")