def stock(): for item in current_user.get_added(): db.session.delete(item) current_user.added.remove(item) db.session.commit() stock_db = list(set(db.session.query(Stock.component_id).all())) stock = [] print(stock_db) for item in stock_db: stock.append(Stock.query.filter(Stock.component_id == item[0]).first()) print(stock) form = SpecificationForm() if request.method == 'POST': if form.count.data is None: flash('Используйте "." вместо ","') return redirect(url_for('stock', form=form, stock=stock)) document = Document(datetime.today().strftime("%Y/%m/%d %H:%M"), current_user.id, form.document_type.data, form.text.data) db.session.add(document) db.session.commit() last_count = Stock.query.filter( Stock.component_id == form.id.data).first().get_count() stock = Stock(document.id, form.id.data, form.count.data) db.session.add(stock) db.session.commit() if form.document_type.data == 'Приход': flash('Приход {} на склад'.format(stock.get_name()), 'message') elif form.document_type.data == 'Расход': if stock.get_count() != 0 and stock.get_count() == last_count: flash( 'Расход детали {} со склада невозможен. Недостаточно деталей' .format(stock.get_name()), 'message') else: flash('Расход детали {} со склада'.format(stock.get_name()), 'message') else: flash('Деталь {} списана'.format(stock.get_name()), 'message') return redirect(url_for('stock', form=form, stock=stock)) return render_template('stock.html', form=form, stock=stock)
def stock_adding(doc_type, doc): all_stock = Stock.query.all() today = datetime.today() form = SpecificationForm() form1 = DocumentForm() modal_component = ModalComponent.query.first() last_stocked = Stock.query.first() added = current_user.added components = Component.query.order_by(Component.component_name).all() document = Document(' ', current_user.id, doc_type, ' ') if doc != 'False': document = Document.query.filter(Document.id == doc).first() db.session.add(document) db.session.commit() stock_db = list(set(db.session.query(Stock.component_id).all())) stock = [] for item in stock_db: stock.append(Stock.query.filter(Stock.component_id == item[0]).first()) if request.method == 'POST': if form.id.data == 'comment': for item in current_user.get_added(): item.get_document().date = today.strftime("%Y/%m/%d %H:%M") item.get_document().comment = form1.text.data db.session.commit() current_user.added.remove(item) db.session.commit() flash('Склад обновлён', 'message') else: if form.count.data is None: flash('Используйте "." вместо ","') return redirect( url_for('stock_adding', doc=doc, doc_type=doc_type, stock=stock, form1=form1, added=added, last_stocked=last_stocked, form=form, component=components, modal_component=modal_component)) print(document.id) stock = Stock(document.id, form.id.data, form.count.data) db.session.add(stock) db.session.commit() current_user.append_stock(stock.id) flash('Деталь {} добавлена в список'.format(stock.get_name()), 'message') return redirect( url_for('stock_adding', doc=doc, doc_type=doc_type, stock=stock, form1=form1, added=added, form=form, last_stocked=last_stocked, component=components, modal_component=modal_component)) return render_template('stock_adding.html', doc=doc, doc_type=doc_type, stock=stock, form1=form1, added=added, form=form, last_stocked=last_stocked, components=components, modal_component=modal_component)