def newMenu(restaurant_id): """lets a restaurant owner create a new menu""" # set album_id as global so that editMenu can access it global album_id rest = session.query(Restaurant).filter_by(id=restaurant_id).one() if request.method == 'POST': myNewCondition = Condition(name=request.form['newConditions']) session.add(myNewCondition) session.commit() myNewMenu = MenuItem( name=request.form['newName'], course=request.form['newCourse'], description=request.form['newDescription'], price=request.form['newPrice'], restaurant_id=restaurant_id) myNewMenu.conditions.append(myNewCondition) session.add(myNewMenu) session.commit() logging.debug(request.form['newImage']) upload_and_populate_image( myNewMenu, imgur_client, album_id, request.form['newName'], request.form['newImage']) flash('New menu ' + myNewMenu.name + ' has been created!', 'message') flash('New condition ' + myNewCondition.name + ' has been created!', 'message') return redirect(url_for('showMenus', restaurant_id=restaurant_id)) else: return render_template('newMenuItem.html', restaurant_id=restaurant_id, restaurant=rest)
def populateConditions(conditions): """ method to populate a list of conditions, skip if already present""" try: for i in range(len(conditions)): if session.query(Condition).filter_by(name=conditions[i]["name"]).first() is None: condition = Condition(name=conditions[i]["name"], signs_and_symptoms=conditions[i]["signs_and_symptoms"], user_id=0) session.add(condition) session.commit() except: return "Error: no condition is created."
def newCondition(): """lets a logged-in user create a new health condition for self""" if request.method == 'POST': condition = Condition( name=request.form['name'], signs_and_symptoms=request.form['signs_and_symptoms'], user_id=login_session.get('user_id')) session.add(condition) session.commit() flash('the condition '+condition.name+' has been listed!', 'message') return redirect(url_for('showConditions')) else: return render_template('newCondition.html')
def newMenu(restaurant_id): rest = session.query(Restaurant).filter_by(id=restaurant_id).one() if request.method == 'POST': myNewMenu = MenuItem(name=request.form['newName'], course=request.form['newCourse'], description=request.form['newDescription'], price=request.form['newPrice'], restaurant_id=restaurant_id) myNewCondition = Condition(name=request.form['newConditions']) session.add(myNewCondition) myNewMenu.conditions.append(myNewCondition) session.add(myNewMenu) session.commit() flash('New menu ' + myNewMenu.name + ' has been created!', 'message') return redirect(url_for('showMenus', restaurant_id=restaurant_id)) else: if login_session.get('user_id') != rest.user_id: return redirect(url_for('showLogin')) return render_template('newMenuItem.html', restaurant_id=restaurant_id, restaurant=rest)
signs_and_symptoms=conditions[i]["signs_and_symptoms"], user_id="") session.add(condition) session.commit() except: return "Error: no condition is created." # populate conditions populateConditions(data3["conditions"]) print "condition counts:", session.query(Condition).count() myFirstCondition = session.query(Condition).filter_by(name="diabetes").first() # create and link a special menu to a condition w/o committing menu first constipation = Condition(name="constipation", signs_and_symptoms="spending \ long time for bowel movement") kabocha = MenuItem( name="baked kabocha squash", description="kabocha brushed with coconut oil roasted to a rich texture", price="$3.00", course="vegetable", restaurant=mySecondRestaurant) constipation.suggested_menus.append(kabocha) session.add(constipation) session.commit() kabocha_menu = session.query(MenuItem).filter( MenuItem.name.like('%kabocha%')).first() print "kabocha?", kabocha_menu.description # to get image from imgur: