def edit_page_view(request):
    uri = request.matchdict["title"]
    page = Page.get_page(uri)
    user = User.get_user_by_id(page.owner)

    errors = []
    title = page.title
    body = page.body
    if request.method == "POST":
        title = request.POST.get("title", "")
        body = request.POST.get("body", "")

        v = validate_page(title, body)
        title = v["title"]
        body = v["body"]
        errors += v["errors"]

        if not errors:
            page.title = title
            page.body = body
            page.uri = Page.websafe_uri(title)
            DBSession.add(page)
            url = request.route_url("page", title=page.uri)
            return HTTPFound(location=url)

    return {"title": title, "owner": user.login, "body": body, "errors": errors}
def create_page_view(request):
    owner = authenticated_userid(request)
    user = User.get_user(owner)

    errors = []
    body = title = ''
    if request.method == 'POST':
        title = request.POST.get('title', '')
        body = request.POST.get('body', '')

        v = validate_page(title, body)
        title = v['title']
        body = v['body']
        errors += v['errors']

        if not errors:
            page = Page(title=title, uri=Page.websafe_uri(title), owner=user.id, body=body)
            DBSession.add(page)
            url = request.route_url('page', title=page.uri)
            return HTTPFound(location=url)

    return {
        'title': title,
        'owner': owner,
        'body': body,
        'errors': errors,
    }
def create_group_view(request):
    errors = []
    name = ''
    member_list = list()
    users = User.get_users()
    
    if request.method == 'POST':
        name = request.POST.get('name', '')
        members_post = request.POST.getall('member')

        if not errors:
            group = Group(name=name)
            DBSession.add(group)
            for user in users:
                if user.login in members_post:
                    group.users.append(user)
            url = request.route_url('home')
            return HTTPFound(location=url)

    return {
        'name': name,
        'users': users,
        'member_list': member_list,
        'errors': errors,
    }
def main(argv=sys.argv):
    if len(argv) != 2:
        usage(argv)
    config_uri = argv[1]
    setup_logging(config_uri)
    settings = get_appsettings(config_uri)
    engine = engine_from_config(settings, 'sqlalchemy.')
    DBSession.configure(bind=engine)
    Base.metadata.create_all(engine)
def home_view(request):
    login = authenticated_userid(request)
    user = DBSession.query(User).filter(User.login == login).first()
    try:
        user_pages = DBSession.query(Page).filter(Page.owner == user.id).all()
    except:
        user_pages = None

    return {
        'user': user,
        'user_pages': user_pages,
        'request': request,
    }
def user_view(request):
    user = request.context
    pages = DBSession.query(Page).filter(Page.owner == user.id).all()

    return {
        'user': user,
        'pages': pages,
    }
def create_group_view(request):
    errors = []
    name = ""
    members_db = list()
    users = User.get_users()

    if request.method == "POST":
        name = request.POST.get("name", "")
        members_post = request.POST.getall("member")

        if not errors:
            group = Group(name=name)
            DBSession.add(group)
            for user in users:
                if user.login in members_post:
                    group.users.append(user)
            url = request.route_url("home")
            return HTTPFound(location=url)

    return {"name": name, "users": users, "members_db": members_db, "errors": errors}
def create_page_view(request):
    owner = authenticated_userid(request)
    user = User.get_user(owner)

    errors = []
    body = title = ""
    if request.method == "POST":
        title = request.POST.get("title", "")
        body = request.POST.get("body", "")

        v = validate_page(title, body)
        title = v["title"]
        body = v["body"]
        errors += v["errors"]

        if not errors:
            page = Page(title=title, uri=Page.websafe_uri(title), owner=user.id, body=body)
            DBSession.add(page)
            url = request.route_url("page", title=page.uri)
            return HTTPFound(location=url)

    return {"title": title, "owner": owner, "body": body, "errors": errors}
def create_user_view(request):
    errors = []
    login = password = ''
    if request.method == 'POST':
        login = request.POST.get('login', '')
        password = request.POST.get('password', '')

        v = validate_user(login, password)
        login = v['login']
        password = v['password']
        errors += v['errors']

        if not errors:
            user = User(login=login, password=password)
            DBSession.add(user)
            url = request.route_url('login')
            return HTTPFound(location=url)

    return {
        'login': login,
        'password': password,
        'errors': errors,
    }
Esempio n. 10
0
def login_view(request):
    next = request.params.get('next') or request.route_url('home')
    login = ''
    did_fail = False
    users = DBSession.query(User).all()
    if 'submit' in request.POST:
        login = request.POST.get('login', '')
        passwd = request.POST.get('passwd', '')

        user = User.get_user(login)
        if user and user.validate_password(passwd):
            headers = remember(request, login)
            return HTTPFound(location=next, headers=headers)
        did_fail = True

    return {
        'login': login,
        'next': next,
        'failed_attempt': did_fail,
        'users': users,
        'request': request
    }
Esempio n. 11
0
def pages_view(request):
    pages = DBSession.query(Page).all()
    return {"pages": pages}
def groups_view(request):
    groups = DBSession.query(Group).all()
    return {
        'groups': groups,
    }
def users_view(request):
    users = DBSession.query(User).all()
    return {
        'users': sorted([u.login for u in users])
    }
def groups_view(request):
    groups = DBSession.query(Group).all()
    return {"groups": groups}
def pages_view(request):
    pages = DBSession.query(Page).all()
    return {
        'pages': pages,
    }
    except Exception, e:
        log.debug('WARNING: {0}'.format(e))

    errors = []
    title = page.title
    body = page.body
    if request.method == 'POST':
        title = request.POST.get('title', '')
        body = request.POST.get('body', '')

        v = validate_page(title, body)
        title = v['title']
        body = v['body']
        errors += v['errors']

        if not errors:
            page.title = title
            page.body = body
            page.uri = Page.websafe_uri(title)
            DBSession.add(page)
            url = request.route_url('page', title=page.uri)
            return HTTPFound(location=url)

    return {
        'title': title,
        'owner': user.login,
        'body': body,
        'errors': errors,
    }