mirror of https://github.com/jumpserver/jumpserver
feat: 添加su-from-accountsAPI
parent
b6afe77bc0
commit
71e76e5075
|
@ -27,8 +27,16 @@ class AccountViewSet(OrgBulkModelViewSet):
|
||||||
rbac_perms = {
|
rbac_perms = {
|
||||||
'verify': 'assets.test_account',
|
'verify': 'assets.test_account',
|
||||||
'partial_update': 'assets.change_accountsecret',
|
'partial_update': 'assets.change_accountsecret',
|
||||||
|
'su_from_accounts': 'assets.view_account',
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@action(methods=['get'], detail=True, url_path='su-from-accounts')
|
||||||
|
def su_from_accounts(self, request, *args, **kwargs):
|
||||||
|
account = super().get_object()
|
||||||
|
accounts = account.get_su_from_accounts()
|
||||||
|
serializer = serializers.AccountSerializer(accounts, many=True)
|
||||||
|
return Response(data=serializer.data)
|
||||||
|
|
||||||
@action(methods=['post'], detail=True, url_path='verify')
|
@action(methods=['post'], detail=True, url_path='verify')
|
||||||
def verify_account(self, request, *args, **kwargs):
|
def verify_account(self, request, *args, **kwargs):
|
||||||
account = super().get_object()
|
account = super().get_object()
|
||||||
|
|
|
@ -87,6 +87,9 @@ class Account(AbsConnectivity, BaseAccount):
|
||||||
""" @USER 动态用户的账号(self) """
|
""" @USER 动态用户的账号(self) """
|
||||||
return cls(name=cls.AliasAccount.USER.label, username=cls.AliasAccount.USER.value)
|
return cls(name=cls.AliasAccount.USER.label, username=cls.AliasAccount.USER.value)
|
||||||
|
|
||||||
|
def get_su_from_accounts(self):
|
||||||
|
return self.asset.accounts.exclude(id=self.id)
|
||||||
|
|
||||||
|
|
||||||
class AccountTemplate(BaseAccount):
|
class AccountTemplate(BaseAccount):
|
||||||
class Meta:
|
class Meta:
|
||||||
|
|
Loading…
Reference in New Issue