Пример #1
0
def impersonate(username):
    """Impersonate a user"""
    zoom.authorize()
    user = zoom.get_site().users.locate(username)
    if user:
        session = zoom.system.request.session
        session.impersonated_user = username
        zoom.audit('start impersonating', zoom.system.request.user.username, username)
Пример #2
0
def authenticate(request):
    """API Authentication"""
    logger.debug('api called')

    data = request.data
    username = data.get('username')
    password = data.get('password')

    if username and password:
        site = zoom.get_site()
        user = site.users.first(username=username, status='A')
        if user:
            if user.login(request, password):
                logger.info('%s successfully athenticated to API', username)
                return dict(status='200 OK')
        logger.debug('failed login attempt for %s', username)
    elif username:
        logger.debug('password missing')
    else:
        logger.debug('username missing')

    return zoom.response.JSONResponse(dict(status='401 Unauthorized'),
                                      status='401 Unauthorized')
Пример #3
0
def get_user(key=None):
    """Return the currrent user or a specified user"""
    if key is None:
        return zoom.system.request.user
    users = zoom.get_site().users
    return users.get(key) or users.locate(key)
Пример #4
0
 def deactivate(self, key):
     user = zoom.get_site().users.locate(key)
     if user:
         user.deactivate()
     return home('users/' + key)
Пример #5
0
def format_as_html(text, logo_url):
    site = zoom.get_site()
    template = get_template('email_template', theme=site.theme)
    return template.format(logo_url=logo_url, message=text)