示例#1
0
def editMenuItem(category, item):
    Item = q.get_menuitem(category, item)
    owner = (Item and Item.user_id == login_session.get('user_id', False))
    if not owner:
        flash("You are not authorized to edit this Item.\
                  Please create your own Item in order to edit.")
        return redirect("/catalog")
    Categories = q.get_catalog()
    status = False
    if Item and owner:
        if request.method == 'POST':
            newtitle = str(request.form['title']).strip()
            newdescription = str(request.form['description']).strip()
            newcategory = str(request.form['category']).strip()
            user_id = login_session['user_id']
            exists = q.get_menuitem(newcategory, newtitle)

            # delete item from old category and add to the new category
            if newcategory != category:
                # make sure item doe not exist on the new caegory
                if not exists:
                    status = \
                    q.addMenuItem(newtitle,newdescription,newcategory,user_id)
                else:
                    flash("Item already exists in %s " % newcategory)
                # delete item from old existing category if Successfully already
                # added to the new existing category
                if status:
                    q.deleteMenuItem(Item)
                    flash("Item successfully edited onto %s " % newcategory)
                    return redirect(url_for('catalogMenu'))
            elif Item.title == newtitle and Item.description == newdescription:
                flash("Item could not be edited. No changes detected!")
                return render_template('edititem.html',
                                       categories=Categories,
                                       target=category,
                                       title=newtitle,
                                       description=newdescription)
            else:
                status = q.editMenuItem(Item, newtitle, newdescription)
                if status:
                    flash("Item Successfully Edited.")
                    return redirect(url_for('catalogMenu'))

        return render_template('edititem.html',
                               categories=Categories,
                               target=category,
                               title=Item.title,
                               description=Item.description)
    else:
        return render_template('opps.html')
示例#2
0
def addMenuItem():
    Categories = q.get_catalog()
    if request.method == 'POST':
        newtitle = str(request.form['title']).strip()
        newdescription = str(request.form['description']).strip()
        category = str(request.form['category']).strip()
        user_id = login_session['user_id']
        # check if item exists
        exists = q.get_menuitem(category, newtitle)

        if not exists:
            status = q.addMenuItem(newtitle, newdescription, category, user_id)
            if status:
                flash("Item Successfully Added.")
                return redirect(url_for('catalogMenu'))

        flash("Item could not be added. Item already exists!")
        # Returns users last input
        return render_template('additem.html',
                               categories=Categories,
                               target=category,
                               title=newtitle,
                               description=newdescription,
                               navadd="active")

    return render_template('additem.html',
                           categories=Categories,
                           navadd="active")
示例#3
0
def categoryItemDetail(category, item):
    Item = q.get_menuitem(category, item)
    if Item:
        owner = (Item.user_id == login_session.get('user_id', False))
        return render_template('item.html',
                               menuitem=Item,
                               creator=owner,
                               category=category)
    else:
        return render_template('opps.html')
示例#4
0
def deleteMenuItem(restaurant_id, menu_id):
    if request.method == 'POST':
        # delete menu item
        r.set_deletemenuitem(menu_id)
        flash("Menu item delete!")
        return redirect(url_for('restaurantMenu', restaurant_id=restaurant_id))
    else:
        menu = r.get_menuitem(menu_id)  # return dict
        return render_template('deletemenuitem.html',
                               restaurant_id=restaurant_id,
                               menu_name=menu.name,
                               menu_id=menu_id)
示例#5
0
def editMenuItem(restaurant_id, menu_id):
    if request.method == 'POST':
        # edit menu item
        name = request.form['name']
        if name != "":
            r.set_editmenuitem(name, menu_id)
        flash("Menu item edit edited!")
        return redirect(url_for('restaurantMenu', restaurant_id=restaurant_id))
    else:
        menu = r.get_menuitem(menu_id)  # return dict
        return render_template('editmenuitem.html',
                               restaurant_id=restaurant_id,
                               menu_name=menu.name,
                               menu_id=menu_id)
示例#6
0
def deleteMenuItem(category, item):
    Item = q.get_menuitem(category, item)
    owner = (Item and Item.user_id == login_session.get('user_id', False))
    if not owner:
        flash("You are not authorized to delete this Item.\
               Please create your own Item in order to delete.")
        return redirect("/catalog")
    status = False
    if Item and owner:
        if request.method == 'POST':
            q.deleteMenuItem(Item)
            flash("Menu Item Successfully Delete")
            return redirect(url_for('catalogMenu'))
        else:
            return render_template('deleteitem.html',
                                   category=category,
                                   item=item)
    else:
        return render_template('opps.html', category=category, item=item)
示例#7
0
def menuItemJSON(restaurant_id, menu_id):
    item = r.get_menuitem(menu_id)
    return jsonify(MenuItem=item.serialize)