def new_item(): # Handle POST request if request.method == 'POST': if is_logged_in(): # check that the name does not already exist in the category item_to_check = Item.by_name_and_cat_id( name=request.form['name'], category_id=request.form['category']) if item_to_check != None: flash("Item %s already exists" % item_to_check.name) return render_template('new_item.html') # Create the new item in DB new_item = Item.new(name=request.form['name'], category_id=request.form['category'], description=request.form['description'], user_id=login_session.get('user_id')) flash("Item %s successfully added" % new_item.name) return redirect(url_for('home_page')) # if not logged in, redirect to the login page else: flash("Please log in first") return redirect(url_for('login')) # Handle GET request else: # If logged in, render the new item form if is_logged_in(): return render_template('new_item.html') # If not logged in, redirect to the login page else: flash("Please log in first") return redirect(url_for('login'))