def do(self, action_context, view, impersonate_user, *args, **kwargs):
user = action_context.extra_context.get('user')
if user and not action_context.extra_context.get('invalid_jwt_version'):
if not user.project_permissions.filter(
key=settings.APP_PERMISSION_KEYS['impersonate']).exists():
logger.warning("User '{0}' doesn't have permission to impersonate user '{1}'".format(
user.id,
impersonate_user.id))
action_context.break_chain = True
# Add an error message
messages.add_message(
action_context.request,
messages.ERROR,
_("You don't have impersonation permission"))
return super().do(action_context, view, impersonate_user, *args, **kwargs)
评论列表
文章目录