示例#1
0
def edit_menu_item(request, key=None):
    item = None
    if key is not None:
        item = MenuItem.get(key)
    if request.method == 'POST':
        form = MenuItemForm(request.POST)
        if form.is_valid():
            item = MenuItem.from_form(form, key)
            item.put()
            return HttpResponseRedirect('/admin/menu/items/')
    elif item:
        if item.category is None:
            category_key = ""
        else:
            category_key = item.category.key()
        form = MenuItemForm({
    		'category': category_key,
                'name': item.name,
                'description': item.description,
                'price': item.price,
                'show_on_menu': item.show_on_menu,
                # Hidden
                'key': item.key()})
    else:
        form=MenuItemForm()
    return render_admin_template('admin/menu/items/edit.html', dict(
            item=item, item_form=form))
示例#2
0
def delete_menu_item(request, key=None):
    item = None
    if key is not None:
        item = MenuItem.get(key)
    if key and request.method == 'POST':
        item.delete()
    return HttpResponseRedirect('/admin/menu/items/')
示例#3
0
def load_fixtures(request):
    """Populate the data store with an initial set of data."""
    fixtures = yaml.load(open(os.path.dirname(__file__) + '/../../fixtures.yaml', 'r'))

    menu_categories = fixtures['MenuCategory']
    menu_items = fixtures['MenuItem']

    categories_by_key = dict()

    for category in menu_categories:
        key = category['key']
        name = category.get('name', '')
        description = category.get('description', '')
        column = category.get('column', 1)
        order = category.get('order', 1)
        cat = MenuCategory(key_name=key, name=name,
                           description=description,
                           column=column, order=order)
        cat.put()
        categories_by_key[key] = cat

    items = []
    for item in menu_items:
        category = categories_by_key[item['category']]
        name = item.get('name', None)
        price = str(item.get('price', None))
        description = item.get('description', None)
        show_on_menu = item.get('show_on_menu', False)
        item = MenuItem(category=category, name=name, price=price, description=description,
                        show_on_menu=show_on_menu)
        item.put()
        items.append(item)

    return render_admin_template('admin/fixtures.html', dict(
            menu_items=items,
            menu_categories=categories_by_key.values()))