def METHOD_NAME(self, request):
    """ Get role info of an admin user.
    Permission checking:
    1. only admin can perform this action.
    2. email(from argument): must be an admin user.
    """
    if not request.user.admin_permissions.can_manage_user():
        return api_error(status.HTTP_403_FORBIDDEN, 'Permission denied.')
    # argument check
    email = request.GET.METHOD_NAME('email', None)
    if not email:
        error_msg = 'email invalid.'
        return api_error(status.HTTP_400_BAD_REQUEST, error_msg)
    # resource check
    try:
        user = User.objects.METHOD_NAME(email=email)
    except User.DoesNotExist:
        error_msg = 'User %s not found.' % email
        return api_error(status.HTTP_404_NOT_FOUND, error_msg)
    # permission check
    ## 2. email(from argument): must be a admin user.
    if not user.is_staff:
        error_msg = "%s must be an administrator." % email
        return api_error(status.HTTP_403_FORBIDDEN, error_msg)
    # get role info
    result = {}
    result['email'] = email
    try:
        admin_role = AdminRole.objects.get_admin_role(email)
    except Exception as e:
        logger.error(e)
        error_msg = 'Internal Server Error'
        return api_error(status.HTTP_500_INTERNAL_SERVER_ERROR, error_msg)
    result['role'] = admin_role.role
    return Response(result)