修改授权web

pull/6/head
guanghongwei 2015-01-24 14:36:58 +08:00
parent 81f80b4b0c
commit 1ea63bf3d0
6 changed files with 135 additions and 71 deletions

View File

@ -6,7 +6,7 @@ urlpatterns = patterns('jpermission.views',
# url(r'^$', 'jumpserver.views.home', name='home'), # url(r'^$', 'jumpserver.views.home', name='home'),
# url(r'^blog/', include('blog.urls')), # url(r'^blog/', include('blog.urls')),
(r'^perm_user_list/$', 'perm_user_list'), (r'^perm_host/$', 'perm_host'),
(r'^perm_add/$', 'perm_add'), (r'^perm_add/$', 'perm_add'),
(r'^perm_user_show/$', 'perm_user_show'), (r'^perm_user_show/$', 'perm_user_show'),
(r'^perm_list/$', 'perm_list'), (r'^perm_list/$', 'perm_list'),

View File

@ -5,12 +5,23 @@ from django.http import HttpResponseRedirect
from juser.models import User from juser.models import User
from jasset.models import Asset from jasset.models import Asset
from jpermission.models import Permission from jpermission.models import Permission
from django.core.paginator import Paginator, EmptyPage, InvalidPage
def perm_user_list(request): def perm_host(request):
header_title, path1, path2 = u'鏌ョ湅鎺堟潈鐢ㄦ埛 | Perm User Detail.', u'鎺堟潈绠$悊', u'鐢ㄦ埛璇︽儏' header_title, path1, path2 = u'涓绘満鎺堟潈 | Perm Host Detail.', u'jperm', u'perm_host'
users = User.objects.all() users = contact_list = User.objects.all().order_by('id')
return render_to_response('jperm/perm_user_list.html', locals(),) p = paginator = Paginator(contact_list, 10)
try:
page = int(request.GET.get('page', '1'))
except ValueError:
page = 1
try:
contacts = paginator.page(page)
except (EmptyPage, InvalidPage):
contacts = paginator.page(paginator.num_pages)
return render_to_response('jperm/perm_host.html', locals(),)
def perm_add(request): def perm_add(request):

View File

@ -46,3 +46,8 @@ def bool2str(value):
return u'' return u''
else: else:
return u'' return u''
@register.filter(name='perm_total')
def perm_total(user_id):
user = User.objects.get(int(user_id))
return user.permission_set.all().count()

View File

@ -0,0 +1,111 @@
{% extends 'base.html' %}
{% load mytags %}
{% block content %}
{% include 'nav_cat_bar.html' %}
<div class="wrapper wrapper-content animated fadeInRight">
<div class="row">
<div class="col-lg-10">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5> 涓绘満鎺堟潈 <small> show host perm info.</small> </h5>
<div class="ibox-tools">
<a class="collapse-link">
<i class="fa fa-chevron-up"></i>
</a>
<a class="dropdown-toggle" data-toggle="dropdown" href="#">
<i class="fa fa-wrench"></i>
</a>
<ul class="dropdown-menu dropdown-user">
<li><a href="#">鏈惎鐢 1</a>
</li>
<li><a href="#">鏈惎鐢 2</a>
</li>
</ul>
<a class="close-link">
<i class="fa fa-times"></i>
</a>
</div>
</div>
<div class="ibox-content">
<div class="">
<a target="_blank" href="/jperm/perm_edit/" class="btn btn-sm btn-primary "> 娣诲姞 </a>
</div>
<table class="table table-striped table-bordered table-hover " id="editable" >
<thead>
<tr>
<th class="text-center">鐢ㄦ埛鍚</th>
<th class="text-center">濮撳悕</th>
<th class="text-center">灞炵粍</th>
<th class="text-center">鎺堟潈鎬绘暟</th>
<th class="text-center">鎿嶄綔</th>
</tr>
</thead>
<tbody>
{% for group in contacts.object_list %}
<tr class="gradeX">
<td class="text-center"> {{ user.username }} </td>
<td class="text-center"> {{ user.name }} </td>
<td class="text-center"> {{ user.username|groups_str }} </td>
<td class="text-center"> {{ user.id|perm_count }} </td>
<td class="text-center">
<a href="../perm_detail/?id={{ user.id }}" class="iframe btn btn-xs btn-primary">璇︽儏</a>
<a href="../perm_edit/?id={{ user.id }}" class="btn btn-xs btn-info">缂栬緫</a>
</td>
</tr>
{% endfor %}
</tbody>
</table>
<div class="row">
<div class="col-sm-6">
<div class="dataTables_info" id="editable_info" role="status" aria-live="polite">
Showing {{ contacts.start_index }} to {{ contacts.end_index }} of {{ p.count }} entries
</div>
</div>
<div class="col-sm-6">
<div class="dataTables_paginate paging_simple_numbers" id="editable_paginate">
<ul class="pagination" style="margin-top: 0; float: right">
{% if contacts.has_previous %}
<li class="paginate_button previous" aria-controls="editable" tabindex="0" id="editable_previous">
<a href="?page={{ contacts.previous_page_number }}">Previous</a>
</li>
{% else %}
<li class="paginate_button previous disabled" aria-controls="editable" tabindex="0" id="editable_previous">
<a href="#">Previous</a>
</li>
{% endif %}
{% for page in p.page_range %}
{% ifequal offset1 page %}
<li class="paginate_button active" aria-controls="editable" tabindex="0"><a href="?page={{ page }}" title="绗瑊{ page }}椤">{{ page }}</a></li>
{% else %}
<li class="paginate_button" aria-controls="editable" tabindex="0"><a href="?page={{ page }}" title="绗瑊{ page }}椤">{{ page }}</a></li>
{% endifequal %}
{% endfor %}
{% if contacts.has_next %}
<li class="paginate_button next" aria-controls="editable" tabindex="0" id="editable_next">
<a href="?page={{ contacts.next_page_number }}">Next</a>
</li>
{% else %}
<li class="paginate_button next disabled" aria-controls="editable" tabindex="0" id="editable_next">
<a href="#">Next</a>
</li>
{% endif %}
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
$(document).ready(function(){
$(".iframe").colorbox({iframe:true, width:"70%", height:"70%"});
});
</script>
{% endblock %}

View File

@ -1,61 +0,0 @@
{% extends 'base.html' %}
{% load mytags %}
{% block content %}
{% include 'nav_cat_bar.html' %}
<div class="wrapper wrapper-content animated fadeInRight">
<div class="row">
<div class="col-lg-10">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5>鐢ㄦ埛淇℃伅 <small> show user info.</small></h5>
<div class="ibox-tools">
<a class="collapse-link">
<i class="fa fa-chevron-up"></i>
</a>
<a class="dropdown-toggle" data-toggle="dropdown" href="#">
<i class="fa fa-wrench"></i>
</a>
<ul class="dropdown-menu dropdown-user">
<li><a href="#">鏈惎鐢 1</a>
</li>
<li><a href="#">鏈惎鐢 2</a>
</li>
</ul>
<a class="close-link">
<i class="fa fa-times"></i>
</a>
</div>
</div>
<div class="ibox-content" style="display: block;">
<form method="post" action="">
<table class="table table-hover">
<thead>
<tr>
<th>ID</th>
<th>娣诲姞鎺堟潈</th>
</tr>
</thead>
<tbody>
{% for user in users %}
<tr>
<td>{{ user.id }}</td>
<td>{{ user.username }}</td>
<td><a href="../perm_add/?username={{ user.username }}">娣诲姞鏉冮檺</a></td>
</tr>
{% endfor %}
</tbody>
</table>
<div class="form-group">
<div class="col-sm-4 col-sm-offset-2">
<button class="btn btn-white" type="submit">鍙栨秷</button>
<button id="submit_button" class="btn btn-primary" type="submit">纭鍒犻櫎</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
{% endblock %}

View File

@ -34,10 +34,8 @@
<li id="jperm"> <li id="jperm">
<a href="#"><i class="fa fa-edit"></i> <span class="nav-label">鎺堟潈绠$悊</span><span class="fa arrow"></span></a> <a href="#"><i class="fa fa-edit"></i> <span class="nav-label">鎺堟潈绠$悊</span><span class="fa arrow"></span></a>
<ul class="nav nav-second-level"> <ul class="nav nav-second-level">
<li><a href="/jperm/perm_user_show/">鏌ョ湅鎺堟潈</a></li> <li><a href="/jperm/host_perm/">涓绘満鎺堟潈</a></li>
<li><a href="/jperm/perm_user_list/">娣诲姞鎺堟潈</a></li> <li><a href="/jperm/sudo_perm/">Sudo鎺堟潈</a></li>
<li><a href="/jperm/showlist/">鏌ョ湅sudo</a></li>
<li><a href="/jperm/add/">娣诲姞sudo</a></li>
</ul> </ul>
</li> </li>
<li id="jlog"> <li id="jlog">