예제 #1
0
    def add_item(self, obj, user_id):
        """Controller for passing items within a category to DB

        :param obj: JSON passed from AJAX
        :param user_id: User ID Integer
        :return:
        """
        new_item = Item()
        new_item.name = obj['name']
        new_item.category_id = obj['category_id']
        new_item.description = obj['description']
        new_item.slug = obj['slug']
        new_item.user_id = user_id

        session.add(new_item)
        session.commit()
        return
예제 #2
0
def addItem():
    """Create a new Item."""

    if 'email' not in login_session:
        flash("You need to login to add items!")
        return redirect(url_for('getCatalog'))
    if request.method == 'POST':
        # set created user to current user
        user = session.query(User).filter_by(
            email=login_session['email']).one()
        name = request.form['name']
        if name is not None and len(name) != 0:
            new_item = Item(name=request.form['name'])
            new_item.created_user = user
            category = request.form['category']
            if category is not None and len(category) != 0:
                new_item.category_name = category
            description = request.form['description']
            if description is not None and len(description) != 0:
                new_item.description = description
            session.add(new_item)
            session.commit()
            flash("New Book Added!")
            return redirect(
                url_for('getItem',
                        category_name=new_item.category_name,
                        item_name=new_item.name))
        else:
            flash("Book name cannot be empty!")
            # if name is empty, load the page again

    categories = session.query(Category).order_by("name")
    user_loggedin = 'email' in login_session
    if user_loggedin:
        user_name = login_session['username']
        picture = login_session['picture']
        return render_template('additem.html',
                               categories=categories,
                               user_loggedin=user_loggedin,
                               user_name=user_name,
                               picture=picture)
    return render_template('additem.html', categories=categories)