示例#1
0
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'))