Lunaresk dceda1446f major: refactoring
Refactored most imports to relative paths and made some experimental
changes to angular.
2023-06-19 23:41:40 +02:00

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)