Exemplo n.º 1
0
def item_delete(item_title):
    item = session.query(Item).filter_by(title=item_title).one()
    user = session.query(User).filter_by(id=login_session.get('user_id')).one()
    if item.user is not None and item.user.id != user.id:
        return redirect(url_for('home'))
    if request.method == 'POST':
        img_filepath = vh.get_item_image_filepath(item.id)
        if os.path.isfile(img_filepath):
            os.remove(img_filepath)
        session.delete(item)
        session.commit()
        return redirect(url_for('home'))
    else:
        return render_template('item_delete.html', item=item)
Exemplo n.º 2
0
def item_delete(item_title):
    item = session.query(Item).filter_by(
        title=item_title).one()
    user = session.query(User).filter_by(
        id=login_session.get('user_id')).one()
    if item.user is not None and item.user.id != user.id:
        return redirect(url_for('home'))
    if request.method == 'POST':
        img_filepath = vh.get_item_image_filepath(item.id)
        if os.path.isfile(img_filepath):
            os.remove(img_filepath)
        session.delete(item)
        session.commit()
        return redirect(url_for('home'))
    else:
        return render_template('item_delete.html',
                               item=item)
Exemplo n.º 3
0
def item_delete(item_title):
    try:
        item = get_db().query(Item).filter_by(
            title=item_title).one()
    except NoResultFound:
        err_msg = "item '" + item_title + "' not found"
        return render_template(
            'err.html', err_msg=err_msg), 404
    if item.user is not None and item.user.id != g.user.id:
        return redirect(url_for('.home'))
    if request.method == 'POST':
        img_filepath = vh.get_item_image_filepath(item.id)
        # todo: error-handling, filesystem/db consistency story as w/ C&U
        if os.path.isfile(img_filepath):
            os.remove(img_filepath)
        get_db().delete(item)
        get_db().commit()
        return redirect(url_for('.home'))
    else:
        return render_template('item_delete.html',
                               item=item)