Beispiel #1
0
def create_item():
    """Create item"""

    username = login_session.get('username', None)

    if request.method == 'GET':
        catalogs = session.query(Catalog).all()
        catalogs_display = [{
            'id': catalog.id,
            'name': catalog.name
        } for catalog in catalogs]
        return render_template('create_item.html',
                               catalogs_display=catalogs_display,
                               username=username)

    if request.method == 'POST':
        title = request.form['title']
        results = session.query(Item).filter_by(title=title).all()
        if len(results) > 0:
            return redirect(url_for('createItem'))

        user = session.query(User).filter_by(name=username).one()
        item = Item(title, request.form['desc'])
        item.catalog_id = request.form['catalog_id']
        item.user_id = user.id
        session.add(item)
        session.commit()
        return redirect(url_for('home'))
Beispiel #2
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
def setup_db():
    # Create engine
    engine = create_engine('sqlite:///catalog.db')
    # Create catalog and item table
    Base.metadata.create_all(engine)
    # Create session
    Session = sessionmaker(bind=engine)
    session = Session()
    # Clear catalog and item in database
    session.query(Catalog).delete()
    session.query(Item).delete()
    session.query(User).delete()
    # Get fake user and add to database
    creator_user_id = None
    for user_info in fake_user():
        user = User(user_info['name'])
        session.add(user)
        session.commit()
        # use the first user to create catalog
        if creator_user_id is None:
            creator_user_id = user.id
    # Get fake catalog and add to database
    for catalog, items in fake_catalog().items():
        catalog = Catalog(catalog)
        session.add(catalog)
        session.commit()
        for item_title, item_desc in items.items():
            item = Item(item_title, item_desc)
            item.catalog_id = catalog.id
            item.user_id = creator_user_id
            session.add(item)
            session.commit()
    # Close session
    session.close()
    # Dispose engine
    engine.dispose()