修改组方面授权

This commit is contained in:
ibuler
2015-01-27 00:14:50 +08:00
parent ca3d4de819
commit c4196e7d5a
15 changed files with 742 additions and 139 deletions

View File

@@ -1,11 +1,21 @@
from django.db import models
from juser.models import User
from jasset.models import Asset
from juser.models import User, UserGroup
from jasset.models import Asset, BisGroup
class Perm(models.Model):
class PermUser(models.Model):
user = models.ForeignKey(User)
asset = models.ForeignKey(Asset)
asset_group = models.ForeignKey(BisGroup)
def __unicode__(self):
return '%s_%s' % (self.user.username, self.asset.ip)
return '%s_%s' % (self.user.username, self.asset.ip)
class PermUserGroup(models.Model):
group = models.ForeignKey(UserGroup)
asset = models.ForeignKey(Asset)
asset_group = models.ForeignKey(BisGroup)
def __unicode__(self):
return '%s_%s' % (self.group.name, self.asset.ip)

View File

@@ -10,5 +10,8 @@ urlpatterns = patterns('jperm.views',
(r'^perm_add/$', 'perm_add'),
(r'^perm_user_show/$', 'perm_user_show'),
(r'^perm_host/$', 'perm_list'),
(r'^perm_edit/$', 'perm_edit'),
(r'^perm_user_edit/$', 'perm_user_edit'),
(r'^perm_user_detail/$', 'perm_user_detail'),
(r'^perm_group_edit/$', 'perm_group_edit'),
(r'^perm_group_detail/$', 'perm_group_detail'),
)

View File

@@ -28,14 +28,15 @@ def perm_host(request):
return render_to_response('jperm/perm_host.html', locals())
def perm_user_host(username, ip):
def perm_user_host(username, ips):
user = User.objects.get(username=username)
asset = Asset.objects.get(ip=ip)
if not Perm.objects.filter(user=user, asset=asset):
user.perm_set.all().delete()
for ip in ips:
asset = Asset.objects.get(ip=ip)
Perm.objects.create(user=user, asset=asset)
def perm_edit(request):
def perm_user_edit(request):
header_title, path1, path2 = u'授权编辑 | Perm Edit.', u'jperm', u'perm_edit'
if request.method == 'GET':
if request.GET.get('id', None):
@@ -46,16 +47,33 @@ def perm_edit(request):
for perm in user.perm_set.all():
assets_permed.append(perm.asset)
assets_unperm = list(set(assets)-set(assets_permed))
return render_to_response('jperm/perm_edit.html', locals())
return render_to_response('jperm/perm_user_edit.html', locals())
else:
host_ips = request.POST.getlist('host_permed', '')
username = request.POST.get('username')
for ip in host_ips:
perm_user_host(username, ip)
perm_user_host(username, host_ips)
return HttpResponseRedirect('/jperm/perm_host/')
def perm_user_detail(request):
user_id = request.GET.get('id', '')
user = User.objects.get(id=user_id)
host_permed = []
for perm in user.perm_set.all():
host_permed.append(perm.asset)
return render_to_response('jperm/perm_user_detail.html', locals())
def perm_group_edit(request):
if request.method == 'GET':
group_id = request.GET.get('id', '')
group = UserGroup.objects.get(id=group_id)
return render_to_response('jperm/perm_group_edit.html')
def perm_add(request):
header_title, path1, path2 = u'添加授权 | Add User perm.', u'授权管理', u'添加授权'
if request.method == 'GET':
@@ -76,8 +94,8 @@ def perm_add(request):
host_ids = request.POST.getlist('host_ids', None)
user = User.objects.get(username=username)
for id in host_ids:
asset = Asset.objects.get(id=id)
for host_id in host_ids:
asset = Asset.objects.get(id=host_id)
perm = Perm(user=user, asset=asset)
perm.save()
msg = u'添加成功'