diff --git a/webroot/AutoSa/Assets/models.py b/webroot/AutoSa/Assets/models.py index 50dbe37c1..52c6f05ac 100644 --- a/webroot/AutoSa/Assets/models.py +++ b/webroot/AutoSa/Assets/models.py @@ -2,11 +2,18 @@ from django.db import models from UserManage.models import User +class IDC(models.Model): + name = models.CharField(max_length=20) + + def __unicode__(self): + return self.name + + class Assets(models.Model): id = models.AutoField(primary_key=True) ip = models.CharField(max_length=20) port = models.IntegerField(max_length=5) - idc = models.CharField(max_length=50) + idc = models.ForeignKey(IDC) comment = models.CharField(max_length=100, blank=True, null=True) def __unicode__(self): @@ -15,4 +22,6 @@ class Assets(models.Model): class AssetsUser(models.Model): uid = models.ForeignKey(User) - aid = models.ForeignKey(Assets) \ No newline at end of file + aid = models.ForeignKey(Assets) + + diff --git a/webroot/AutoSa/AutoSa/urls.py b/webroot/AutoSa/AutoSa/urls.py index d0bcec57d..6254b8503 100644 --- a/webroot/AutoSa/AutoSa/urls.py +++ b/webroot/AutoSa/AutoSa/urls.py @@ -20,6 +20,9 @@ urlpatterns = patterns('', (r'^showGroup/$', views.showGroup), (r'^addGroup/$', views.addGroup), (r'^chgGroup/$', views.chgGroup), + (r'^showIDC/$', views.showGroup), + (r'^addIDC/$', views.addGroup), + (r'^chgIDC/$', views.chgGroup), (r'^showSudo/$', views.showSudo), (r'^chgSudo/$', views.chgSudo), (r'^showAssets/$', views.showAssets), diff --git a/webroot/AutoSa/AutoSa/views.py b/webroot/AutoSa/AutoSa/views.py index c62cd6472..2d5895fc4 100644 --- a/webroot/AutoSa/AutoSa/views.py +++ b/webroot/AutoSa/AutoSa/views.py @@ -5,7 +5,7 @@ from django.template import RequestContext from django.shortcuts import render_to_response from django.http import HttpResponseRedirect from UserManage.models import User, Group, Logs, Pid -from Assets.models import Assets, AssetsUser +from Assets.models import Assets, AssetsUser, IDC import subprocess from Crypto.Cipher import AES from binascii import b2a_hex, a2b_hex @@ -599,10 +599,15 @@ def chgGroup(request): group_id = request.GET.get('id') group = Group.objects.get(id=group_id) else: - group_id = request.POST.get('id') - group_name = request.POST.get('name') + group_id = request.POST.filter('id') + if group_id: + group_id = group_id[0] + group_name = request.POST.get('name') + else: + return HttpResponseRedirect('/showGroup/') if not group_name: error = u'不能为空' + return render_to_response('info.html', {'error': error}) else: group = Group.objects.get(id=group_id) group.name = group_name @@ -613,6 +618,68 @@ def chgGroup(request): context_instance=RequestContext(request)) +@superuser_required +def showIDC(request): + error = '' + msg = '' + idcs = IDC.objects.all() + + if request.method == 'POST': + selected_idc = request.REQUEST.getlist('selected') + if selected_idc: + for idc_id in selected_idc: + idc = IDC.objects.get(id=idc_id) + idc.delete() + msg = '删除成功' + + return render_to_response('showIDC.html', + {'idcs': idcs, 'error': error, 'msg': msg, 'asset_menu': 'active'}, + context_instance=RequestContext(request)) + + +@superuser_required +def chgIDC(request): + error = '' + msg = '' + if request.method == 'GET': + idc_id = request.GET.filter('id') + if idc_id: + idc_id = idc_id[0] + idc = Group.objects.get(id=idc_id) + else: + return HttpResponseRedirect('/showIDC/') + else: + idc_id = request.POST.get('id') + idc_name = request.POST.get('name') + if not idc_name: + error = u'不能为空' + return render_to_response('info.html', {'error': error}) + else: + idc = Group.objects.get(id=idc_id) + idc.name = idc_name + idc.save() + msg = u'修改成功' + + return render_to_response('chgGroup.html', {'group': idc, 'error': error, 'msg': msg, 'asset_menu': 'active'}, + context_instance=RequestContext(request)) + + +@superuser_required +def addIDC(request): + error = '' + msg = '' + if request.method == 'POST': + idc_name = request.POST.get('name') + if idc_name: + group = Group(name=idc_name) + group.save() + msg = u'%s IDC添加成功' % idc_name + else: + error = u'不能为空' + return render_to_response('addIDC.html', + {'error': error, 'msg': msg, 'user_menu': 'active'}, + context_instance=RequestContext(request)) + @admin_required def showSudo(request): if request.method == 'GET': @@ -728,12 +795,15 @@ def addAssets(request): """添加服务器""" error = '' msg = '' + idcs = IDC.objects.all() if request.method == 'POST': ip = request.POST.get('ip') port = request.POST.get('port') idc = request.POST.get('idc') comment = request.POST.get('comment') + idc = IDC.objects.get(id=idc) + if '' in (ip, port): error = '带*号内容不能为空。' elif Assets.objects.filter(ip=ip): @@ -743,7 +813,7 @@ def addAssets(request): asset.save() msg = u'%s 添加成功' % ip - return render_to_response('addAssets.html', {'msg': msg, 'error': error, 'asset_menu': 'active'}, + return render_to_response('addAssets.html', {'msg': msg, 'error': error, 'idcs': idcs, 'asset_menu': 'active'}, context_instance=RequestContext(request)) diff --git a/webroot/AutoSa/templates/addAssets.html b/webroot/AutoSa/templates/addAssets.html index f230b7b7a..95efb47aa 100644 --- a/webroot/AutoSa/templates/addAssets.html +++ b/webroot/AutoSa/templates/addAssets.html @@ -28,7 +28,11 @@
- +
diff --git a/webroot/AutoSa/templates/addIDC.html b/webroot/AutoSa/templates/addIDC.html new file mode 100644 index 000000000..0ca0221da --- /dev/null +++ b/webroot/AutoSa/templates/addIDC.html @@ -0,0 +1,36 @@ +{% extends 'base.html' %} +{% block content %} +
+
+ 添加IDC + {% if error %} +
+ {{ error }} +
+ {% endif %} + {% if msg %} +
+ {{ msg }} +
+ {% endif %} +
+ +
+ +
+
+ 添加IDC +
+
+ 删除IDC +
+
+ +
+
+ +
+
+
+
+{% endblock %} \ No newline at end of file diff --git a/webroot/AutoSa/templates/chgGroup.html b/webroot/AutoSa/templates/chgGroup.html index ae44b6cc0..45c30dab8 100644 --- a/webroot/AutoSa/templates/chgGroup.html +++ b/webroot/AutoSa/templates/chgGroup.html @@ -2,7 +2,7 @@ {% block content %}
- 修改用户信息 + 修改属组信息 {% if error %}
{{ error }} diff --git a/webroot/AutoSa/templates/chgIDC.html b/webroot/AutoSa/templates/chgIDC.html new file mode 100644 index 000000000..a0fc64f43 --- /dev/null +++ b/webroot/AutoSa/templates/chgIDC.html @@ -0,0 +1,41 @@ +{% extends 'base.html' %} +{% block content %} + +
+ 修改IDC信息 + {% if error %} +
+ {{ error }} +
+ {% endif %} + + {% if msg %} +
+ {{ msg }} +
+ {% endif %} +
+
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+ +
+
+
+ +{% endblock %} \ No newline at end of file diff --git a/webroot/AutoSa/templates/showIDC.html b/webroot/AutoSa/templates/showIDC.html new file mode 100644 index 000000000..985b2aeb1 --- /dev/null +++ b/webroot/AutoSa/templates/showIDC.html @@ -0,0 +1,31 @@ +{% extends 'base.html' %} +{% block content %} +
+ {% if info %} +

+ {{ info }} +

+ {% endif %} + + + + + + + + + + + {% for idc in idcs %} + + + + + + + {% endfor %} + +
IDIDC修改
{{ idc.id }}{{ idc.name }}修改
+ +
+{% endblock %} \ No newline at end of file