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
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)