mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-09-03 08:25:04 +00:00
[Update] 用户授权相关API,如果需要切换到root org (#2803)
* [Update] 用户授权相关API,如果需要切换到root org * [Update] 优化小问题
This commit is contained in:
@@ -2,8 +2,10 @@
|
||||
#
|
||||
|
||||
|
||||
from orgs.utils import set_to_root_org
|
||||
|
||||
__all__ = [
|
||||
'AssetsFilterMixin', 'RemoteAppFilterMixin',
|
||||
'AssetsFilterMixin', 'RemoteAppFilterMixin', 'ChangeOrgIfNeedMixin',
|
||||
]
|
||||
|
||||
|
||||
@@ -100,3 +102,18 @@ 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)
|
||||
|
||||
|
Reference in New Issue
Block a user