Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
J
jumpserver
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ops
jumpserver
Commits
9bab7bf1
Commit
9bab7bf1
authored
Feb 28, 2015
by
guanghongwei
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'guanghongwei' of gitcafe.com:ibuler/jumpserver into guanghongwei
Conflicts: jperm/views.py jumpserver/views.py
parents
f0cd0641
56f8f5d0
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
337 additions
and
84 deletions
+337
-84
urls.py
jperm/urls.py
+2
-1
views.py
jperm/views.py
+7
-8
views.py
jumpserver/views.py
+8
-0
views.py
juser/views.py
+11
-7
perm_list.html
templates/jperm/perm_list.html
+66
-66
perm_user_detail.html
templates/jperm/perm_user_detail.html
+241
-0
user_list.html
templates/juser/user_list.html
+2
-2
No files found.
jperm/urls.py
View file @
9bab7bf1
...
@@ -9,7 +9,8 @@ urlpatterns = patterns('jperm.views',
...
@@ -9,7 +9,8 @@ urlpatterns = patterns('jperm.views',
(
r'^perm_edit/$'
,
'perm_edit'
),
(
r'^perm_edit/$'
,
'perm_edit'
),
(
r'^perm_add/$'
,
'perm_add'
),
(
r'^perm_add/$'
,
'perm_add'
),
(
r'^perm_list/$'
,
'perm_list'
),
(
r'^perm_list/$'
,
'perm_list'
),
(
r'^perm_list_ajax/$'
,
'perm_list_ajax'
),
(
r'^perm_user_detail/$'
,
'perm_user_detail'
),
# (r'^perm_list_ajax/$', 'perm_list_ajax'),
(
r'^perm_detail/$'
,
'perm_detail'
),
(
r'^perm_detail/$'
,
'perm_detail'
),
(
r'^perm_del/$'
,
'perm_del'
),
(
r'^perm_del/$'
,
'perm_del'
),
(
r'^perm_asset_detail/$'
,
'perm_asset_detail'
),
(
r'^perm_asset_detail/$'
,
'perm_asset_detail'
),
...
...
jperm/views.py
View file @
9bab7bf1
...
@@ -8,7 +8,7 @@ from jasset.models import Asset, BisGroup
...
@@ -8,7 +8,7 @@ from jasset.models import Asset, BisGroup
from
jperm.models
import
Perm
,
SudoPerm
,
CmdGroup
from
jperm.models
import
Perm
,
SudoPerm
,
CmdGroup
from
django.core.paginator
import
Paginator
,
EmptyPage
,
InvalidPage
from
django.core.paginator
import
Paginator
,
EmptyPage
,
InvalidPage
from
django.db.models
import
Q
from
django.db.models
import
Q
from
jumpserver.views
import
LDAP_ENABLE
,
ldap_conn
,
CONF
,
perm_user_asset
from
jumpserver.views
import
LDAP_ENABLE
,
ldap_conn
,
CONF
,
perm_user_asset
,
page_list_return
if
LDAP_ENABLE
:
if
LDAP_ENABLE
:
...
@@ -40,19 +40,18 @@ def perm_list(request):
...
@@ -40,19 +40,18 @@ def perm_list(request):
groups
=
contact_list
=
Perm
.
objects
.
all
()
groups
=
contact_list
=
Perm
.
objects
.
all
()
users
=
contact_list2
=
User
.
objects
.
all
()
.
order_by
(
'id'
)
users
=
contact_list2
=
User
.
objects
.
all
()
.
order_by
(
'id'
)
p
=
paginator
=
Paginator
(
contact_list
,
10
)
p
=
paginator
=
Paginator
(
contact_list
,
10
)
p2
=
paginator2
=
Paginator
(
contact_list2
,
10
)
try
:
try
:
page
=
int
(
request
.
GET
.
get
(
'page'
,
'1'
))
current_
page
=
int
(
request
.
GET
.
get
(
'page'
,
'1'
))
except
ValueError
:
except
ValueError
:
page
=
1
current_page
=
1
page_range
=
page_list_return
(
len
(
p
.
page_range
),
current_page
)
try
:
try
:
contacts
=
paginator
.
page
(
page
)
contacts
=
paginator
.
page
(
current_page
)
contacts2
=
paginator2
.
page
(
page
)
except
(
EmptyPage
,
InvalidPage
):
except
(
EmptyPage
,
InvalidPage
):
contacts
=
paginator
.
page
(
paginator
.
num_pages
)
contacts
=
paginator
.
page
(
paginator
.
num_pages
)
contacts2
=
paginator2
.
page
(
paginator2
.
num_pages
)
return
render_to_response
(
'jperm/perm_list.html'
,
locals
())
return
render_to_response
(
'jperm/perm_list.html'
,
locals
(),
context_instance
=
RequestContext
(
request
))
def
user_asset_cmd_groups_get
(
user_groups_select
=
''
,
asset_groups_select
=
''
,
cmd_groups_select
=
''
):
def
user_asset_cmd_groups_get
(
user_groups_select
=
''
,
asset_groups_select
=
''
,
cmd_groups_select
=
''
):
...
...
jumpserver/views.py
View file @
9bab7bf1
...
@@ -52,6 +52,14 @@ class ServerError(Exception):
...
@@ -52,6 +52,14 @@ class ServerError(Exception):
pass
pass
def
page_list_return
(
total
,
current
=
1
):
min_page
=
current
-
2
if
current
-
4
>
0
else
1
max_page
=
min_page
+
4
if
min_page
+
4
<
total
else
total
return
range
(
min_page
,
max_page
+
1
)
def
jasset_host_edit
(
j_id
,
j_ip
,
j_idc
,
j_port
,
j_type
,
j_group
,
j_active
,
j_comment
):
def
jasset_host_edit
(
j_id
,
j_ip
,
j_idc
,
j_port
,
j_type
,
j_group
,
j_active
,
j_comment
):
groups
=
[]
groups
=
[]
is_active
=
{
u'是'
:
'1'
,
u'否'
:
'2'
}
is_active
=
{
u'是'
:
'1'
,
u'否'
:
'2'
}
...
...
juser/views.py
View file @
9bab7bf1
...
@@ -21,7 +21,7 @@ from juser.models import UserGroup, User
...
@@ -21,7 +21,7 @@ from juser.models import UserGroup, User
from
connect
import
PyCrypt
,
KEY
from
connect
import
PyCrypt
,
KEY
from
connect
import
BASE_DIR
from
connect
import
BASE_DIR
from
connect
import
CONF
from
connect
import
CONF
from
jumpserver.views
import
md5_crypt
,
LDAPMgmt
,
LDAP_ENABLE
,
ldap_conn
from
jumpserver.views
import
md5_crypt
,
LDAPMgmt
,
LDAP_ENABLE
,
ldap_conn
,
page_list_return
if
LDAP_ENABLE
:
if
LDAP_ENABLE
:
LDAP_HOST_URL
=
CONF
.
get
(
'ldap'
,
'host_url'
)
LDAP_HOST_URL
=
CONF
.
get
(
'ldap'
,
'host_url'
)
...
@@ -266,12 +266,14 @@ def group_list(request):
...
@@ -266,12 +266,14 @@ def group_list(request):
p
=
paginator
=
Paginator
(
contact_list
,
10
)
p
=
paginator
=
Paginator
(
contact_list
,
10
)
try
:
try
:
page
=
int
(
request
.
GET
.
get
(
'page'
,
'1'
))
current_
page
=
int
(
request
.
GET
.
get
(
'page'
,
'1'
))
except
ValueError
:
except
ValueError
:
page
=
1
current_page
=
1
page_range
=
page_list_return
(
len
(
p
.
page_range
),
current_page
)
try
:
try
:
contacts
=
paginator
.
page
(
page
)
contacts
=
paginator
.
page
(
current_
page
)
except
(
EmptyPage
,
InvalidPage
):
except
(
EmptyPage
,
InvalidPage
):
contacts
=
paginator
.
page
(
paginator
.
num_pages
)
contacts
=
paginator
.
page
(
paginator
.
num_pages
)
return
render_to_response
(
'juser/group_list.html'
,
locals
(),
context_instance
=
RequestContext
(
request
))
return
render_to_response
(
'juser/group_list.html'
,
locals
(),
context_instance
=
RequestContext
(
request
))
...
@@ -334,12 +336,14 @@ def user_list(request):
...
@@ -334,12 +336,14 @@ def user_list(request):
p
=
paginator
=
Paginator
(
contact_list
,
10
)
p
=
paginator
=
Paginator
(
contact_list
,
10
)
try
:
try
:
page
=
int
(
request
.
GET
.
get
(
'page'
,
'1'
))
current_
page
=
int
(
request
.
GET
.
get
(
'page'
,
'1'
))
except
ValueError
:
except
ValueError
:
page
=
1
current_page
=
1
page_range
=
page_list_return
(
len
(
p
.
page_range
),
current_page
)
try
:
try
:
contacts
=
paginator
.
page
(
page
)
contacts
=
paginator
.
page
(
current_
page
)
except
(
EmptyPage
,
InvalidPage
):
except
(
EmptyPage
,
InvalidPage
):
contacts
=
paginator
.
page
(
paginator
.
num_pages
)
contacts
=
paginator
.
page
(
paginator
.
num_pages
)
return
render_to_response
(
'juser/user_list.html'
,
locals
(),
context_instance
=
RequestContext
(
request
))
return
render_to_response
(
'juser/user_list.html'
,
locals
(),
context_instance
=
RequestContext
(
request
))
...
...
templates/jperm/perm_list.html
View file @
9bab7bf1
...
@@ -33,8 +33,8 @@
...
@@ -33,8 +33,8 @@
<div
class=
"panel-heading"
>
<div
class=
"panel-heading"
>
<div
class=
"panel-options"
>
<div
class=
"panel-options"
>
<ul
class=
"nav nav-tabs"
>
<ul
class=
"nav nav-tabs"
>
<li
id=
"tab1"
class=
"active"
><a
data-toggle=
"tab"
href=
"
#tab-1
"
>
授权查看
</a></li>
<li
id=
"tab1"
class=
"active"
><a
data-toggle=
"tab"
href=
"
/perm_list/
"
>
授权查看
</a></li>
<li
id=
"tab2"
class=
""
><a
data-toggle=
"tab"
href=
"
#tab-2
"
>
用户授权详情
</a></li>
<li
id=
"tab2"
class=
""
><a
data-toggle=
"tab"
href=
"
/perm_user_detail/
"
>
用户授权详情
</a></li>
<li
style=
"float: right"
>
<li
style=
"float: right"
>
<form
method=
"get"
action=
""
class=
"pull-right mail-search"
>
<form
method=
"get"
action=
""
class=
"pull-right mail-search"
>
<div
class=
"input-group"
>
<div
class=
"input-group"
>
...
@@ -107,8 +107,8 @@
...
@@ -107,8 +107,8 @@
<a
href=
"#"
>
Previous
</a>
<a
href=
"#"
>
Previous
</a>
</li>
</li>
{% endif %}
{% endif %}
{% for page in p
.p
age_range %}
{% for page in page_range %}
{% ifequal
offset1
page %}
{% ifequal
current_page
page %}
<li
class=
"paginate_button active"
aria-controls=
"editable"
tabindex=
"0"
><a
href=
"?page={{ page }}"
title=
"第{{ page }}页"
>
{{ page }}
</a></li>
<li
class=
"paginate_button active"
aria-controls=
"editable"
tabindex=
"0"
><a
href=
"?page={{ page }}"
title=
"第{{ page }}页"
>
{{ page }}
</a></li>
{% else %}
{% else %}
<li
class=
"paginate_button"
aria-controls=
"editable"
tabindex=
"0"
><a
href=
"?page={{ page }}"
title=
"第{{ page }}页"
>
{{ page }}
</a></li>
<li
class=
"paginate_button"
aria-controls=
"editable"
tabindex=
"0"
><a
href=
"?page={{ page }}"
title=
"第{{ page }}页"
>
{{ page }}
</a></li>
...
@@ -130,68 +130,68 @@
...
@@ -130,68 +130,68 @@
</div>
</div>
<div
id=
"tab-2"
class=
"tab-pane"
>
<div
id=
"tab-2"
class=
"tab-pane"
>
<table
class=
"table table-striped table-bordered table-hover "
id=
"editable"
>
{#
<table
class=
"table table-striped table-bordered table-hover "
id=
"editable"
>
#}
<thead>
{#
<thead>
#}
<tr>
{#
<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>
{#
<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>
{#
</tr>
#}
</thead>
{#
</thead>
#}
<tbody
id=
"perm_list"
>
{#
<tbody
id=
"perm_list"
>
#}
{% for user in contacts2.object_list %
}
{# {% for user in contacts2.object_list %}#
}
<tr
class=
"gradeX"
>
{#
<tr
class=
"gradeX"
>
#}
<td
class=
"text-center"
>
{{ user.name }}
</td>
{#
<td
class=
"text-center"
>
{{ user.name }}
</td>
#}
<td
class=
"text-center"
>
{{ user.id | get_role }}
</td>
{#
<td
class=
"text-center"
>
{{ user.id | get_role }}
</td>
#}
<td
class=
"text-center"
>
{{ user.username | groups_str }}
</td>
{#
<td
class=
"text-center"
>
{{ user.username | groups_str }}
</td>
#}
<td
class=
"text-center"
>
{{ user.id | perm_asset_count }}
</td>
{#
<td
class=
"text-center"
>
{{ user.id | perm_asset_count }}
</td>
#}
<td
class=
"text-center"
>
{#
<td
class=
"text-center"
>
#}
<a
title=
"[ {{ user.name }} ] 授权详情"
href=
"../perm_asset_detail/?id={{ user.id }}"
class=
"btn btn-xs btn-primary"
>
详情
</a>
{#
<a
title=
"[ {{ user.name }} ] 授权详情"
href=
"../perm_asset_detail/?id={{ user.id }}"
class=
"btn btn-xs btn-primary"
>
详情
</a>
#}
</td>
{#
</td>
#}
</tr>
{#
</tr>
#}
{% endfor %
}
{# {% endfor %}#
}
</tbody>
{#
</tbody>
#}
</table>
{#
</table>
#}
<div
class=
"row"
>
{#
<div
class=
"row"
>
#}
<div
class=
"col-sm-6"
>
{#
<div
class=
"col-sm-6"
>
#}
<div
class=
"dataTables_info"
id=
"editable_info"
role=
"status"
aria-live=
"polite"
>
{#
<div
class=
"dataTables_info"
id=
"editable_info"
role=
"status"
aria-live=
"polite"
>
#}
Showing {{ contacts2.start_index }} to {{ contacts2.end_index }} of {{ p2.count }} entries
{# Showing {{ contacts2.start_index }} to {{ contacts2.end_index }} of {{ p2.count }} entries#}
</div>
{#
</div>
#}
</div>
{#
</div>
#}
<div
class=
"col-sm-6"
>
{#
<div
class=
"col-sm-6"
>
#}
<div
class=
"dataTables_paginate paging_simple_numbers"
id=
"editable_paginate"
>
{#
<div
class=
"dataTables_paginate paging_simple_numbers"
id=
"editable_paginate"
>
#}
<ul
class=
"pagination"
style=
"margin-top: 0; float: right"
>
{#
<ul
class=
"pagination"
style=
"margin-top: 0; float: right"
>
#}
{% if contacts2.has_previous %
}
{# {% if contacts2.has_previous %}#
}
<li
class=
"paginate_button previous"
aria-controls=
"editable"
tabindex=
"0"
id=
"editable_previous"
>
{#
<li
class=
"paginate_button previous"
aria-controls=
"editable"
tabindex=
"0"
id=
"editable_previous"
>
#}
<a
href=
"?page={{ contacts2.previous_page_number }}"
>
Previous
</a>
{#
<a
href=
"?page={{ contacts2.previous_page_number }}"
>
Previous
</a>
#}
</li>
{#
</li>
#}
{% else %
}
{# {% else %}#
}
<li
class=
"paginate_button previous disabled"
aria-controls=
"editable"
tabindex=
"0"
id=
"editable_previous"
>
{#
<li
class=
"paginate_button previous disabled"
aria-controls=
"editable"
tabindex=
"0"
id=
"editable_previous"
>
#}
<a
href=
"#"
>
Previous
</a>
{#
<a
href=
"#"
>
Previous
</a>
#}
</li>
{#
</li>
#}
{% endif %
}
{# {% endif %}#
}
{% for page in p2.page_range %
}
{# {% for page in page_range2 %}#
}
{% ifequal offset1 page %
}
{# {% ifequal current_page page %}#
}
<li
class=
"paginate_button active"
aria-controls=
"editable"
tabindex=
"0"
><a
href=
"?page={{ page }}"
title=
"第{{ page }}页"
>
{{ page }}
</a></li>
{#
<li
class=
"paginate_button active"
aria-controls=
"editable"
tabindex=
"0"
><a
href=
"?page={{ page }}"
title=
"第{{ page }}页"
>
{{ page }}
</a></li>
#}
{% else %
}
{# {% else %}#
}
<li
class=
"paginate_button"
aria-controls=
"editable"
tabindex=
"0"
><a
href=
"?page={{ page }}"
title=
"第{{ page }}页"
>
{{ page }}
</a></li>
{#
<li
class=
"paginate_button"
aria-controls=
"editable"
tabindex=
"0"
><a
href=
"?page={{ page }}"
title=
"第{{ page }}页"
>
{{ page }}
</a></li>
#}
{% endifequal %
}
{# {% endifequal %}#
}
{% endfor %
}
{# {% endfor %}#
}
{% if contacts2.has_next %
}
{# {% if contacts2.has_next %}#
}
<li
class=
"paginate_button next"
aria-controls=
"editable"
tabindex=
"0"
id=
"editable_next"
>
{#
<li
class=
"paginate_button next"
aria-controls=
"editable"
tabindex=
"0"
id=
"editable_next"
>
#}
<a
href=
"?page={{ contacts2.next_page_number }}"
>
Next
</a>
{#
<a
href=
"?page={{ contacts2.next_page_number }}"
>
Next
</a>
#}
</li>
{#
</li>
#}
{% else %
}
{# {% else %}#
}
<li
class=
"paginate_button next disabled"
aria-controls=
"editable"
tabindex=
"0"
id=
"editable_next"
>
{#
<li
class=
"paginate_button next disabled"
aria-controls=
"editable"
tabindex=
"0"
id=
"editable_next"
>
#}
<a
href=
"#"
>
Next
</a>
{#
<a
href=
"#"
>
Next
</a>
#}
</li>
{#
</li>
#}
{% endif %
}
{# {% endif %}#
}
</ul>
{#
</ul>
#}
</div>
{#
</div>
#}
</div>
{#
</div>
#}
</div>
{#
</div>
#}
</div>
</div>
</div>
</div>
...
...
templates/jperm/perm_user_detail.html
0 → 100644
View file @
9bab7bf1
{% 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=
"panel blank-panel"
>
<div
class=
"panel-heading"
>
<div
class=
"panel-options"
>
<ul
class=
"nav nav-tabs"
>
<li
id=
"tab1"
class=
"active"
><a
data-toggle=
"tab"
href=
"/perm_list/"
>
授权查看
</a></li>
<li
id=
"tab2"
class=
""
><a
data-toggle=
"tab"
href=
"/perm_user_detail/"
>
用户授权详情
</a></li>
<li
style=
"float: right"
>
<form
method=
"get"
action=
""
class=
"pull-right mail-search"
>
<div
class=
"input-group"
>
<input
type=
"text"
class=
"form-control input-sm"
id=
"search_input"
name=
"search"
placeholder=
"Search"
>
<div
class=
"input-group-btn"
>
<button
id=
'search_btn'
type=
"button"
class=
"btn btn-sm btn-primary"
>
Search
</button>
</div>
</div>
</form>
</li>
</ul>
</div>
</div>
<div
class=
"panel-body"
>
<div
class=
"tab-content"
>
<div
id=
"tab-1"
class=
"tab-pane active"
>
<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
id=
"perm_edit"
>
{% for perm in contacts.object_list %}
<tr
class=
"gradeX"
>
<td
class=
"text-center"
>
{{ perm.name }}
</td>
<td
class=
"text-center"
>
{% for user_group in perm.user_group.all %}
{{ user_group.name }}
{% endfor %}
</td>
<td
class=
"text-center"
>
{% for asset_group in perm.asset_group.all %}
{{ asset_group.name }}
{% endfor %}
</td>
<td
class=
"text-center"
>
{{ perm.comment }}
</td>
<td
class=
"text-center"
>
<a
title=
"[ {{ group.name }} 授权详情 ]"
href=
"../perm_detail/?id={{ perm.id }}"
class=
" btn btn-xs btn-primary"
>
详情
</a>
<a
href=
"../perm_edit/?id={{ perm.id }}"
class=
"btn btn-xs btn-info"
>
编辑
</a>
<a
href=
"../perm_del/?id={{ perm.id }}"
class=
"btn btn-xs btn-danger"
>
删除
</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 page_range %}
{% ifequal current_page 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
id=
"tab-2"
class=
"tab-pane"
>
{#
<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
id=
"perm_list"
>
#}
{# {% for user in contacts2.object_list %}#}
{#
<tr
class=
"gradeX"
>
#}
{#
<td
class=
"text-center"
>
{{ user.name }}
</td>
#}
{#
<td
class=
"text-center"
>
{{ user.id | get_role }}
</td>
#}
{#
<td
class=
"text-center"
>
{{ user.username | groups_str }}
</td>
#}
{#
<td
class=
"text-center"
>
{{ user.id | perm_asset_count }}
</td>
#}
{#
<td
class=
"text-center"
>
#}
{#
<a
title=
"[ {{ user.name }} ] 授权详情"
href=
"../perm_asset_detail/?id={{ user.id }}"
class=
"btn btn-xs btn-primary"
>
详情
</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 {{ contacts2.start_index }} to {{ contacts2.end_index }} of {{ p2.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 contacts2.has_previous %}#}
{#
<li
class=
"paginate_button previous"
aria-controls=
"editable"
tabindex=
"0"
id=
"editable_previous"
>
#}
{#
<a
href=
"?page={{ contacts2.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 page_range2 %}#}
{# {% ifequal current_page 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 contacts2.has_next %}#}
{#
<li
class=
"paginate_button next"
aria-controls=
"editable"
tabindex=
"0"
id=
"editable_next"
>
#}
{#
<a
href=
"?page={{ contacts2.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>
</div>
</div>
</div>
</div>
<script>
$
(
document
).
ready
(
function
(){
$
(
".iframe"
).
colorbox
({
iframe
:
true
,
width
:
"70%"
,
height
:
"70%"
});
});
$
(
document
).
ready
(
function
(){
$
(
'#search_btn'
).
click
(
function
(){
if
(
$
(
'#tab2'
).
attr
(
'class'
)
==
'active'
){
var
tab
=
'tab2'
}
else
{
var
tab
=
'tab1'
}
var
search
=
$
(
'#search_input'
).
val
()
$
.
post
(
'/jperm/perm_list_ajax/'
,
{
'tab'
:
tab
,
'search'
:
search
},
function
(
data
){
if
(
$
(
'#tab2'
).
attr
(
'class'
)
==
'active'
){
$
(
'#tab-2'
).
html
(
data
)
}
else
{
$
(
'#tab-1'
).
html
(
data
)
}
})
})
})
</script>
{% endblock %}
\ No newline at end of file
templates/juser/user_list.html
View file @
9bab7bf1
...
@@ -89,8 +89,8 @@
...
@@ -89,8 +89,8 @@
<a
href=
"#"
>
Previous
</a>
<a
href=
"#"
>
Previous
</a>
</li>
</li>
{% endif %}
{% endif %}
{% for page in p
.p
age_range %}
{% for page in page_range %}
{% ifequal
offset1
page %}
{% ifequal
current_page
page %}
<li
class=
"paginate_button active"
aria-controls=
"editable"
tabindex=
"0"
><a
href=
"?page={{ page }}"
title=
"第{{ page }}页"
>
{{ page }}
</a></li>
<li
class=
"paginate_button active"
aria-controls=
"editable"
tabindex=
"0"
><a
href=
"?page={{ page }}"
title=
"第{{ page }}页"
>
{{ page }}
</a></li>
{% else %}
{% else %}
<li
class=
"paginate_button"
aria-controls=
"editable"
tabindex=
"0"
><a
href=
"?page={{ page }}"
title=
"第{{ page }}页"
>
{{ page }}
</a></li>
<li
class=
"paginate_button"
aria-controls=
"editable"
tabindex=
"0"
><a
href=
"?page={{ page }}"
title=
"第{{ page }}页"
>
{{ page }}
</a></li>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment