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)
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)
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)