예제 #1
0
def env_prepare(request):
    product_id = int(request.GET.get('product_id', 0))
    all_product = Product.objects.filter(qa_id__isnull=False)
    if product_id != 0:
        project = Project.objects.filter(
            Q(product_id=product_id) & Q(is_offline=False))
        all_env = Environment.objects.filter(
            Q(project__in=project) & Q(is_enable=True))
    else:
        all_env = Environment.objects.all()
    page_len = request.GET.get('page_len', '')
    envs_list, p, envs, page_range, current_page, show_first, show_end, end_page = pages(
        all_env, request)
    return render(request, 'tests/env_prepare.html', locals())
예제 #2
0
def deploy_list(request):
    deploy_status = request.GET.get('deploy_status', '')
    keyword = request.GET.get('keyword', '').encode('utf8')
    if keyword:
        keyword_deploy = Deploy.objects.filter(Q(app_name__name__icontains=keyword) \
                                              | Q(order_user=keyword))
    else:
        keyword_deploy = Deploy.objects.all()

    if request.user.is_superuser:
        if not deploy_status:
            all_deploy = Deploy.objects.filter(status=0) & keyword_deploy
        elif deploy_status == '-1':
            all_deploy = keyword_deploy
        else:
            all_deploy = Deploy.objects.filter(
                status=deploy_status) & keyword_deploy
    else:
        username = request.user.username
        if not deploy_status:
            owner = Deploy.objects.filter(
                Q(app_name__product__owner__username__username=username)
                & Q(status=0)) & keyword_deploy
            ops = Deploy.objects.filter(
                Q(app_name__ops__username__username=username)
                & Q(status=0)) & keyword_deploy
            deploys = Deploy.objects.filter(
                Q(order_user=username) & Q(status=0)) & keyword_deploy
            all_deploy = owner | ops | deploys
        elif deploy_status == '-1':
            owner = Deploy.objects.filter(
                app_name__product__owner__username__username=username
            ) & keyword_deploy
            ops = Deploy.objects.filter(
                app_name__ops__username__username=username) & keyword_deploy
            deploys = Deploy.objects.filter(
                order_user=username) & keyword_deploy
            all_deploy = owner | ops | deploys
        else:
            owner = Deploy.objects.filter(
                Q(app_name__product__owner__username__username=username)
                & Q(status=deploy_status)) & keyword_deploy
            ops = Deploy.objects.filter(
                Q(app_name__ops__username__username=username)
                & Q(status=deploy_status)) & keyword_deploy
            deploys = Deploy.objects.filter(
                Q(order_user=username)
                & Q(status=deploy_status)) & keyword_deploy
            all_deploy = owner | ops | deploys

    page_len = request.GET.get('page_len', '')
    deploys_list, p, deploys, page_range, current_page, show_first, show_end, end_page = pages(
        all_deploy, request)
    return render(request, 'orders/deploy_list.html', locals())
예제 #3
0
def config_list(request):
    config_status = request.GET.get('config_status', '')
    keyword = request.GET.get('keyword', '').encode('utf8')
    if keyword:
        keyword_config = Config.objects.filter(Q(app_name__name__icontains=keyword) \
                                               | Q(order_user=keyword))
    else:
        keyword_config = Config.objects.all()

    if request.user.is_superuser:
        if not config_status:
            all_config = Config.objects.filter(status=0) & keyword_config
        elif config_status == '-1':
            all_config = keyword_config
        else:
            all_config = Config.objects.filter(status=config_status) & keyword_config
    else:
        username = request.user.username
        if not config_status:
            owner = Config.objects.filter(
                Q(app_name__product__owner__username__username=username) & Q(status=0)) & keyword_config
            ops = Config.objects.filter(Q(app_name__ops__username__username=username) & Q(status=0)) & keyword_config
            configs = Config.objects.filter(Q(order_user=username) & Q(status=0)) & keyword_config
            all_config = owner | ops | configs
        elif config_status == '-1':
            owner = Config.objects.filter(app_name__product__owner__username__username=username) & keyword_config
            ops = Config.objects.filter(app_name__ops__username__username=username) & keyword_config
            configs = Config.objects.filter(order_user=username) & keyword_config
            all_config = owner | ops | configs
        else:
            owner = Config.objects.filter(
                Q(app_name__product__owner__username__username=username) & Q(status=config_status)) & keyword_config
            ops = Config.objects.filter(
                Q(app_name__ops__username__username=username) & Q(status=config_status)) & keyword_config
            configs = Config.objects.filter(Q(order_user=username) & Q(status=config_status)) & keyword_config
            all_config = owner | ops | configs

    page_len = request.GET.get('page_len', '')
    configs_list, p, configs, page_range, current_page, show_first, show_end, end_page = pages(all_config, request)
    return render(request, 'orders/config_list.html', locals())
