Beispiel #1
0
def create_item(category):
    '''handles creation of a new Item'''
    if request.method == 'GET' and 'username' in login_session:
        # user is logged in, so render the createItem page
        categories = session.query(Category).all()
        return render_template('createItem.html',
                               categories=categories,
                               selected_category=category)
    elif request.method == 'GET':
        # user is NOT logged in, so render the loginpage
        flash('You need to login first to create a new item.')
        return render_template('login.html')
    elif request.method == 'POST':

        new_item = Item()
        if request.form['name']:
            new_item.name = request.form['name']
        if request.form['description']:
            new_item.description = request.form['description']
        category_selected = (session.query(Category).filter_by(
            name=request.form['category']).one())
        new_item.category_id = category_selected.id
        new_item.creator_id = login_session['user_id']

        new_item.edited_time = int(time.time())
        session.add(new_item)
        session.commit()
        flash('{} created'.format(new_item.name))
        return redirect(
            url_for('category_display', category=category_selected.name))
Beispiel #2
0
def add_item():
    """
    add_item: Add new item to database
        Args:
            -
        Returns:
            If method is POST, redirect back to show_items.html,
            if method is GET, show the add_item.html template
    """
    logged_in = True

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

        category_id = ''
        if category == 'new_category_option':
            # Create new category item
            category = new_category
            c = Category(name=category)
            session.add(c)
            session.commit()

            item_category = session.query(Category).filter_by(
                name=category).one()
            category_id = item_category.id
            category = item_category.name
        else:
            old_category = session.query(Category).filter_by(
                id=category).one()
            category_id = old_category.id
            category = old_category.name

        item = Item()
        item.name = name
        item.description = description
        item.category = category_id

        # Get the current user
        username = login_session['username']
        user = session.query(User).filter_by(username=username).one()

        item.creator_id = user.id

        session.add(item)
        session.commit()

        return redirect(url_for('show_items', logged_in=logged_in,
                                category=category))
    else:
        categories = session.query(Category).all()
        return render_template("add_item.html", logged_in=logged_in,
                               categories=categories)