|
|
|
# coding:utf-8
|
|
|
|
import datetime
|
|
|
|
from django.shortcuts import render
|
|
|
|
from django.http import HttpResponse
|
|
|
|
from django.template import RequestContext
|
|
|
|
from django.shortcuts import render_to_response
|
|
|
|
from django.http import HttpResponseRedirect
|
|
|
|
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
|
|
|
|
|
|
|
|
from models import IDC, Asset, Group
|
|
|
|
from connect import PyCrypt, KEY
|
|
|
|
|
|
|
|
|
|
|
|
def index(request):
|
|
|
|
return render_to_response('jasset/jasset.html', )
|
|
|
|
|
|
|
|
|
|
|
|
def jadd(request):
|
|
|
|
global j_passwd
|
|
|
|
groups = []
|
|
|
|
cryptor = PyCrypt(KEY)
|
|
|
|
eidc = IDC.objects.all()
|
|
|
|
egroup = Group.objects.all()
|
|
|
|
is_actived = {'active': 1, 'no_active': 0}
|
|
|
|
login_typed = {'LDAP': 'L', 'SSH_KEY': 'S', 'PASSWORD': 'P', 'MAP': 'M'}
|
|
|
|
|
|
|
|
if request.method == 'POST':
|
|
|
|
j_ip = request.POST.get('j_ip')
|
|
|
|
j_idc = request.POST.get('j_idc')
|
|
|
|
j_port = request.POST.get('j_port')
|
|
|
|
j_type = request.POST.get('j_type')
|
|
|
|
j_group = request.POST.getlist('j_group')
|
|
|
|
j_active = request.POST.get('j_active')
|
|
|
|
j_comment = request.POST.get('j_comment')
|
|
|
|
if j_type == 'MAP':
|
|
|
|
j_user = request.POST.get('j_user')
|
|
|
|
j_password = cryptor.encrypt(request.POST.get('j_password'))
|
|
|
|
j_root = request.POST.get('j_root')
|
|
|
|
j_passwd = cryptor.encrypt(request.POST.get('j_passwd'))
|
|
|
|
|
|
|
|
j_idc = IDC.objects.get(name=j_idc)
|
|
|
|
for group in j_group:
|
|
|
|
c = Group.objects.get(name=group)
|
|
|
|
groups.append(c)
|
|
|
|
|
|
|
|
if Asset.objects.filter(ip=str(j_ip)):
|
|
|
|
emg = u'该IP已存在!'
|
|
|
|
return render_to_response('jasset/jadd.html', {'emg': emg, 'j_ip': j_ip})
|
|
|
|
|
|
|
|
elif j_type == 'MAP':
|
|
|
|
a = Asset(ip=j_ip,
|
|
|
|
port=j_port,
|
|
|
|
login_type=login_typed[j_type],
|
|
|
|
idc=j_idc,
|
|
|
|
is_active=int(is_actived[j_active]),
|
|
|
|
comment=j_comment,
|
|
|
|
username_common=j_user,
|
|
|
|
password_common=j_password,
|
|
|
|
username_super=j_root,
|
|
|
|
password_super=j_passwd,)
|
|
|
|
else:
|
|
|
|
a = Asset(ip=j_ip,
|
|
|
|
port=j_port,
|
|
|
|
login_type=login_typed[j_type],
|
|
|
|
idc=j_idc,
|
|
|
|
is_active=int(is_actived[j_active]),
|
|
|
|
comment=j_comment)
|
|
|
|
a.save()
|
|
|
|
a.group = groups
|
|
|
|
a.save()
|
|
|
|
|
|
|
|
return render_to_response('jasset/jadd.html',
|
|
|
|
{'header_title': u'添加主机 | Add Host',
|
|
|
|
'path1': '资产管理',
|
|
|
|
'path2': '添加主机',
|
|
|
|
'eidc': eidc,
|
|
|
|
'egroup': egroup, }
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
def jlist(request):
|
|
|
|
posts = contact_list = Asset.objects.all().order_by('ip')
|
|
|
|
print posts
|
|
|
|
paginator = Paginator(contact_list, 5)
|
|
|
|
try:
|
|
|
|
page = int(request.GET.get('page', '1'))
|
|
|
|
except ValueError:
|
|
|
|
page = 1
|
|
|
|
|
|
|
|
try:
|
|
|
|
contacts = paginator.page(page)
|
|
|
|
except (EmptyPage, InvalidPage):
|
|
|
|
contacts = paginator.page(paginator.num_pages)
|
|
|
|
|
|
|
|
return render_to_response('jasset/jlist.html',
|
|
|
|
{"contacts": contacts,
|
|
|
|
'p': paginator,
|
|
|
|
'posts': posts,
|
|
|
|
'header_title': u'查看主机 | List Host',
|
|
|
|
'path1': '资产管理',
|
|
|
|
'path2': '查看主机', },
|
|
|
|
context_instance=RequestContext(request))
|
|
|
|
|
|
|
|
|
|
|
|
def jadd_idc(request):
|
|
|
|
pass
|
|
|
|
|
|
|
|
|
|
|
|
def jlist_idc(request):
|
|
|
|
pass
|