Beispiel #1
0
def show_item(category_id, item_id):
    """Specific item page. Shows desc."""
    categories = db.get_all_categories()
    cat = db.get_cat(category_id)
    item = db.get_item(item_id)
    return render_template(
        'item.html',
        categories=categories,
        category=cat,
        item=item
        )
Beispiel #2
0
def show_category(category_id):
    """Specific category page.  Shows all titles."""
    categories = db.get_all_categories()
    cat = db.get_cat(category_id)
    items = session.query(ItemTitle).filter_by(category_id=cat.id).order_by(asc(ItemTitle.name))
    return render_template(
        'category.html',
        categories=categories,
        category=cat,
        items=items
        )
Beispiel #3
0
def edit_film(category_id, item_id):
    """Edit item page. User must have created the item to edit."""

    categories = db.get_all_categories()
    cat = db.get_cat(category_id)
    item = db.get_item(item_id)
    user_id = login_session['user_id']

    if item.user_id != user_id:
        return redirect(url_for('main_page'))

    if request.method == 'POST':
        name = request.form['name']
        description = request.form['description']
        category = request.form['category']

        field_vals = {}

        if name and description:
            flash('Film edited!')
            db.edit_film(item, name, description, db.get_cat_id(category))

            time.sleep(1)
            return redirect(url_for(
                'show_item',
                category_id=category_id,
                item_id=item_id
                )
            )
        else:
            field_vals['default_cat'] = category
            flash('Invalid input! Must enter values.')

        field_vals['input_name'] = name
        field_vals['input_description'] = description
        return render_template('new_film.html', categories=categories, **field_vals)
    else:
        return render_template(
            'edit_film.html',
            category_id=category_id,
            item_id=item_id,
            categories=categories,
            input_name=item.name,
            input_description=item.description,
            default_cat=cat.name
            )
Beispiel #4
0
def new_film(category_id):
    """Add new item page."""

    categories = db.get_all_categories()

    if request.method == 'POST':
        name = request.form['name']
        description = request.form['description']
        category = request.form['category']
        field_vals = {}

        user_id = login_session['user_id']

        if name and description and category != "None":
            print 'received inputs'
            flash('New film added!')
            cat_id = db.get_cat_id(category)
            new_film = db.create_item(
                name,
                description,
                cat_id,
                user_id
                )
            return redirect(url_for(
                'show_item',
                category_id=cat_id,
                item_id=new_film.id
                )
            )
        elif category == "None":
            flash('Must enter a category.')
        else:
            field_vals['default_cat'] = category
            flash('Invalid input! Must enter values.')

        field_vals['input_name'] = name
        field_vals['input_description'] = description
        return render_template('new_film.html', categories=categories, **field_vals)
    else:
        if category_id:
            cat_name = db.get_cat(category_id).name
            return render_template('new_film.html', categories=categories, default_cat=cat_name)
        else:
            return render_template('new_film.html', categories=categories)
Beispiel #5
0
def delete_film(category_id, item_id):
    """Delete item page.  User must have created item to delete."""

    cat = db.get_cat(category_id)
    item = db.get_item(item_id)

    user_id = login_session['user_id']

    if item.user_id != user_id:
        return redirect(url_for('main_page'))

    if request.method == 'POST':
        delete_confirmation = request.form['delete']

        if delete_confirmation == 'yes':
            db.delete_film(item)
            flash('film entry deleted.')
        return redirect(url_for('show_category', category_id=cat.id))
    else:
        return render_template(
            'delete_film.html',
            category=cat,
            item=item
            )
Beispiel #6
0
def category_items_json(category_id):
    item_list = db.get_items_in_category(category_id)
    category = db.get_cat(category_id)
    return jsonify(Category=category.name, Items=[item.serialize for item in item_list])