Refactored most imports to relative paths and made some experimental changes to angular.
38 lines
1.5 KiB
Python
38 lines
1.5 KiB
Python
from datetime import date
|
|
from flask import abort, redirect, url_for
|
|
from flask_login import current_user, login_required
|
|
from . import bp
|
|
from .forms import NewItemForm
|
|
from src import db, LOGGER
|
|
from src.models import AmountChange, Brand, Item, PriceChange
|
|
from src.utils.routes_utils import render_custom_template as render_template
|
|
|
|
@bp.route('/new_item', methods=['GET', 'POST'])
|
|
@login_required
|
|
def new_item():
|
|
if current_user.is_anonymous:
|
|
abort(403)
|
|
form = NewItemForm.new()
|
|
if form.is_submitted():
|
|
LOGGER.debug("submitted")
|
|
if form.validate():
|
|
LOGGER.debug("valid")
|
|
else:
|
|
LOGGER.debug(form.errors)
|
|
if form.validate_on_submit():
|
|
LOGGER.debug("valid form")
|
|
brand = Brand.query.get(form.brand.data)
|
|
new_item = Item(id=form.id.data, name=form.name.data,
|
|
brand=brand.id, description=form.description.data)
|
|
# if form.category.data:
|
|
# category = Category.query.get(id = form.category.data)
|
|
# new_item.Category = category
|
|
new_item.PriceChange = [PriceChange(Item=new_item, date=date(
|
|
2021, 12, 1), price=form.price_change.data)]
|
|
if form.amount_change.data:
|
|
new_item.AmountChange = [AmountChange(Item=new_item, date=date(
|
|
2021, 12, 1), amount=form.amount_change.data)]
|
|
db.session.add(new_item)
|
|
db.session.commit()
|
|
return redirect(url_for('main.index'))
|
|
return render_template('item/new/new_item.html', form=form) |