def deleteItem(user_id, item_id): credentials = login_session.get('credentials') delItem = dbi.getItemById(item_id) if delItem.user_id != user_id: response = make_response( json.dumps("Requested Item does not belong to current user."), 401) response.headers['Content-Type'] = 'application/json' return response dbi.removeItemById(item_id) flash("Item has been removed!!!") return redirect(url_for('index'))
def editItem(user_id, item_id): credentials = login_session.get('credentials') oldItem = dbi.getItemById(item_id) if oldItem.user_id != user_id: response = make_response( json.dumps("Requested Item does not belong to current user."), 401) response.headers['Content-Type'] = 'application/json' return response if request.method == 'GET': categorylst = dbi.getAllCategory() categorySelect_choices = [ (int( category.id), str( category.name)) for category in categorylst] oldItemFrm = forms.NewItem(request.form) oldItemFrm.name.data = oldItem.name oldItemFrm.description.data = oldItem.description oldItemFrm.imageurl.data = oldItem.imageurl oldItemFrm.categorySelect.choices = categorySelect_choices oldItemFrm.categorySelect.choices.insert(0, ("0", "None")) oldItemFrm.categorySelect.data = oldItem.category_id oldItemFrm.user_id = user_id return render_template( 'edititem.html', newItemForm=oldItemFrm, username=login_session['username'], oldItem=oldItem) else: # SelectField choices have to be filled in with current select list # before validating!!! categorylst = dbi.getAllCategory() categorySelect_choices = [ (int( category.id), str( category.name)) for category in categorylst] newItemFrm = forms.NewItem(request.form) newItemFrm.categorySelect.choices = categorySelect_choices newItemFrm.categorySelect.choices.insert(0, ("0", "None")) if newItemFrm.validate(): print "Edited Item Validation OK" dbi.updateItemById(item_id=item_id, new_name=request.form['name'], new_description=request.form['description'], new_imgURL=request.form['imageurl'], new_category_id=request.form['categorySelect']) flash("Item has been edited!!!") else: print "Edited Item Validation Failed" flash("Something has gone wrong with submitted data") return redirect(url_for('index'))
def getItemInfo(item_id): if request.method == 'GET': # Optain a catalog list and a last 10 added item list item = dbi.getItemById(item_id) username = None useremail = None userid = None # Check for current logrd user credentials = login_session.get('credentials') if credentials is not None: username = login_session['username'] useremail = login_session['email'] userid = login_session['user_id'] ''' currently loged user id and item's user id are passed. This way conditional render of Delete and Edit options are performed. ''' return render_template('iteminfo.html', item=item, username=username, useremail=useremail, userid=userid)