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
386d6a1c
Commit
386d6a1c
authored
Mar 16, 2015
by
guanghongwei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
--no commit message
parent
a2ede31a
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
95 additions
and
3 deletions
+95
-3
api.py
jumpserver/api.py
+41
-1
urls.py
juser/urls.py
+1
-1
views.py
juser/views.py
+51
-1
group_edit.html
templates/juser/group_edit.html
+2
-0
No files found.
jumpserver/api.py
View file @
386d6a1c
...
@@ -192,7 +192,6 @@ def view_splitter(request, su=None, adm=None):
...
@@ -192,7 +192,6 @@ def view_splitter(request, su=None, adm=None):
raise
Http404
raise
Http404
def
user_perm_group_api
(
user
):
def
user_perm_group_api
(
user
):
if
user
:
if
user
:
perm_list
=
[]
perm_list
=
[]
...
@@ -233,3 +232,43 @@ def asset_perm_api(asset):
...
@@ -233,3 +232,43 @@ def asset_perm_api(asset):
for
user_group
in
user_group_list
:
for
user_group
in
user_group_list
:
user_permed_list
.
extend
(
user_group
.
user_set
.
all
())
user_permed_list
.
extend
(
user_group
.
user_set
.
all
())
return
user_permed_list
return
user_permed_list
def
validate
(
request
,
user_group
=
None
,
user
=
None
,
asset_group
=
None
,
asset
=
None
):
dept
=
get_session_user_dept
(
request
)[
1
]
if
user_group
:
dept_user_groups
=
dept
.
usergroup_set
.
all
()
user_groups
=
[]
for
user_group_id
in
user_group
:
user_groups
.
extend
(
UserGroup
.
objects
.
filter
(
id
=
user_group_id
))
if
not
set
(
user_groups
)
.
issubset
(
set
(
dept_user_groups
)):
return
False
if
user
:
dept_users
=
dept
.
user_set
.
all
()
users
=
[]
for
user_id
in
user
:
users
.
extend
(
User
.
objects
.
filter
(
id
=
user_id
))
if
not
set
(
users
)
.
issubset
(
set
(
dept_users
)):
return
False
if
asset_group
:
dept_asset_groups
=
dept
.
bisgroup_set
.
all
()
asset_groups
=
[]
for
asset_group_id
in
asset_group
:
asset_groups
.
extend
(
BisGroup
.
objects
.
filter
(
id
=
asset_group_id
))
if
not
set
(
asset_groups
)
.
issubset
(
set
(
dept_asset_groups
)):
return
False
if
asset
:
dept_assets
=
dept
.
asset_set
.
all
()
assets
=
[]
for
asset_id
in
asset
:
assets
.
extend
(
asset_id
)
if
not
set
(
assets
)
.
issubset
(
dept_assets
):
return
False
return
True
\ No newline at end of file
juser/urls.py
View file @
386d6a1c
...
@@ -18,7 +18,7 @@ urlpatterns = patterns('juser.views',
...
@@ -18,7 +18,7 @@ urlpatterns = patterns('juser.views',
(
r'^group_detail/$'
,
'group_detail'
),
(
r'^group_detail/$'
,
'group_detail'
),
(
r'^group_del/$'
,
'group_del'
),
(
r'^group_del/$'
,
'group_del'
),
(
r'^group_del_ajax/$'
,
'group_del_ajax'
),
(
r'^group_del_ajax/$'
,
'group_del_ajax'
),
(
r'^group_edit/$'
,
'group_edit'
),
(
r'^group_edit/$'
,
view_splitter
,
{
'su'
:
group_edit
,
'adm'
:
group_edit_adm
}
),
(
r'^user_add/$'
,
'user_add'
),
(
r'^user_add/$'
,
'user_add'
),
(
r'^user_list/$'
,
'user_list'
),
(
r'^user_list/$'
,
'user_list'
),
(
r'^user_detail/$'
,
'user_detail'
),
(
r'^user_detail/$'
,
'user_detail'
),
...
...
juser/views.py
View file @
386d6a1c
...
@@ -444,7 +444,7 @@ def group_update_member(group_id, users_id_list):
...
@@ -444,7 +444,7 @@ def group_update_member(group_id, users_id_list):
group
.
user_set
.
add
(
user
)
group
.
user_set
.
add
(
user
)
@require_
admin
@require_
super_user
def
group_edit
(
request
):
def
group_edit
(
request
):
error
=
''
error
=
''
msg
=
''
msg
=
''
...
@@ -492,6 +492,56 @@ def group_edit(request):
...
@@ -492,6 +492,56 @@ def group_edit(request):
return
HttpResponseRedirect
(
'/juser/group_list/'
)
return
HttpResponseRedirect
(
'/juser/group_list/'
)
@require_admin
def
group_edit_adm
(
request
):
error
=
''
msg
=
''
header_title
,
path1
,
path2
=
'修改小组信息'
,
'用户管理'
,
'编辑小组'
if
request
.
method
==
'GET'
:
group_id
=
request
.
GET
.
get
(
'id'
,
''
)
if
not
validate
(
request
,
user_group
=
[
group_id
]):
return
HttpResponseRedirect
(
'/juser/group_list/'
)
group
=
UserGroup
.
objects
.
filter
(
id
=
group_id
)
if
group
:
group
=
group
[
0
]
dept_all
=
DEPT
.
objects
.
all
()
users_all
=
User
.
objects
.
all
()
users_selected
=
group
.
user_set
.
all
()
users
=
[
user
for
user
in
users_all
if
user
not
in
users_selected
]
return
render_to_response
(
'juser/group_edit.html'
,
locals
(),
context_instance
=
RequestContext
(
request
))
else
:
group_id
=
request
.
POST
.
get
(
'group_id'
,
''
)
group_name
=
request
.
POST
.
get
(
'group_name'
,
''
)
dept_id
=
request
.
POST
.
get
(
'dept_id'
,
''
)
comment
=
request
.
POST
.
get
(
'comment'
,
''
)
users_selected
=
request
.
POST
.
getlist
(
'users_selected'
)
users
=
[]
try
:
if
''
in
[
group_id
,
group_name
]:
raise
AddError
(
'组名不能为空'
)
dept
=
DEPT
.
objects
.
filter
(
id
=
dept_id
)
if
dept
:
dept
=
dept
[
0
]
else
:
raise
AddError
(
'部门不存在'
)
for
user_id
in
users_selected
:
users
.
extend
(
User
.
objects
.
filter
(
id
=
user_id
))
user_group
=
UserGroup
.
objects
.
filter
(
id
=
group_id
)
if
user_group
:
user_group
.
update
(
name
=
group_name
,
comment
=
comment
,
dept
=
dept
)
user_group
=
user_group
[
0
]
user_group
.
user_set
.
clear
()
user_group
.
user_set
=
users
except
AddError
,
e
:
error
=
e
return
HttpResponseRedirect
(
'/juser/group_list/'
)
@require_admin
@require_admin
def
user_add
(
request
):
def
user_add
(
request
):
error
=
''
error
=
''
...
...
templates/juser/group_edit.html
View file @
386d6a1c
...
@@ -41,6 +41,7 @@
...
@@ -41,6 +41,7 @@
<input
id=
"group_name"
name=
"group_name"
placeholder=
"Group name"
type=
"text"
class=
"form-control"
value=
"{{ group.name }}"
>
<input
id=
"group_name"
name=
"group_name"
placeholder=
"Group name"
type=
"text"
class=
"form-control"
value=
"{{ group.name }}"
>
</div>
</div>
</div>
</div>
{% ifequal session_role_id 2 %}
<div
class=
"hr-line-dashed"
></div>
<div
class=
"hr-line-dashed"
></div>
<div
class=
"form-group"
>
<div
class=
"form-group"
>
<label
for=
"dept_id"
class=
"col-sm-2 control-label"
>
部门
<span
class=
"red-fonts"
>
*
</span></label>
<label
for=
"dept_id"
class=
"col-sm-2 control-label"
>
部门
<span
class=
"red-fonts"
>
*
</span></label>
...
@@ -56,6 +57,7 @@
...
@@ -56,6 +57,7 @@
</select>
</select>
</div>
</div>
</div>
</div>
{% endifequal %}
<div
class=
"hr-line-dashed"
></div>
<div
class=
"hr-line-dashed"
></div>
<div
class=
"form-group"
>
<div
class=
"form-group"
>
<label
for=
"users"
class=
"col-lg-2 control-label"
>
用户
</label>
<label
for=
"users"
class=
"col-lg-2 control-label"
>
用户
</label>
...
...
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