mirror of https://github.com/jumpserver/jumpserver
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
23 lines
548 B
23 lines
548 B
# ~*~ coding: utf-8 ~*~
|
|
#
|
|
|
|
from orgs.utils import set_to_root_org
|
|
|
|
__all__ = [
|
|
'ChangeOrgIfNeedMixin',
|
|
]
|
|
|
|
|
|
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)
|