Example #1
0
def view_cp(request):

    page_title = 'Control Panel'
    user = get_user(request)

    return {
        'layout': site_layout(),
        'page_title': page_title,
        'user': user,
    }
Example #2
0
def view_test(request):

    page_title = 'Test'
    user = get_user(request)

    return {
        'layout': site_layout(),
        'page_title': page_title,
        'user': user,
    }
Example #3
0
def view_help(request):

    page_title = 'Help'
    user = get_user(request)

    return {
        'layout': site_layout(),
        'page_title': page_title,
        'user': user,
        'host_url': request.host_url,
    }
Example #4
0
def error(exc, request):

    request.response.status_int = 500
    page_title = 'Internal Server Error'
    user = get_user(request)

    return {
        'layout': site_layout(),
        'page_title': page_title,
        'user': user,
        'error': exc.message
    }
Example #5
0
                            UserGroupAssignment.user_id == this_user.user_id)
                        check = DBSession.query(q.exists()).scalar()
                        if check:
                            log.info("Removing local user %s from group %s" %
                                     (this_user.user_name, g.group_name))
                            assignment = DBSession.query(
                                UserGroupAssignment).filter(
                                    UserGroupAssignment.group_id == g.group_id,
                                    UserGroupAssignment.user_id ==
                                    this_user.user_id).one()
                            DBSession.delete(assignment)
                            DBSession.flush()

                return_url = '/cp/user'
                return HTTPFound(return_url)

    return {
        'layout': site_layout(),
        'page_title': page_title,
        'user': user,
        'this_user': this_user,
        'this_groups': this_groups,
        'user_id': user_id,
        'users': users,
        'groups': groups,
        'subtitle': subtitle,
        'mode': mode,
        'commit': commit,
        'error_msg': error_msg,
    }
Example #6
0
def login(request):
    page_title = 'Login'

    user = get_user(request)

    if request.referer:
        referer_host = request.referer.split('/')[2]
    else:
        referer_host = None

    if request.referer and referer_host == request.host and request.referer.split(
            '/')[3][:6] != 'logout':
        return_url = request.referer
    elif request.path != '/login':
        return_url = request.url
    else:
        return_url = '/applications'

    login = ''
    password = ''
    error = ''

    if 'form.submitted' in request.POST:
        login = request.POST['login']
        password = request.POST['password']

        # AD/LDAP
        if request.registry.settings['tcw.auth_mode'] == 'ldap':
            connector = get_ldap_connector(request)
            data = connector.authenticate(login, password)
        # LOCAL
        else:
            data = local_authenticate(login, password)

        if data is not None:
            dn = data[0]
            encrypted = signed_serialize(
                login, request.registry.settings['tcw.cookie_token'])
            headers = remember(request, dn)
            headers.append(
                ('Set-Cookie',
                 'un=' + str(encrypted) + '; Max-Age=604800; Path=/'))

            return HTTPFound(request.POST['return_url'], headers=headers)
        else:
            error = 'Invalid credentials'

    if request.authenticated_userid:

        if request.path == '/login':
            error = 'You are already logged in'
            page_title = 'Already Logged In'
        else:
            error = 'You do not have permission to access this page'
            page_title = 'Access Denied'

    return {
        'layout': site_layout(),
        'page_title': page_title,
        'user': user,
        'return_url': return_url,
        'login': login,
        'password': password,
        'error': error,
    }