Пример #1
0
def page(name):
    name = page_aliases.get(name, name)

    # check that name is available and not protected
    if name not in iter_pages():
        return redirect_for('pages.index')

    return render_template('pages/{}.html'.format(name), **page_contexts.get(name, lambda: {})())
Пример #2
0
def page(name):
    name = page_aliases.get(name, name)

    # check that name is available and not protected
    if name not in iter_pages():
        return redirect_for('pages.index')

    return render_template('pages/{}.html'.format(name),
                           **page_contexts.get(name, lambda: {})())
Пример #3
0
def delete(id):
    item = Transcript.query.get_or_404(id)
    form = Form()

    if form.validate_on_submit():
        db.session.delete(item)
        db.session.commit()
        return redirect_for('transcript.index')

    return render_template('transcript/delete.html', item=item, form=form)
Пример #4
0
def delete(id):
    item = Transcript.query.get_or_404(id)
    form = FlaskForm()

    if form.validate_on_submit():
        db.session.delete(item)
        db.session.commit()
        return redirect_for('transcript.index')

    return render_template('transcript/delete.html', item=item, form=form)
Пример #5
0
def move(id, down=False):
    item = Salad.query.get_or_404(id)

    if down:
        item.move_down()
    else:
        item.move_up()

    db.session.commit()

    return redirect_for('salad.index')
Пример #6
0
def groups_detail(name):
    group = Group.query.options(db.joinedload(Group.users)).filter(Group.name == name).first_or_404()
    form = UserListForm()

    if form.validate_on_submit():
        group.users.update(form.users)
        db.session.commit()

        return redirect_for('admin.groups_detail', name=name)

    return {'group': group, 'form': form}
Пример #7
0
def delete(id):
    item = Salad.query.get_or_404(id)
    form = FlaskForm()

    if form.validate_on_submit():
        item.delete()
        db.session.commit()

        return redirect_for('salad.index')

    return render_template('salad/delete.html', item=item, form=form)
Пример #8
0
def move(id, down=False):
    item = Salad.query.get_or_404(id)

    if down:
        item.move_down()
    else:
        item.move_up()

    db.session.commit()

    return redirect_for('salad.index')
Пример #9
0
def delete(id):
    page = WikiPage.query.get_or_404(id)
    form = Form()

    if form.validate_on_submit():
        db.session.delete(page)
        db.session.commit()

        return redirect_for('wiki.index')

    return {'page': page, 'form': form}
Пример #10
0
def delete(id):
    item = Salad.query.get_or_404(id)
    form = Form()

    if form.validate_on_submit():
        item.delete()
        db.session.commit()

        return redirect_for('salad.index')

    return {'item': item, 'form': form}
Пример #11
0
def delete(id):
    item = CanonItem.query.get_or_404(id)
    form = Form()

    if form.validate_on_submit():
        db.session.delete(item)
        db.session.commit()

        return redirect_for('canon.index')

    return {'item': item, 'form': form}
Пример #12
0
def delete(id):
    item = Salad.query.get_or_404(id)
    form = Form()

    if form.validate_on_submit():
        item.delete()
        db.session.commit()

        return redirect_for('salad.index')

    return render_template('salad/delete.html', item=item, form=form)
Пример #13
0
def delete(id):
    item = CanonItem.query.get_or_404(id)
    form = FlaskForm()

    if form.validate_on_submit():
        db.session.delete(item)
        db.session.commit()

        return redirect_for('canon.index')

    return render_template('canon/delete.html', item=item, form=form)
Пример #14
0
def delete(title):
    page = WikiPage.query.filter(WikiPage.title == title).first_or_404()
    form = Form()

    if form.validate_on_submit():
        db.session.delete(page)
        db.session.commit()

        return redirect_for('wiki.index')

    return render_template('wiki/delete.html', page=page, form=form)
Пример #15
0
def delete(id):
    item = CanonItem.query.get_or_404(id)
    form = Form()

    if form.validate_on_submit():
        db.session.delete(item)
        db.session.commit()

        return redirect_for('canon.index')

    return render_template('canon/delete.html', item=item, form=form)
Пример #16
0
def delete(title):
    page = WikiPage.query.filter(WikiPage.title == title).first_or_404()
    form = Form()

    if form.validate_on_submit():
        db.session.delete(page)
        db.session.commit()

        return redirect_for('wiki.index')

    return render_template('wiki/delete.html', page=page, form=form)
Пример #17
0
def groups_detail(name):
    group = Group.query.options(db.joinedload(Group.users)).filter(Group.name == name).first_or_404()
    form = UserListForm()

    if form.validate_on_submit():
        group.users.update(form.users)
        db.session.commit()

        return redirect_for('admin.groups_detail', name=name)

    return render_template('admin/groups/detail.html', group=group, form=form)
Пример #18
0
def update(id=None):
    item = Salad.query.get_or_404(id) if id is not None else None
    form = SaladForm(obj=item)

    if form.validate_on_submit():
        if item is None:
            item = Salad()
            db.session.add(item)

        item.updated_by = current_user
        form.populate_obj(item)
        db.session.commit()

        return redirect_for('salad.index')

    return render_template('salad/update.html', item=item, form=form)
Пример #19
0
def update(id=None):
    item = Salad.query.get_or_404(id) if id is not None else None
    form = SaladForm(obj=item)

    if form.validate_on_submit():
        if item is None:
            item = Salad()
            db.session.add(item)

        item.updated_by = current_user
        form.populate_obj(item)
        db.session.commit()

        return redirect_for('salad.index')

    return render_template('salad/update.html', item=item, form=form)
Пример #20
0
def handle_login_error(e):
    """Redirect to the login page when LoginError is raised.

    If the user is logged in but doesn't have permission, don't try to log in, it will result in an infinite loop.
    Raise 403 Forbidden instead.
    """

    if not current_user.authenticated:
        return redirect_for('auth.login', next=request.path)

    # abort(403)
    # can't raise other handled exception from error handler, results in 500
    # so simulate what flask would do
    try:
        abort(403)
    except Exception as e:
        return current_app.handle_user_exception(e)
Пример #21
0
def logout():
    session.pop('oauth_token', None)
    logout_user()

    return redirect_for('index')
Пример #22
0
def logout():
    session.pop('oauth_token', None)
    logout_user()

    return redirect_for('index')
Пример #23
0
def groups_remove_user(name, user_id):
    user = User.query.options(db.joinedload(User._groups)).get_or_404(user_id)
    user.groups.discard(name)
    db.session.commit()

    return redirect_for('admin.groups_detail', name=name)