def showRestaurant(restaurant_id):
    restaurant = rest_crud.getRestaurant(restaurant_id)
    creator = rest_crud.getUserById(restaurant.user_id)
    menu_items = rest_crud.getRestaurantItems(restaurant_id)
    sections= OrderedDict()
    sections['Appetizers'] = [item for item in menu_items if item.course == "Appetizer"]
    sections['Entrees'] = [item for item in menu_items if item.course == "Entree"]
    sections['Desserts'] = [item for item in menu_items if item.course == "Dessert"]
    sections['Beverages'] = [item for item in menu_items if item.course == "Beverage"]
    if 'username' not in login_session or login_session['user_id'] != restaurant.user_id:
        print "user not logged in"
        return render_template('menu.html', restaurant=restaurant,
                                            sections=sections,
                                            creator=creator)
    else:
        return render_template('editrestaurant.html', restaurant=restaurant,
                                                      sections=sections,
                                                      creator=creator)
def editRestaurant(restaurant_id):
    if 'username' not in login_session:
        return redirect(url_for('showLogin'))
    restaurant = rest_crud.getRestaurant(restaurant_id)
    if login_session['user_id'] != restaurant.user_id:
        return "you are not allowed to edit this restaurant!"
    if request.method == 'GET':
        menu_items = rest_crud.getRestaurantItems(restaurant_id)
        sections= OrderedDict()
        sections['Appetizers'] = [item for item in menu_items if item.course == "Appetizer"]
        sections['Entrees'] = [item for item in menu_items if item.course == "Entree"]
        sections['Desserts'] = [item for item in menu_items if item.course == "Dessert"]
        sections['Beverages'] = [item for item in menu_items if item.course == "Beverage"]
        return render_template('editrestaurant.html', restaurant=restaurant, 
                                                      sections=sections)
    else:
        # edit on this level only for restaurant name
        # menu items edits are handled by editMenuItem function
        rest_crud.editRestaurant(restaurant_id, request.form['rest_name'])
        flash("Restaurant " + restaurant.name + " Successfully Edited")
        return redirect(url_for('showRestaurants'))
def getRestaurantJSON(restaurant_id):
    all_items = rest_crud.getRestaurantItems(restaurant_id)
    return jsonify(MenuItems=[item.serialize for item in all_items])