mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-10-22 00:09:14 +00:00
shouquanxiugai
This commit is contained in:
@@ -8,12 +8,58 @@
|
||||
# from django.template import RequestContext
|
||||
# from jperm.models import Perm, SudoPerm, CmdGroup, Apply
|
||||
from django.db.models import Q
|
||||
from jperm.models import *
|
||||
from jumpserver.api import *
|
||||
from jperm.perm_api import *
|
||||
|
||||
|
||||
def user_perm(request):
|
||||
@require_role('admin')
|
||||
def perm_user_list(request):
|
||||
header_title, path1, path2 = '用户授权', '授权管理', '用户授权'
|
||||
return my_render('jperm/user_perm.html', locals(), request)
|
||||
keyword = request.GET.get('search', '')
|
||||
users_list = User.objects.all()
|
||||
|
||||
if keyword:
|
||||
users_list = users_list.filter(Q(name=keyword) | Q(username=keyword))
|
||||
users_list, p, users, page_range, current_page, show_first, show_end = pages(users_list, request)
|
||||
|
||||
return my_render('jperm/perm_user_list.html', locals(), request)
|
||||
|
||||
|
||||
@require_role('admin')
|
||||
def perm_user_edit(request):
|
||||
header_title, path1, path2 = '用户授权', '授权管理', '授权更改'
|
||||
user_id = request.GET.get('id', '')
|
||||
user = get_object(User, id=user_id)
|
||||
asset_all = Asset.objects.all()
|
||||
asset_group_all = AssetGroup.objects.all()
|
||||
|
||||
asset_id_list = user.assets.split(',')
|
||||
asset_group_id_list = user.asset_groups.split(',')
|
||||
if request.method == 'GET' and user:
|
||||
asset_permed = get_object_list(Asset, asset_id_list)
|
||||
asset_group_permed = get_object_list(AssetGroup, asset_group_id_list)
|
||||
assets = [asset for asset in asset_all if asset not in asset_permed]
|
||||
asset_groups = [asset_group for asset_group in asset_group_all if asset_group not in asset_group_permed]
|
||||
return my_render('jperm/perm_user_edit.html', locals(), request)
|
||||
|
||||
elif request.method == 'POST' and user:
|
||||
asset_select = request.POST.getlist('asset_select', [])
|
||||
asset_group_select = request.POST.getlist('asset_groups_select', [])
|
||||
asset_new = list(set(asset_select) - set(asset_id_list))
|
||||
asset_del = list(set(asset_id_list) - set(asset_select))
|
||||
asset_group_new = list(set(asset_group_select) - set(asset_group_id_list))
|
||||
asset_group_del = list(set(asset_group_id_list) - set(asset_group_select))
|
||||
user.assets = ','.join(asset_select)
|
||||
user.asset_groups = ','.join(asset_group_select)
|
||||
user.save()
|
||||
|
||||
perm_user_api(user, asset_new, asset_del, asset_group_new, asset_group_del)
|
||||
|
||||
return HttpResponseRedirect('/jperm/user/')
|
||||
|
||||
else:
|
||||
return HttpResponse('输入错误')
|
||||
|
||||
|
||||
# def asset_cmd_groups_get(asset_groups_select='', cmd_groups_select=''):
|
||||
@@ -51,7 +97,7 @@ def user_perm(request):
|
||||
# perm.user_group = user_groups
|
||||
# perm.asset_group = asset_groups
|
||||
# msg = '添加成功'
|
||||
# return render_to_response('jperm/user_perm.html', locals(), context_instance=RequestContext(request))
|
||||
# return render_to_response('jperm/perm_user_edit.html', locals(), context_instance=RequestContext(request))
|
||||
#
|
||||
#
|
||||
# def dept_add_asset(dept_id, asset_list):
|
||||
@@ -115,7 +161,7 @@ def user_perm(request):
|
||||
# contact_list = contact_list_confirm
|
||||
#
|
||||
# contact_list, p, contacts, page_range, current_page, show_first, show_end = pages(contact_list, request)
|
||||
# return render_to_response('jperm/perm_list.html', locals(), context_instance=RequestContext(request))
|
||||
# return render_to_response('jperm/perm_user_list.html', locals(), context_instance=RequestContext(request))
|
||||
#
|
||||
#
|
||||
# @require_admin
|
||||
@@ -147,7 +193,7 @@ def user_perm(request):
|
||||
# contact_list = contact_list_confirm
|
||||
#
|
||||
# contact_list, p, contacts, page_range, current_page, show_first, show_end = pages(contact_list, request)
|
||||
# return render_to_response('jperm/perm_list.html', locals(), context_instance=RequestContext(request))
|
||||
# return render_to_response('jperm/perm_user_list.html', locals(), context_instance=RequestContext(request))
|
||||
#
|
||||
#
|
||||
# @require_super_user
|
||||
|
Reference in New Issue
Block a user