Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
gjl2004yn
jumpserver
提交
50443de8
J
jumpserver
项目概览
gjl2004yn
/
jumpserver
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
J
jumpserver
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
50443de8
编写于
6月 20, 2019
作者:
B
BaiJiangJie
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[Bugfix] 修复普通用户被授权的RemoteApp列表加载为空的bug
上级
41a5a691
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
23 addition
and
12 deletion
+23
-12
apps/perms/api/user_group_permission.py
apps/perms/api/user_group_permission.py
+0
-7
apps/perms/api/user_permission.py
apps/perms/api/user_permission.py
+7
-4
apps/perms/mixins.py
apps/perms/mixins.py
+16
-1
未找到文件。
apps/perms/api/user_group_permission.py
浏览文件 @
50443de8
...
...
@@ -93,19 +93,12 @@ class UserGroupGrantedNodesWithAssetsAsTreeApi(ListAPIView):
show_assets
=
True
system_user_id
=
None
def
change_org_if_need
(
self
):
if
self
.
request
.
user
.
is_superuser
or
\
self
.
request
.
user
.
is_app
or
\
self
.
kwargs
.
get
(
'pk'
)
is
None
:
set_to_root_org
()
def
get
(
self
,
request
,
*
args
,
**
kwargs
):
self
.
show_assets
=
request
.
query_params
.
get
(
'show_assets'
,
'1'
)
==
'1'
self
.
system_user_id
=
request
.
query_params
.
get
(
'system_user'
)
return
super
().
get
(
request
,
*
args
,
**
kwargs
)
def
get_queryset
(
self
):
self
.
change_org_if_need
()
user_group_id
=
self
.
kwargs
.
get
(
'pk'
,
''
)
queryset
=
[]
group
=
get_object_or_404
(
UserGroup
,
id
=
user_group_id
)
...
...
apps/perms/api/user_permission.py
浏览文件 @
50443de8
...
...
@@ -25,7 +25,9 @@ from ..hands import (
NodeSerializer
,
RemoteAppSerializer
,
)
from
..
import
serializers
,
const
from
..mixins
import
AssetsFilterMixin
,
RemoteAppFilterMixin
from
..mixins
import
(
AssetsFilterMixin
,
RemoteAppFilterMixin
,
ChangeOrgIfNeedMixin
)
from
..models
import
Action
logger
=
get_logger
(
__name__
)
...
...
@@ -460,7 +462,7 @@ class GetUserAssetPermissionActionsApi(UserPermissionCacheMixin, APIView):
# RemoteApp permission
class
UserGrantedRemoteAppsApi
(
RemoteAppFilterMixin
,
ListAPIView
):
class
UserGrantedRemoteAppsApi
(
ChangeOrgIfNeedMixin
,
RemoteAppFilterMixin
,
ListAPIView
):
permission_classes
=
(
IsOrgAdminOrAppUser
,)
serializer_class
=
RemoteAppSerializer
pagination_class
=
LimitOffsetPagination
...
...
@@ -485,7 +487,7 @@ class UserGrantedRemoteAppsApi(RemoteAppFilterMixin, ListAPIView):
return
super
().
get_permissions
()
class
UserGrantedRemoteAppsAsTreeApi
(
ListAPIView
):
class
UserGrantedRemoteAppsAsTreeApi
(
ChangeOrgIfNeedMixin
,
ListAPIView
):
serializer_class
=
TreeNodeSerializer
permission_classes
=
(
IsOrgAdminOrAppUser
,)
...
...
@@ -517,10 +519,11 @@ class UserGrantedRemoteAppsAsTreeApi(ListAPIView):
return
super
().
get_permissions
()
class
ValidateUserRemoteAppPermissionApi
(
APIView
):
class
ValidateUserRemoteAppPermissionApi
(
ChangeOrgIfNeedMixin
,
APIView
):
permission_classes
=
(
IsOrgAdminOrAppUser
,)
def
get
(
self
,
request
,
*
args
,
**
kwargs
):
self
.
change_org_if_need
(
request
,
kwargs
)
user_id
=
request
.
query_params
.
get
(
'user_id'
,
''
)
remote_app_id
=
request
.
query_params
.
get
(
'remote_app_id'
,
''
)
user
=
get_object_or_404
(
User
,
id
=
user_id
)
...
...
apps/perms/mixins.py
浏览文件 @
50443de8
# ~*~ coding: utf-8 ~*~
#
from
orgs.utils
import
set_to_root_org
__all__
=
[
'AssetsFilterMixin'
,
'RemoteAppFilterMixin'
,
'AssetsFilterMixin'
,
'RemoteAppFilterMixin'
,
'ChangeOrgIfNeedMixin'
,
]
...
...
@@ -100,3 +101,17 @@ class RemoteAppFilterMixin(object):
queryset
,
key
=
lambda
x
:
getattr
(
x
,
order_by
),
reverse
=
reverse
)
return
queryset
class
ChangeOrgIfNeedMixin
(
object
):
@
staticmethod
def
change_org_if_need
(
request
,
kwargs
):
if
request
.
user
.
is_authenticated
and
request
.
user
.
is_superuser
\
or
request
.
user
.
is_app
\
or
kwargs
.
get
(
'pk'
)
is
None
:
set_to_root_org
()
def
get
(
self
,
request
,
*
args
,
**
kwargs
):
self
.
change_org_if_need
(
request
,
kwargs
)
return
super
().
get
(
request
,
*
args
,
**
kwargs
)
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录