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
fc007e96
Commit
fc007e96
authored
Mar 03, 2015
by
guanghongwei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ĺܶ
parent
ad2a4d2d
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
156 additions
and
40 deletions
+156
-40
AddUserAsset.py
docs/AddUserAsset.py
+23
-17
mytags.py
jumpserver/templatetags/mytags.py
+14
-5
urls.py
juser/urls.py
+2
-0
views.py
juser/views.py
+0
-0
dept_detail.html
templates/juser/dept_detail.html
+43
-0
dept_list.html
templates/juser/dept_list.html
+23
-6
group_detail.html
templates/juser/group_detail.html
+1
-1
group_list.html
templates/juser/group_list.html
+33
-3
user_list.html
templates/juser/user_list.html
+15
-6
nav_bar_header.html
templates/nav_bar_header.html
+2
-2
No files found.
docs/AddUserAsset.py
View file @
fc007e96
...
@@ -2,14 +2,17 @@
...
@@ -2,14 +2,17 @@
import
django
import
django
import
os
import
os
import
sys
import
sys
import
random
import
datetime
sys
.
path
.
append
(
'../'
)
sys
.
path
.
append
(
'../'
)
os
.
environ
[
'DJANGO_SETTINGS_MODULE'
]
=
'jumpserver.settings'
os
.
environ
[
'DJANGO_SETTINGS_MODULE'
]
=
'jumpserver.settings'
django
.
setup
()
django
.
setup
()
from
juser.views
import
db_add_user
,
md5_crypt
,
CRYPTOR
from
juser.views
import
db_add_user
,
md5_crypt
,
CRYPTOR
,
db_add_group
from
jasset.models
import
Asset
,
IDC
,
BisGroup
from
jasset.models
import
Asset
,
IDC
,
BisGroup
from
juser.models
import
UserGroup
from
juser.models
import
UserGroup
,
DEPT
from
jasset.views
import
jasset_group_add
from
jasset.views
import
jasset_group_add
from
jperm.models
import
CmdGroup
from
jperm.models
import
CmdGroup
...
@@ -29,15 +32,18 @@ def test_add_asset_group():
...
@@ -29,15 +32,18 @@ def test_add_asset_group():
print
'Add:
%
s'
%
name
print
'Add:
%
s'
%
name
def
test_add_
user_group
():
def
test_add_
dept
():
for
i
in
range
(
1
,
2
0
):
for
i
in
range
(
1
,
10
0
):
name
=
'D
epartGroup
'
+
str
(
i
)
name
=
'D
EPT
'
+
str
(
i
)
UserGroup
.
objects
.
create
(
name
=
name
,
type
=
'M'
,
comment
=
name
)
print
"Add:
%
s"
%
name
print
'Add:
%
s'
%
name
DEPT
.
objects
.
create
(
name
=
name
,
comment
=
name
)
for
i
in
range
(
1
,
20
):
def
test_add_group
():
dept_all
=
DEPT
.
objects
.
all
()
for
i
in
range
(
1
,
100
):
name
=
'UserGroup'
+
str
(
i
)
name
=
'UserGroup'
+
str
(
i
)
UserGroup
.
objects
.
create
(
name
=
name
,
type
=
'A'
,
comment
=
name
)
UserGroup
.
objects
.
create
(
name
=
name
,
dept
=
random
.
choice
(
dept_all
)
,
comment
=
name
)
print
'Add:
%
s'
%
name
print
'Add:
%
s'
%
name
...
@@ -52,15 +58,18 @@ def test_add_cmd_group():
...
@@ -52,15 +58,18 @@ def test_add_cmd_group():
def
test_add_user
():
def
test_add_user
():
for
i
in
range
(
1
,
500
):
for
i
in
range
(
1
,
500
):
username
=
"test"
+
str
(
i
)
username
=
"test"
+
str
(
i
)
dept_all
=
DEPT
.
objects
.
all
()
group_all
=
UserGroup
.
objects
.
all
()
group_all_id
=
[
group
.
id
for
group
in
group_all
]
db_add_user
(
username
=
username
,
db_add_user
(
username
=
username
,
password
=
md5_crypt
(
username
),
password
=
md5_crypt
(
username
),
dept
=
random
.
choice
(
dept_all
),
name
=
username
,
email
=
'
%
s@jumpserver.org'
%
username
,
name
=
username
,
email
=
'
%
s@jumpserver.org'
%
username
,
groups
=
[
1
,
3
],
role
=
'CU'
,
groups
=
[
random
.
choice
(
group_all_id
)
for
i
in
range
(
1
,
4
)],
role
=
'CU'
,
ssh_pwd
=
CRYPTOR
.
encrypt
(
username
),
ssh_key_pwd
=
CRYPTOR
.
encrypt
(
username
),
ssh_key_pwd
=
CRYPTOR
.
encrypt
(
username
),
ldap_pwd
=
CRYPTOR
.
encrypt
(
username
),
ldap_pwd
=
CRYPTOR
.
encrypt
(
username
),
is_active
=
True
,
is_active
=
True
,
date_joined
=
0
)
date_joined
=
datetime
.
datetime
.
now
()
)
print
"Add:
%
s"
%
username
print
"Add:
%
s"
%
username
...
@@ -73,11 +82,8 @@ def test_add_asset():
...
@@ -73,11 +82,8 @@ def test_add_asset():
if
__name__
==
'__main__'
:
if
__name__
==
'__main__'
:
test_add_idc
()
#test_add_dept()
test_add_asset_group
()
#test_add_group()
test_add_user_group
()
test_add_cmd_group
()
test_add_asset
()
test_add_user
()
test_add_user
()
...
...
jumpserver/templatetags/mytags.py
View file @
fc007e96
...
@@ -4,7 +4,7 @@ import re
...
@@ -4,7 +4,7 @@ import re
import
time
import
time
from
django
import
template
from
django
import
template
from
juser.models
import
User
,
UserGroup
from
juser.models
import
User
,
UserGroup
,
DEPT
from
jasset.models
import
BisGroup
from
jasset.models
import
BisGroup
from
jumpserver.views
import
perm_user_asset
from
jumpserver.views
import
perm_user_asset
...
@@ -26,16 +26,16 @@ def int2str(value):
...
@@ -26,16 +26,16 @@ def int2str(value):
@register.filter
(
name
=
'get_role'
)
@register.filter
(
name
=
'get_role'
)
def
get_role
(
user_id
):
def
get_role
(
user_id
):
user_role
=
{
'SU'
:
u'超级管理员'
,
'
GA'
:
u'组
管理员'
,
'CU'
:
u'普通用户'
}
user_role
=
{
'SU'
:
u'超级管理员'
,
'
DA'
:
u'部门
管理员'
,
'CU'
:
u'普通用户'
}
user
=
User
.
objects
.
get
(
id
=
user_id
)
user
=
User
.
objects
.
get
(
id
=
user_id
)
return
user_role
.
get
(
str
(
user
.
role
))
return
user_role
.
get
(
str
(
user
.
role
))
@register.filter
(
name
=
'groups_str'
)
@register.filter
(
name
=
'groups_str'
)
def
groups_str
(
user
name
):
def
groups_str
(
user
_id
):
groups
=
[]
groups
=
[]
user
=
User
.
objects
.
get
(
username
=
username
)
user
=
User
.
objects
.
get
(
id
=
user_id
)
for
group
in
user
.
user_group
.
filter
(
type
=
'A'
):
for
group
in
user
.
group
.
all
(
):
groups
.
append
(
group
.
name
)
groups
.
append
(
group
.
name
)
if
len
(
groups
)
<
4
:
if
len
(
groups
)
<
4
:
return
' '
.
join
(
groups
)
return
' '
.
join
(
groups
)
...
@@ -71,6 +71,15 @@ def member_count(group_id):
...
@@ -71,6 +71,15 @@ def member_count(group_id):
group
=
UserGroup
.
objects
.
get
(
id
=
group_id
)
group
=
UserGroup
.
objects
.
get
(
id
=
group_id
)
return
group
.
user_set
.
count
()
return
group
.
user_set
.
count
()
@register.filter
(
name
=
'dept_member'
)
def
dept_member
(
dept_id
):
dept
=
DEPT
.
objects
.
filter
(
id
=
dept_id
)
if
dept
:
dept
=
dept
[
0
]
return
dept
.
user_set
.
count
()
else
:
return
0
@register.filter
(
name
=
'perm_count'
)
@register.filter
(
name
=
'perm_count'
)
def
perm_count
(
group_id
):
def
perm_count
(
group_id
):
...
...
juser/urls.py
View file @
fc007e96
...
@@ -13,6 +13,8 @@ urlpatterns = patterns('juser.views',
...
@@ -13,6 +13,8 @@ urlpatterns = patterns('juser.views',
(
r'^group_list/$'
,
'group_list'
),
(
r'^group_list/$'
,
'group_list'
),
(
r'^dept_list/$'
,
'dept_list'
),
(
r'^dept_list/$'
,
'dept_list'
),
(
r'^dept_add/$'
,
'dept_add'
),
(
r'^dept_add/$'
,
'dept_add'
),
(
r'^dept_del/$'
,
'dept_del'
),
(
r'^dept_detail/$'
,
'dept_detail'
),
(
r'^user_detail/$'
,
'user_detail'
),
(
r'^user_detail/$'
,
'user_detail'
),
(
r'^user_del/$'
,
'user_del'
),
(
r'^user_del/$'
,
'user_del'
),
(
r'^user_edit/$'
,
'user_edit'
),
(
r'^user_edit/$'
,
'user_edit'
),
...
...
juser/views.py
View file @
fc007e96
This diff is collapsed.
Click to expand it.
templates/juser/dept_detail.html
0 → 100644
View file @
fc007e96
{% load mytags %}
<html>
<head>
{% include 'link_css.html' %}
<style
type=
"text/css"
>
body
{
background
:
#FFFFFF
;
}
</style>
</head>
<body>
<div
class=
"row"
>
<div
class=
"contact-box"
>
<h2
class=
"text-center"
><b>
{{ dept.name }}
</b>
部门成员
</h2>
<div
class=
"ibox-content"
>
<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>
</tr>
</thead>
<tbody>
{% for user in users %}
<tr
class=
"gradeX"
>
<td
class=
"text-center"
>
{{ user.username }}
</td>
<td
class=
"text-center"
>
{{ user.name }}
</td>
<td
class=
"text-center"
>
{{ user.id|get_role }}
</td>
</tr>
{% endfor %}
</tbody>
</tbody>
</table>
</div>
</div>
</body>
</html>
\ No newline at end of file
templates/juser/dept_list.html
View file @
fc007e96
...
@@ -31,11 +31,25 @@
...
@@ -31,11 +31,25 @@
<div
class=
"ibox-content"
>
<div
class=
"ibox-content"
>
<div
class=
""
>
<div
class=
""
>
<a
target=
"_blank"
href=
"/juser/dept_add/"
class=
"btn btn-sm btn-primary "
>
添加
</a>
<a
target=
"_blank"
href=
"/juser/dept_add/"
class=
"btn btn-sm btn-primary "
>
添加
</a>
<a
target=
"_blank"
href=
"/juser/group_add/"
class=
"btn btn-sm btn-danger "
>
删除所选
</a>
<form
id=
"search_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=
"submit"
class=
"btn btn-sm btn-primary"
>
Search
</button>
</div>
</div>
</form>
</div>
</div>
<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"
>
<input
type=
"checkbox"
id=
"select_all"
onclick=
"selectAll()"
name=
"select_all"
>
</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>
...
@@ -45,13 +59,16 @@
...
@@ -45,13 +59,16 @@
<tbody>
<tbody>
{% for dept in contacts.object_list %}
{% for dept in contacts.object_list %}
<tr
class=
"gradeX"
>
<tr
class=
"gradeX"
>
<td
class=
"text-center"
>
<input
type=
"checkbox"
name=
"selected"
value=
"{{ dept.id }}"
>
</td>
<td
class=
"text-center"
>
{{ dept.name }}
</td>
<td
class=
"text-center"
>
{{ dept.name }}
</td>
<td
class=
"text-center"
>
{{ dept.
name
}}
</td>
<td
class=
"text-center"
>
{{ dept.
id | dept_member
}}
</td>
<td
class=
"text-center"
>
{{ dept.comment }}
</td>
<td
class=
"text-center"
>
{{ dept.comment }}
</td>
<td
class=
"text-center"
>
<td
class=
"text-center"
>
<a
title=
"[ {{ dept.name }} ] 成员信息"
href=
"../dept_detail/?id={{
group
.id }}"
class=
"iframe btn btn-xs btn-primary"
>
成员
</a>
<a
title=
"[ {{ dept.name }} ] 成员信息"
href=
"../dept_detail/?id={{
dept
.id }}"
class=
"iframe btn btn-xs btn-primary"
>
成员
</a>
<a
href=
"../dept_edit/?id={{
group
.id }}"
class=
"btn btn-xs btn-info"
>
编辑
</a>
<a
href=
"../dept_edit/?id={{
dept
.id }}"
class=
"btn btn-xs btn-info"
>
编辑
</a>
<a
href=
"../dept_del/?id={{
group
.id }}"
class=
"btn btn-xs btn-danger"
>
删除
</a>
<a
href=
"../dept_del/?id={{
dept
.id }}"
class=
"btn btn-xs btn-danger"
>
删除
</a>
</td>
</td>
</tr>
</tr>
{% endfor %}
{% endfor %}
...
@@ -75,8 +92,8 @@
...
@@ -75,8 +92,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>
...
...
templates/juser/group_detail.html
View file @
fc007e96
...
@@ -14,7 +14,7 @@
...
@@ -14,7 +14,7 @@
<body>
<body>
<div
class=
"row"
>
<div
class=
"row"
>
<div
class=
"contact-box"
>
<div
class=
"contact-box"
>
<h2
class=
"text-center"
>
{{ group.name }} 属组详情
</h2>
<h2
class=
"text-center"
>
<b>
{{ group.name }}
</b>
组中成员
</h2>
<div
class=
"ibox-content"
>
<div
class=
"ibox-content"
>
<table
class=
"table table-striped table-bordered table-hover "
id=
"editable"
>
<table
class=
"table table-striped table-bordered table-hover "
id=
"editable"
>
...
...
templates/juser/group_list.html
View file @
fc007e96
...
@@ -31,11 +31,26 @@
...
@@ -31,11 +31,26 @@
<div
class=
"ibox-content"
>
<div
class=
"ibox-content"
>
<div
class=
""
>
<div
class=
""
>
<a
target=
"_blank"
href=
"/juser/group_add/"
class=
"btn btn-sm btn-primary "
>
添加
</a>
<a
target=
"_blank"
href=
"/juser/group_add/"
class=
"btn btn-sm btn-primary "
>
添加
</a>
<a
target=
"_blank"
href=
"/juser/group_add/"
class=
"btn btn-sm btn-danger "
>
删除所选
</a>
<form
id=
"search_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=
"submit"
class=
"btn btn-sm btn-primary"
>
Search
</button>
</div>
</div>
</form>
</div>
</div>
<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"
>
<input
type=
"checkbox"
id=
"select_all"
onclick=
"selectAll()"
name=
"select_all"
>
</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>
...
@@ -46,9 +61,12 @@
...
@@ -46,9 +61,12 @@
<tbody>
<tbody>
{% for group in contacts.object_list %}
{% for group in contacts.object_list %}
<tr
class=
"gradeX"
>
<tr
class=
"gradeX"
>
<td
class=
"text-center"
>
<input
type=
"checkbox"
name=
"selected"
value=
"{{ group.id }}"
>
</td>
<td
class=
"text-center"
>
{{ group.name }}
</td>
<td
class=
"text-center"
>
{{ group.name }}
</td>
<td
class=
"text-center"
>
{{ group.dept.name }}
</td>
<td
class=
"text-center"
>
{{ group.dept.name }}
</td>
<td
class=
"text-center"
>
{{ group.
name
}}
</td>
<td
class=
"text-center"
>
{{ group.
id | member_count
}}
</td>
<td
class=
"text-center"
>
{{ group.comment }}
</td>
<td
class=
"text-center"
>
{{ group.comment }}
</td>
<td
class=
"text-center"
>
<td
class=
"text-center"
>
<a
title=
"[ {{ group.name }} ] 成员信息"
href=
"../group_detail/?id={{ group.id }}"
class=
"iframe btn btn-xs btn-primary"
>
成员
</a>
<a
title=
"[ {{ group.name }} ] 成员信息"
href=
"../group_detail/?id={{ group.id }}"
class=
"iframe btn btn-xs btn-primary"
>
成员
</a>
...
@@ -77,8 +95,8 @@
...
@@ -77,8 +95,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>
...
@@ -107,6 +125,17 @@
...
@@ -107,6 +125,17 @@
$
(
document
).
ready
(
function
(){
$
(
document
).
ready
(
function
(){
$
(
".iframe"
).
colorbox
({
iframe
:
true
,
width
:
"70%"
,
height
:
"70%"
});
$
(
".iframe"
).
colorbox
({
iframe
:
true
,
width
:
"70%"
,
height
:
"70%"
});
});
});
{
#
function
user_group_search
(){
#
}
{
#
$
.
ajax
({
#
}
{
#
type
:
"GET"
,
#
}
{
#
url
:
"/juser/group_search/"
,
#
}
{
#
data
:
$
(
"#search_form"
).
serialize
(),
#
}
{
#
success
:
function
(
data
)
{
#
}
{
#
$
(
"#contents_form"
).
html
(
data
);
#
}
{
#
}
#
}
{
#
});
#
}
{
#
}
#
}
</script>
</script>
{% endblock %}
{% endblock %}
\ No newline at end of file
templates/juser/user_list.html
View file @
fc007e96
...
@@ -31,6 +31,17 @@
...
@@ -31,6 +31,17 @@
<div
class=
"ibox-content"
>
<div
class=
"ibox-content"
>
<div
class=
""
>
<div
class=
""
>
<a
target=
"_blank"
href=
"/juser/user_add/"
class=
"btn btn-sm btn-primary "
>
添加
</a>
<a
target=
"_blank"
href=
"/juser/user_add/"
class=
"btn btn-sm btn-primary "
>
添加
</a>
<a
target=
"_blank"
href=
"/juser/group_add/"
class=
"btn btn-sm btn-danger "
>
删除所选
</a>
<form
id=
"search_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=
"submit"
class=
"btn btn-sm btn-primary"
>
Search
</button>
</div>
</div>
</form>
</div>
</div>
<table
class=
"table table-striped table-bordered table-hover "
id=
"editable"
>
<table
class=
"table table-striped table-bordered table-hover "
id=
"editable"
>
...
@@ -39,11 +50,10 @@
...
@@ -39,11 +50,10 @@
<th
class=
"text-center"
>
<th
class=
"text-center"
>
<input
type=
"checkbox"
id=
"select_all"
onclick=
"selectAll()"
name=
"select_all"
>
<input
type=
"checkbox"
id=
"select_all"
onclick=
"selectAll()"
name=
"select_all"
>
</th>
</th>
<th
class=
"text-center"
>
ID
</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>
<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>
...
@@ -55,12 +65,11 @@
...
@@ -55,12 +65,11 @@
<td
class=
"text-center"
>
<td
class=
"text-center"
>
<input
type=
"checkbox"
name=
"selected"
value=
"{{ user.id }}"
>
<input
type=
"checkbox"
name=
"selected"
value=
"{{ user.id }}"
>
</td>
</td>
<td
class=
"text-center"
>
{{ user.id }}
</td>
<td
class=
"text-center"
>
{{ user.username }}
</td>
<td
class=
"text-center"
>
{{ user.username }}
</td>
<td
class=
"text-center"
>
{{ user.name }}
</td>
<td
class=
"text-center"
>
{{ user.name }}
</td>
<td
class=
"text-center"
>
{{ user.
username|group_manage_str
}}
</td>
<td
class=
"text-center"
>
{{ user.
dept.name
}}
</td>
<td
class=
"text-center"
>
{{ user.
username|groups_str }}
</td>
<td
class=
"text-center"
>
{{ user.
id | groups_str }}
</td>
<td
class=
"text-center"
>
{{ user.id|
get_role }}
</td>
<td
class=
"text-center"
>
{{ user.id |
get_role }}
</td>
<td
class=
"text-center"
>
{{ user.is_active|bool2str }}
</td>
<td
class=
"text-center"
>
{{ user.is_active|bool2str }}
</td>
<td
class=
"text-center"
>
<td
class=
"text-center"
>
<a
title=
"[ {{ user.name }} ] 详情"
href=
"../user_detail/?id={{ user.id }}"
class=
"iframe btn btn-xs btn-primary"
>
详情
</a>
<a
title=
"[ {{ user.name }} ] 详情"
href=
"../user_detail/?id={{ user.id }}"
class=
"iframe btn btn-xs btn-primary"
>
详情
</a>
...
...
templates/nav_bar_header.html
View file @
fc007e96
<nav
class=
"navbar navbar-static-top"
role=
"navigation"
style=
"margin-bottom: 0"
>
<nav
class=
"navbar navbar-static-top"
role=
"navigation"
style=
"margin-bottom: 0"
>
<div
class=
"navbar-header"
>
<div
class=
"navbar-header"
>
<a
class=
"navbar-minimalize minimalize-styl-2 btn btn-primary "
href=
"#"
><i
class=
"fa fa-bars"
></i>
</a>
<a
class=
"navbar-minimalize minimalize-styl-2 btn btn-primary "
href=
"#"
><i
class=
"fa fa-bars"
></i>
</a>
<form
role=
"search"
class=
"navbar-form-custom"
method=
"
post"
action=
"search_results.html
"
>
<form
role=
"search"
class=
"navbar-form-custom"
method=
"
get"
action=
"
"
>
<div
class=
"form-group"
>
<div
class=
"form-group"
>
<input
type=
"text"
placeholder=
"输入搜索..."
class=
"form-control"
name=
"
top-
search"
id=
"top-search"
>
<input
type=
"text"
placeholder=
"输入搜索..."
class=
"form-control"
name=
"search"
id=
"top-search"
>
</div>
</div>
</form>
</form>
</div>
</div>
...
...
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