Example #1
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()))