예제 #4
0
def versync_del(request):
    status = 0
    versync_id = int(request.GET.get('id', 0))
    if id != 0:
        try:
            versync = Versync.objects.get(id=versync_id)
            if versync.sync_status == 3 or versync.sync_status == 4:
                VersyncDetail.objects.filter(versync=versync).delete()
                versync.delete()
                status = 1
            else:
                status = 2
        except:
            status = 3
    else:
        return HttpResponseRedirect(reverse('permission_deny'))

    product_id = int(request.GET.get('product_id', 0))
    all_product = Product.objects.filter(qa_id__isnull=False)
    if product_id != 0:
        all_versync = Versync.objects.filter(product_id=product_id)
    else:
        all_versync = Versync.objects.all()
    page_len = request.GET.get('page_len', '')
    versync_list, p, versyncs, page_range, current_page, show_first, show_end, end_page = pages(
        all_versync, request)
    return render(request, 'tests/versync_list.html', locals())
예제 #5
0
def versync_list(request):
    product_id = int(request.GET.get('product_id', 0))
    all_product = Product.objects.filter(qa_id__isnull=False)
    if product_id != 0:
        all_versync = Versync.objects.filter(product_id=product_id)
    else:
        all_versync = Versync.objects.all()
    page_len = request.GET.get('page_len', '')
    versyncs_list, p, versyncs, page_range, current_page, show_first, show_end, end_page = pages(
        all_versync, request)
    return render(request, 'tests/versync_list.html', locals())
예제 #6
0
def require_list(request):
    require_status = request.GET.get('require_status', '')
    keyword = request.GET.get('keyword', '').encode('utf8')
    if keyword:
        keyword_require = Require.objects.filter(Q(title__icontains=keyword) \
                                                | Q(owner__username__username__icontains=keyword) \
                                                | Q(order_user__icontains=keyword))
    else:
        keyword_require = Require.objects.all()

    if request.user.is_superuser or request.user.is_staff:
        if not require_status:
            all_require = Require.objects.filter(status=0) & keyword_require
        elif require_status == '-1':
            all_require = keyword_require
        else:
            all_require = Require.objects.filter(
                status=require_status) & keyword_require
    else:
        username = request.user.username
        if not require_status:
            owner = Require.objects.filter(
                Q(owner__username__username=username)
                & Q(status=0)) & keyword_require
            requires = Require.objects.filter(
                Q(order_user=username) & Q(status=0)) & keyword_require
            all_require = owner | requires
        elif require_status == '-1':
            owner = Require.objects.filter(
                owner__username__username=username) & keyword_require
            requires = Require.objects.filter(
                order_user=username) & keyword_require
            all_require = owner | requires
        else:
            owner = Require.objects.filter(
                Q(owner__username__username=username)
                & Q(status=require_status)) & keyword_require
            requires = Require.objects.filter(
                Q(order_user=username)
                & Q(status=require_status)) & keyword_require
            all_require = owner | requires

    page_len = request.GET.get('page_len', '')
    requires_list, p, requires, page_range, current_page, show_first, show_end, end_page = pages(
        all_require, request)
    return render(request, 'orders/require_list.html', locals())
예제 #7
0
def dbscript_list(request):
    dbscript_status = request.GET.get('dbscript_status', '')
    keyword = request.GET.get('keyword', '').encode('utf8')
    if keyword:
        keyword_dbscript = DBScript.objects.filter(Q(db_name__name__icontains=keyword) \
                                                  | Q(order_user=keyword))
    else:
        keyword_dbscript = DBScript.objects.all()

    if request.user.is_superuser:
        if not dbscript_status:
            all_dbscript = DBScript.objects.filter(status=0) & keyword_dbscript
        elif dbscript_status == '-1':
            all_dbscript = keyword_dbscript
        else:
            all_dbscript = DBScript.objects.filter(
                status=dbscript_status) & keyword_dbscript
    else:
        username = request.user.username
        if not dbscript_status:
            owner = DBScript.objects.filter(
                Q(db_name__product__owner__username__username=username)
                & Q(status=0)) & keyword_dbscript
            ops = DBScript.objects.filter(
                Q(db_name__ops__username__username=username)
                & Q(status=0)) & keyword_dbscript
            dbscripts = DBScript.objects.filter(
                Q(order_user=username) & Q(status=0)) & keyword_dbscript
            all_dbscript = owner | ops | dbscripts
        elif dbscript_status == '-1':
            owner = DBScript.objects.filter(
                db_name__product__owner__username__username=username
            ) & keyword_dbscript
            ops = DBScript.objects.filter(
                db_name__ops__username__username=username) & keyword_dbscript
            dbscripts = DBScript.objects.filter(
                order_user=username) & keyword_dbscript
            all_dbscript = owner | ops | dbscripts
        else:
            owner = DBScript.objects.filter(
                Q(db_name__product__owner__username__username=username)
                & Q(status=dbscript_status)) & keyword_dbscript
            ops = DBScript.objects.filter(
                Q(db_name__ops__username__username=username)
                & Q(status=dbscript_status)) & keyword_dbscript
            dbscripts = DBScript.objects.filter(
                Q(order_user=username)
                & Q(status=dbscript_status)) & keyword_dbscript
            all_dbscript = owner | ops | dbscripts

    page_len = request.GET.get('page_len', '')
    dbscripts_list, p, dbscripts, page_range, current_page, show_first, show_end, end_page = pages(
        all_dbscript, request)
    return render(request, 'orders/dbscript_list.html', locals())
예제 #8
0
def apply_del(request):
    apply_id = int(request.GET.get('id', 0))
    try:
        Apply.objects.filter(id=apply_id).delete()
    except:
        return HttpResponseRedirect(reverse('permission_deny'))

    apply_status = request.GET.get('apply_status', '-1')
    if apply_status == '-1':
        all_apply = Apply.objects.all()
    else:
        all_apply = Apply.objects.filter(status=apply_status)
    page_len = request.GET.get('page_len', '')
    apply_list, p, applys, page_range, current_page, show_first, show_end, end_page = pages(
        all_apply, request)
    return render(request, 'tests/apply_list.html', locals())
예제 #9
0
def apply_list(request):
    apply_status = request.GET.get('apply_status', '-1')
    if apply_status == '-1':
        all_apply = Apply.objects.all()
    else:
        all_apply = Apply.objects.filter(status=apply_status)
    page_len = request.GET.get('page_len', '')
    apply_list, p, applys, page_range, current_page, show_first, show_end, end_page = pages(
        all_apply, request)
    return render(request, 'tests/apply_list.html', locals())
예제 #10
0
def apply_agree(request):
    apply_id = int(request.GET.get('id', 0))
    try:
        apply = Apply.objects.filter(
            Q(id=apply_id) & Q(status=True)
            & Q(order_user=request.user.username))
        if apply:
            apply.update(feedback=1)
            product = apply.first().product
            all_project = Project.objects.filter(product=product)
            for project in all_project:
                env = Environment.objects.filter(
                    Q(project=project) & Q(is_enable=True)).first()
                if env:
                    repo_name = "%s/%s" % (product.codename, project.name)
                    tag = "%s.Test" % (env.test_ver)
                    retag_image_release.delay(repo_name, tag)
        else:
            return HttpResponseRedirect(reverse('permission_deny'))
    except:
        return HttpResponseRedirect(reverse('permission_deny'))

    apply_status = request.GET.get('apply_status', '-1')
    if apply_status == '-1':
        all_apply = Apply.objects.all()
    else:
        all_apply = Apply.objects.filter(status=apply_status)
    page_len = request.GET.get('page_len', '')
    apply_list, p, applys, page_range, current_page, show_first, show_end, end_page = pages(
        all_apply, request)
    return render(request, 'tests/apply_list.html', locals())
예제 #11
0
def asset_list(request):
    keyword = request.GET.get('keyword','').encode("utf8")
    all_asset = []
    
    conn = get_conn() 
    if keyword:
        sql =  "select a.id,a.ip,a.public_ip,a.number,a.sn,a.comment,b.name \
                from assets_asset a left join orgs_organization b \
                on b.id = replace(a.org_id,'-','') \
                where a.ip like '%{0}%' \
                or a.public_ip like '%{0}%' \
                or a.number like '%{0}%' \
                or a.sn like '%{0}%' \
                or a.comment like '%{0}%' \
                order by a.ip".format(keyword)
    else:
        sql = "select a.id,a.ip,a.public_ip,a.number,a.sn,a.comment,b.name \
                from assets_asset a left join orgs_organization b \
                on b.id = replace(a.org_id,'-','') \
                order by a.ip"

    try:
        cursor = conn.cursor()
        cursor.execute(sql)
        results = cursor.fetchall()
        columns = cursor.description
    finally:
        cursor.close()
        conn.commit()
        conn.close()

    for row in results:
        asset_dict = {}
        for col in range(len(columns)):
            asset_dict[columns[col][0]] = row[col]
        all_asset.append(asset_dict)

    page_len = request.GET.get('page_len', '')
    assets_list, p, assets, page_range, current_page, show_first, show_end, end_page = pages(all_asset, request)
    return render(request, 'cmdb/asset_list.html', locals())