mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-10-22 16:31:33 +00:00
Ȩ
This commit is contained in:
@@ -56,7 +56,7 @@ def perm_user_asset(user_id=None, username=None):
|
||||
|
||||
def perm_list(request):
|
||||
header_title, path1, path2 = u'主机授权 | Perm Host Detail.', u'授权管理', u'授权详情'
|
||||
groups = contact_list = UserGroup.objects.all().order_by('type')
|
||||
groups = contact_list = Perm.objects.all()
|
||||
users = contact_list2 = User.objects.all().order_by('id')
|
||||
p = paginator = Paginator(contact_list, 10)
|
||||
p2 = paginator2 = Paginator(contact_list2, 10)
|
||||
@@ -74,6 +74,47 @@ def perm_list(request):
|
||||
return render_to_response('jperm/perm_list.html', locals())
|
||||
|
||||
|
||||
def user_asset_cmd_groups_get(user_groups_select='', asset_groups_select='', cmd_groups_select=''):
|
||||
user_groups_select_list = []
|
||||
asset_groups_select_list = []
|
||||
cmd_groups_select_list = []
|
||||
|
||||
for user_group_id in user_groups_select:
|
||||
user_groups_select_list.append(UserGroup.objects.get(id=user_group_id))
|
||||
|
||||
for asset_group_id in asset_groups_select:
|
||||
asset_groups_select_list.append(BisGroup.objects.get(id=asset_group_id))
|
||||
|
||||
for cmd_group_id in cmd_groups_select:
|
||||
cmd_groups_select_list.append(CmdGroup.objects.get(id=cmd_group_id))
|
||||
|
||||
return user_groups_select_list, asset_groups_select_list, cmd_groups_select_list
|
||||
|
||||
|
||||
def perm_add(request):
|
||||
header_title, path1, path2 = u'主机授权添加 | Perm Add Detail.', u'授权管理', u'授权添加'
|
||||
|
||||
if request.method == 'GET':
|
||||
user_groups = UserGroup.objects.filter(Q(type='A') | Q(type='M')).order_by('type')
|
||||
asset_groups = BisGroup.objects.all()
|
||||
|
||||
else:
|
||||
name = request.POST.get('name', '')
|
||||
user_groups_select = request.POST.getlist('user_groups_select')
|
||||
asset_groups_select = request.POST.getlist('asset_groups_select')
|
||||
comment = request.POST.get('comment', '')
|
||||
|
||||
user_groups, asset_groups = user_asset_cmd_groups_get(user_groups_select, asset_groups_select, '')[0:2]
|
||||
|
||||
perm = Perm(name=name, comment=comment)
|
||||
perm.save()
|
||||
|
||||
perm.user_group = user_groups
|
||||
perm.asset_group = asset_groups
|
||||
msg = '添加成功'
|
||||
return render_to_response('jperm/perm_add.html', locals())
|
||||
|
||||
|
||||
def perm_list_ajax(request):
|
||||
tab = request.POST.get('tab', 'tab1')
|
||||
search = request.POST.get('search', '')
|
||||
@@ -112,17 +153,26 @@ def perm_list_ajax(request):
|
||||
def perm_edit(request):
|
||||
if request.method == 'GET':
|
||||
header_title, path1, path2 = u'编辑授权 | Perm Host Edit.', u'授权管理', u'授权编辑'
|
||||
user_group_id = request.GET.get('id')
|
||||
user_group = UserGroup.objects.get(id=user_group_id)
|
||||
asset_groups = BisGroup.objects.all()
|
||||
asset_groups_permed = [perm.asset_group for perm in user_group.perm_set.all()]
|
||||
asset_groups_unperm = [asset_group for asset_group in asset_groups if asset_group not in asset_groups_permed]
|
||||
return render_to_response('jperm/perm_edit.html', locals())
|
||||
perm_id = request.GET.get('id')
|
||||
perm = Perm.objects.filter(id=perm_id)
|
||||
if perm:
|
||||
perm = perm[0]
|
||||
name = perm.name
|
||||
comment = perm.comment
|
||||
user_groups_select = perm.user_group.all()
|
||||
asset_groups_select = perm.asset_group.all()
|
||||
|
||||
user_groups_all = UserGroup.objects.filter(Q(type='A') | Q(type='M'))
|
||||
asset_groups_all = BisGroup.objects.all()
|
||||
|
||||
user_groups = [user_group for user_group in user_groups_all if user_group not in user_groups_select]
|
||||
asset_groups = [asset_group for asset_group in asset_groups_all if asset_group not in asset_groups_select]
|
||||
else:
|
||||
user_group_name = request.POST.get('user_group_name')
|
||||
asset_groups_selected = request.POST.getlist('asset_group_permed')
|
||||
perm_group_update(user_group_name=user_group_name, asset_groups_id=asset_groups_selected)
|
||||
return HttpResponseRedirect('/jperm/perm_list/')
|
||||
return HttpResponseRedirect('/jperm/perm_list/', locals())
|
||||
return render_to_response('jperm/perm_edit.html', locals())
|
||||
|
||||
|
||||
def perm_detail(request):
|
||||
@@ -146,23 +196,6 @@ def perm_asset_detail(request):
|
||||
return render_to_response('jperm/perm_asset_detail.html', locals())
|
||||
|
||||
|
||||
def user_asset_cmd_groups_get(user_groups_select, asset_groups_select, cmd_groups_select):
|
||||
user_groups_select_list = []
|
||||
asset_groups_select_list = []
|
||||
cmd_groups_select_list = []
|
||||
|
||||
for user_group_id in user_groups_select:
|
||||
user_groups_select_list.append(UserGroup.objects.get(id=user_group_id))
|
||||
|
||||
for asset_group_id in asset_groups_select:
|
||||
asset_groups_select_list.append(BisGroup.objects.get(id=asset_group_id))
|
||||
|
||||
for cmd_group_id in cmd_groups_select:
|
||||
cmd_groups_select_list.append(CmdGroup.objects.get(id=cmd_group_id))
|
||||
|
||||
return user_groups_select_list, asset_groups_select_list, cmd_groups_select_list
|
||||
|
||||
|
||||
def sudo_db_add(name, user_runas, user_groups_select, asset_groups_select, cmd_groups_select, comment):
|
||||
user_groups_select_list, asset_groups_select_list, cmd_groups_select_list = \
|
||||
user_asset_cmd_groups_get(user_groups_select, asset_groups_select, cmd_groups_select)
|
||||
|
Reference in New Issue
Block a user