Exemplo n.º 1
0
def hosts(request, hostid=0, groupid=0):
    if not hostid:
        context = {}
        q = request.GET.get('q')
        p = int(request.GET.get('page', 1))
        if q:
            re = host.search(q)
            context['title'] = "Hosts in search"
        elif groupid:
            re = host.listByGroup(groupid)
            context['title'] = "Hosts in Group"
        else:
            re = host.showAll()
            context['title'] = "Host List"
        if re:
            page = Paginator(re, 10)
            if p > 0 and p <= page.num_pages:
                context['page'] = page.page(p)
            else:
                context['page'] = page.page(1)
            context['num_pages'] = page.num_pages
            for p in context['page']:
                p.setIP(host.getIP(p.id))
                p.setUrl("/cmdb/host/" + str(p.id))
        context['grouplist'] = group.listByType('Host')
        context['uri'] = 'host'
        context['with_group'] = True
        context['with_new'] = False
        return render(request, 'list.html', context)
    else:
        if request.method == 'POST':
            meth = request.POST.get('_method', 'show')
            if meth == 'delete':
                host.delete(hostid)
                return HttpResponse("ok")
            elif meth == 'edit_desc':
                desc = unquote(request.POST.get('desc', ''))
                host.edit_desc(hostid, desc)
                return HttpResponse("ok")
            elif meth == 'addparam':
                key = request.POST.get('key')
                value = request.POST.get('value')
                return HttpResponse(parameter.createByHost(hostid, key, value))
            elif meth == 'delparam':
                pid = request.POST.get('pid')
                parameter.delete(pid)
                return HttpResponse("ok")
        else:
            re = host.show(hostid)
            if re:
                context = re
                context['title'] = "Host Info"
                return render(request, 'core/host.html', context)
            else:
                return HttpResponseRedirect("/cmdb/host")
Exemplo n.º 2
0
Arquivo: views.py Projeto: qsm365/cmdb
def hosts(request,hostid=0,groupid=0):
    if not hostid:
        context={}
        q=request.GET.get('q')
        p=int(request.GET.get('page',1))
        if q:
            re=host.search(q)
            context['title']="Hosts in search"
        elif groupid:
            re=host.listByGroup(groupid)
            context['title']="Hosts in Group"
        else:
            re=host.showAll()
            context['title']="Host List"
        if re:
            page=Paginator(re,10)
            if p>0 and p<=page.num_pages:
                context['page']=page.page(p)
            else:
                context['page']=page.page(1)
            context['num_pages']=page.num_pages
            for p in context['page']:
                p.setIP(host.getIP(p.id))
                p.setUrl("/cmdb/host/"+str(p.id))
        context['grouplist']=group.listByType('Host')
        context['uri']='host'
        context['with_group']=True
        context['with_new']=False
        return render(request, 'list.html',context)
    else:
        if request.method=='POST':
            meth=request.POST.get('_method','show')
            if meth=='delete':
                host.delete(hostid)
                return HttpResponse("ok")
            elif meth=='edit_desc':
                desc=unquote(request.POST.get('desc',''))
                host.edit_desc(hostid,desc)
                return HttpResponse("ok")
            elif meth=='addparam':
                key=request.POST.get('key')
                value=request.POST.get('value')
                return HttpResponse(parameter.createByHost(hostid,key,value))
            elif meth=='delparam':
                pid=request.POST.get('pid')
                parameter.delete(pid)
                return HttpResponse("ok")
        else:
            re=host.show(hostid)
            if re:
                context=re
                context['title']="Host Info"
                return render(request, 'core/host.html',context)
            else:
                return HttpResponseRedirect("/cmdb/host")
Exemplo n.º 3
0
Arquivo: views.py Projeto: qsm365/cmdb
def edit_group(request,groupid=0):
    re=group.show(groupid)
    if re:
        context={}
        context['title']="Group Edit"
        context['group']=re
        context['members']=group.getMember(groupid)
        if context['group'].type=="Host":
            for p in context['members']:
                p.setIP(host.getIP(p.id))
        return render(request, 'core/edit_group.html',context)
    else:
        return HttpResponseRedirect("/cmdb/group")
Exemplo n.º 4
0
def edit_group(request, groupid=0):
    re = group.show(groupid)
    if re:
        context = {}
        context['title'] = "Group Edit"
        context['group'] = re
        context['members'] = group.getMember(groupid)
        if context['group'].type == "Host":
            for p in context['members']:
                p.setIP(host.getIP(p.id))
        return render(request, 'core/edit_group.html', context)
    else:
        return HttpResponseRedirect("/cmdb/group")
Exemplo n.º 5
0
Arquivo: views.py Projeto: qsm365/cmdb
def host_find_json(request):
    if request.method == 'GET':
        if len(request.GET['q'])>=3:
            re=host.search(request.GET['q'])
            if re:
                respones=[]
                for i in re:
                    s={}
                    s['id']=i.id
                    s['name']=i.name
                    s['ip']=host.getIP(i.id)
                    respones.append(s)
                return JsonResponse(respones,safe=False)
    return JsonResponse([],safe=False)
