def editRestaurant(restaurant_id): """ Edit a restaurant. """ editedRestaurant = database_dao.getRestaurant(restaurant_id) if login_session['user_id'] != editedRestaurant.user.id: createFeedback(403, 'You dont have permission to access this resource') return redirect(url_for('showMenu', restaurant_id=restaurant_id)) if request.method == 'POST': if request.form['name']: editedRestaurant.name = request.form['name'] database_dao.update(editedRestaurant) createFeedback( 200, 'Restaurant Successfully Edited %s' % editedRestaurant.name) return redirect(url_for('showRestaurants')) else: createFeedback(400, 'Name cannot be empty') return render_template('editRestaurant.html', username=getUsername(), restaurant=editedRestaurant) else: return render_template('editRestaurant.html', username=getUsername(), restaurant=editedRestaurant)
def showMenu(restaurant_id): """ Show the restaurant's menu. """ restaurant = database_dao.getRestaurant(restaurant_id) items = database_dao.getMenuItems(restaurant_id) can_edit = ('user_id' in login_session and restaurant.user_id == login_session['user_id']) return render_template('menu.html', can_edit=can_edit, username=getUsername(), items=items, restaurant=restaurant, creator=restaurant.user)
def deleteMenuItem(restaurant_id, menu_id): """ Delete a menu item. """ restaurant = database_dao.getRestaurant(restaurant_id) itemToDelete = database_dao.getMenuItem(menu_id) if login_session['user_id'] != restaurant.user.id: createFeedback(403, 'You dont have permission to access this resource') return redirect(url_for('showMenu', restaurant_id=restaurant_id)) if request.method == 'POST': database_dao.delete(itemToDelete) createFeedback(200, 'Menu Item Successfully Deleted') return redirect(url_for('showMenu', restaurant_id=restaurant_id)) else: return render_template('deleteMenuItem.html', restaurant=restaurant, item=itemToDelete)
def deleteRestaurant(restaurant_id): """ Delete a restaurant. """ restaurantToDelete = database_dao.getRestaurant(restaurant_id) if login_session['user_id'] != restaurantToDelete.user.id: createFeedback(403, 'You dont have permission to access this resource') return redirect(url_for('showMenu', restaurant_id=restaurant_id)) if request.method == 'POST': database_dao.delete(restaurantToDelete) createFeedback(200, '%s Successfully Deleted' % restaurantToDelete.name) return redirect(url_for('showRestaurants', restaurant_id=restaurant_id)) else: return render_template('deleteRestaurant.html', restaurant=restaurantToDelete)
def newMenuItem(restaurant_id): """ Create a new menu item. """ restaurant = database_dao.getRestaurant(restaurant_id) if login_session['user_id'] != restaurant.user.id: createFeedback(403, 'You dont have permission to access this resource') return redirect(url_for('showMenu', restaurant_id=restaurant_id)) if request.method == 'POST': newItem = MenuItem() if request.form['name']: newItem.name = request.form['name'] if request.form['description']: newItem.description = request.form['description'] if request.form['price']: newItem.price = request.form['price'] if 'course' in request.form and request.form['course']: newItem.course = request.form['course'] newItem.user_id = restaurant.user_id newItem.restaurant_id = restaurant_id if (request.form['name'] and request.form['description'] and request.form['price'] and 'course' in request.form and request.form['course']): database_dao.update(newItem) createFeedback( 200, 'New Menu %s Item Successfully Created' % (newItem.name)) return redirect(url_for('showMenu', restaurant_id=restaurant_id)) else: createFeedback(400, 'All Information are needed') return render_template('newMenuItem.html', item=newItem, restaurant_id=restaurant_id) else: return render_template('newMenuItem.html', item={}, restaurant_id=restaurant_id)
def editMenuItem(restaurant_id, menu_id): """ Edit a menu item. """ editedItem = database_dao.getMenuItem(menu_id) restaurant = database_dao.getRestaurant(restaurant_id) if login_session['user_id'] != restaurant.user.id: createFeedback(403, 'You dont have permission to access this resource') return redirect(url_for('showMenu', restaurant_id=restaurant_id)) if request.method == 'POST': if request.form['name']: editedItem.name = request.form['name'] if request.form['description']: editedItem.description = request.form['description'] if request.form['price']: editedItem.price = request.form['price'] if request.form['course']: editedItem.course = request.form['course'] if (request.form['name'] and request.form['description'] and request.form['price'] and request.form['course']): database_dao.update(editedItem) createFeedback(200, 'Menu Item Successfully Edited') return redirect(url_for('showMenu', restaurant_id=restaurant_id)) else: createFeedback(400, 'All Information are needed') return render_template('newMenuItem.html', item=editedItem, restaurant_id=restaurant_id) else: return render_template('newMenuItem.html', restaurant_id=restaurant_id, menu_id=menu_id, item=editedItem)
def restaurantMenuJSON(restaurant_id): """ Return the restaurant's menu. """ restaurant = database_dao.getRestaurant(restaurant_id) items = database_dao.getMenuItems(restaurant_id) return jsonify(menu_items=[i.serialize for i in items])