还尼玛野生动物

pull/6/head
guanghongwei 10 years ago
parent 340aaf42de
commit 38445a1dd2

@ -14,12 +14,12 @@ urlpatterns = patterns('jperm.views',
(r'^perm_detail/$', 'perm_detail'),
(r'^perm_del/$', 'perm_del'),
(r'^perm_asset_detail/$', 'perm_asset_detail'),
(r'^sudo_list/$', 'sudo_list'),
(r'^sudo_list/$', view_splitter, {'su': sudo_list, 'adm': sudo_list_adm}),
(r'^sudo_del/$', 'sudo_del'),
(r'^sudo_edit/$', 'sudo_edit'),
(r'^sudo_edit/$', view_splitter, {'su': sudo_edit, 'adm': sudo_edit_adm}),
(r'^sudo_refresh/$', 'sudo_refresh'),
(r'^sudo_detail/$', 'sudo_detail'),
(r'^cmd_add/$', 'cmd_add'),
(r'^cmd_add/$', view_splitter, {'su': cmd_add, 'adm': cmd_add_adm}),
(r'^cmd_list/$', 'cmd_list'),
(r'^cmd_del/$', 'cmd_del'),
(r'^cmd_edit/$', 'cmd_edit'),

@ -356,14 +356,26 @@ def sudo_update(user_group, user_runas, asset_groups_select, cmd_groups_select,
# return render_to_response('jperm/sudo_add.html', locals(), context_instance=RequestContext(request))
@require_admin
@require_super_user
def sudo_list(request):
header_title, path1, path2 = u'Sudo鎺堟潈', u'鏉冮檺绠$悊', u'Sudo鏉冮檺璇︽儏'
keyword = request.GET.get('search', '')
contact_list = UserGroup.objects.all().order_by('name')
if keyword:
contact_list = UserGroup.objects.filter(Q(name__icontains=keyword) | Q(comment__icontains=keyword))
else:
contact_list = UserGroup.objects.all().order_by('name')
contact_list = contact_list.filter(Q(name__icontains=keyword) | Q(comment__icontains=keyword))
contact_list, p, contacts, page_range, current_page, show_first, show_end = pages(contact_list, request)
return render_to_response('jperm/sudo_list.html', locals(), context_instance=RequestContext(request))
@require_admin
def sudo_list_adm(request):
header_title, path1, path2 = u'Sudo鎺堟潈', u'鏉冮檺绠$悊', u'Sudo鏉冮檺璇︽儏'
keyword = request.GET.get('search', '')
user, dept = get_session_user_dept(request)
contact_list = dept.usergroup_set.all().order_by('name')
if keyword:
contact_list = contact_list.filter(Q(name__icontains=keyword) | Q(comment__icontains=keyword))
contact_list, p, contacts, page_range, current_page, show_first, show_end = pages(contact_list, request)
return render_to_response('jperm/sudo_list.html', locals(), context_instance=RequestContext(request))
@ -412,6 +424,52 @@ def sudo_edit(request):
return render_to_response('jperm/sudo_edit.html', locals(), context_instance=RequestContext(request))
@require_admin
def sudo_edit_adm(request):
header_title, path1, path2 = u'Sudo鎺堟潈', u'鎺堟潈绠$悊', u'Sudo鎺堟潈'
user, dept = get_session_user_dept(request)
if request.method == 'GET':
user_group_id = request.GET.get('id', '0')
if not validate(request, user_group=[user_group_id]):
return render_to_response('/jperm/sudo_list/')
user_group = UserGroup.objects.filter(id=user_group_id)
asset_group_all = dept.bisgroup_set.all()
cmd_group_all = dept.cmdgroup_set.all()
if user_group:
user_group = user_group[0]
sudo_perm = user_group.sudoperm_set.all()
if sudo_perm:
sudo_perm = sudo_perm[0]
asset_group_permed = sudo_perm.asset_group.all()
cmd_group_permed = sudo_perm.cmd_group.all()
user_runas = sudo_perm.user_runas
comment = sudo_perm.comment
else:
asset_group_permed = []
cmd_group_permed = []
asset_groups = [asset_group for asset_group in asset_group_all if asset_group not in asset_group_permed]
cmd_groups = [cmd_group for cmd_group in cmd_group_all if cmd_group not in cmd_group_permed]
else:
user_group_id = request.POST.get('user_group_id', '')
users_runas = request.POST.get('runas', 'root')
asset_groups_select = request.POST.getlist('asset_groups_select')
cmd_groups_select = request.POST.getlist('cmd_groups_select')
comment = request.POST.get('comment', '')
user_group = UserGroup.objects.filter(id=user_group_id)
if not validate(request, user_group=[user_group_id], asset_group=asset_groups_select):
return render_to_response('/jperm/sudo_list/')
if user_group:
user_group = user_group[0]
if LDAP_ENABLE:
sudo_update(user_group, users_runas, asset_groups_select, cmd_groups_select, comment)
msg = '淇敼鎴愬姛'
return HttpResponseRedirect('/jperm/sudo_list/')
return render_to_response('jperm/sudo_edit.html', locals(), context_instance=RequestContext(request))
@require_admin
def sudo_refresh(request):
sudo_perm_all = SudoPerm.objects.all()
@ -460,7 +518,7 @@ def sudo_refresh(request):
# return HttpResponseRedirect('/jperm/sudo_list/')
@require_admin
@require_super_user
def cmd_add(request):
header_title, path1, path2 = u'sudo鍛戒护娣诲姞', u'鎺堟潈绠$悊', u'鍛戒护缁勬坊鍔'
dept_all = DEPT.objects.all()
@ -484,6 +542,23 @@ def cmd_add(request):
return render_to_response('jperm/sudo_cmd_add.html', locals(), context_instance=RequestContext(request))
@require_admin
def cmd_add_adm(request):
header_title, path1, path2 = u'sudo鍛戒护娣诲姞', u'鎺堟潈绠$悊', u'鍛戒护缁勬坊鍔'
user, dept = get_session_user_dept(request)
if request.method == 'POST':
name = request.POST.get('name')
cmd = ','.join(request.POST.get('cmd').split())
comment = request.POST.get('comment')
CmdGroup.objects.create(name=name, dept=dept, cmd=cmd, comment=comment)
msg = u'鍛戒护缁勬坊鍔犳垚鍔'
return HttpResponseRedirect('/jperm/cmd_list/')
return render_to_response('jperm/sudo_cmd_add.html', locals(), context_instance=RequestContext(request))
@require_admin
def cmd_edit(request):
header_title, path1, path2 = u'sudo鍛戒护淇敼', u'鎺堟潈绠$悊绠$悊', u'鍛戒护缁勪慨鏀'
@ -515,7 +590,11 @@ def cmd_edit(request):
def cmd_list(request):
header_title, path1, path2 = u'sudo鍛戒护鏌ョ湅', u'鏉冮檺绠$悊', u'Sudo鍛戒护娣诲姞'
cmd_groups = contact_list = CmdGroup.objects.all()
if request.session.get('role_id', '0') == '2':
cmd_groups = contact_list = CmdGroup.objects.all()
else:
user, dept = get_session_user_dept(request)
cmd_groups = contact_list = dept.cmdgroup_set.all()
p = paginator = Paginator(contact_list, 10)
try:

Loading鈥
Cancel
Save