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")
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")
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")
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")
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)
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)
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")
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")