Exemplo n.º 6
0
def host_find_json(request):
    if request.method == 'GET':
        if len(request.GET['q']) >= 3:
            re = host.search(request.GET['q'])
            if re:
                respones = []
                for i in re:
                    s = {}
                    s['id'] = i.id
                    s['name'] = i.name
                    s['ip'] = host.getIP(i.id)
                    respones.append(s)
                return JsonResponse(respones, safe=False)
    return JsonResponse([], safe=False)
Exemplo n.º 7
0
Arquivo: views.py Projeto: qsm365/cmdb
def groups(request,groupid=0,grouptype=""):
    if (not groupid):
        if request.method=='POST':
            meth=request.POST.get('_method','show')
            if meth=='new':
                name=request.POST.get('name')
                t=request.POST.get('type')
                member=request.POST.get('member')
                if name and t and member:
                    m=member.split(';')
                    m.pop(-1)
                    group.addMember(group.create(name, t), m)
                return HttpResponse("ok")
        else:
            context={}
            q=request.GET.get('q')
            p=int(request.GET.get('page',1))
            if q:
                re=group.search(q)
                context['title']="Groups in search"
            elif grouptype:
                re=group.listByType(grouptype)
                context['title']=grouptype.capitalize()+" Groups Manage"
            else:
                re=group.showAll()
                context['title']="Group List"
            if re:
                page=Paginator(re,10)
                if p>0 and p<=page.num_pages:
                    context['page']=page.page(p)
                else:
                    context['page']=page.page(1)
                context['num_pages']=page.num_pages
                for p in context['page']:
                    p.setUrl("/cmdb/group/"+str(p.id))
            context['uri']='group'
            context['with_group']=False
            context['with_new']=True
            return render(request,'list.html',context)
    else:
        if request.method=="POST":
            meth=request.POST.get('_method','show')
            if meth=='delete':
                group.delete(groupid)
                return HttpResponse("ok")
            if meth=='edit':
                name=request.POST.get('name')
                add_list=request.POST.get('add')
                if add_list:
                    group.addMember(groupid, add_list.split(','))
                del_list=request.POST.get('del')
                if del_list:
                    group.delMember(groupid, del_list.split(','))
                group.changeName(groupid, name)
                return HttpResponse("ok")
        else:
            re=group.show(groupid)
            if re:
                context={}
                context['group']=group.show(groupid)
                context['members']=group.getMember(groupid)
                context['title']="Group Info"
                if context['group'].type=="Host":
                    for p in context['members']:
                        p.setIP(host.getIP(p.id))
                return render(request,'core/group.html',context)
            else:
                return HttpResponseRedirect("/cmdb/group")
Exemplo n.º 8
0
def groups(request, groupid=0, grouptype=""):
    if (not groupid):
        if request.method == 'POST':
            meth = request.POST.get('_method', 'show')
            if meth == 'new':
                name = request.POST.get('name')
                t = request.POST.get('type')
                member = request.POST.get('member')
                if name and t and member:
                    m = member.split(';')
                    m.pop(-1)
                    group.addMember(group.create(name, t), m)
                return HttpResponse("ok")
        else:
            context = {}
            q = request.GET.get('q')
            p = int(request.GET.get('page', 1))
            if q:
                re = group.search(q)
                context['title'] = "Groups in search"
            elif grouptype:
                re = group.listByType(grouptype)
                context['title'] = grouptype.capitalize() + " Groups Manage"
            else:
                re = group.showAll()
                context['title'] = "Group List"
            if re:
                page = Paginator(re, 10)
                if p > 0 and p <= page.num_pages:
                    context['page'] = page.page(p)
                else:
                    context['page'] = page.page(1)
                context['num_pages'] = page.num_pages
                for p in context['page']:
                    p.setUrl("/cmdb/group/" + str(p.id))
            context['uri'] = 'group'
            context['with_group'] = False
            context['with_new'] = True
            return render(request, 'list.html', context)
    else:
        if request.method == "POST":
            meth = request.POST.get('_method', 'show')
            if meth == 'delete':
                group.delete(groupid)
                return HttpResponse("ok")
            if meth == 'edit':
                name = request.POST.get('name')
                add_list = request.POST.get('add')
                if add_list:
                    group.addMember(groupid, add_list.split(','))
                del_list = request.POST.get('del')
                if del_list:
                    group.delMember(groupid, del_list.split(','))
                group.changeName(groupid, name)
                return HttpResponse("ok")
        else:
            re = group.show(groupid)
            if re:
                context = {}
                context['group'] = group.show(groupid)
                context['members'] = group.getMember(groupid)
                context['title'] = "Group Info"
                if context['group'].type == "Host":
                    for p in context['members']:
                        p.setIP(host.getIP(p.id))
                return render(request, 'core/group.html', context)
            else:
                return HttpResponseRedirect("/cmdb/group")