def newItem(user_id): credentials = login_session.get('credentials') if request.method == 'GET': 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")) newItemFrm.user_id = user_id return render_template( 'newitem.html', newItemForm=newItemFrm, username=login_session['username']) 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 "New Item Validation OK" iuser = dbi.getUserById(user_id) icaty = dbi.getCategoryById(request.form['categorySelect']) creation = datetime.date.today() newItem = Item(name=request.form['name'], description=request.form['description'], imageurl=request.form['imageurl'], cuser=iuser, creation=creation, category=icaty) dbi.addNewItem(newItem) flash("Item has been added!!!") # print 'name' # print request.form['name'] # print 'description' # print request.form['description'] print 'imageurl' print request.form['imageurl'] print 'categorySelect' print request.form['categorySelect'] else: print "New Item Validation Failed" print 'name' print newItemFrm.name.errors print 'description' print newItemFrm.description.errors print 'imageurl' print newItemFrm.imageurl.errors print 'categorySelect' print newItemFrm.categorySelect.errors flash("Something has gone wrong with submitted data") 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 catalogXML(): categorylst = dbi.getAllCategory() dicjson = [i.serialize for i in categorylst] dicjsonStr = json.dumps(dicjson) xml = dicttoxml(json.loads(dicjsonStr), custom_root='EmbeddedWorldCatalog') response = make_response(xml, 200) response.headers['Content-Type'] = 'application/xml' return response
def index(): if request.method == 'GET': # Optain a catalog list and a last 10 added item list catLst = dbi.getAllCategory() recentItemLst = dbi.getRecetItems(10) 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'] return render_template('nonloghome.html', catLst=catLst, recentItemLst=recentItemLst, username=username, useremail=useremail, userid=userid)
def catalogJSON(): categorylst = dbi.getAllCategory() return jsonify(Category=[i.serialize for i in categorylst])