Exemple #1
0
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)
Exemple #2
0
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)
Exemple #3
0
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)
Exemple #4
0
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)
Exemple #5
0
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)
Exemple #6
0
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)
Exemple #7
0
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])