46 lines
2.0 KiB
Python
46 lines
2.0 KiB
Python
from flask import request, Blueprint, render_template, url_for
|
|
from os import path
|
|
from checker import check_auth
|
|
from .requests_model import sklad, materials_per_seller
|
|
import json
|
|
|
|
with open(path.join(path.dirname(__file__), 'zapros_menu.json')) as f:
|
|
requests_list = json.load(f)
|
|
|
|
requests_bp = Blueprint('requests_bp', __name__, template_folder='templates')
|
|
|
|
@requests_bp.route('/', methods=['GET', 'POST'])
|
|
@check_auth
|
|
def requests():
|
|
if request.method == 'GET':
|
|
return render_template('pages_menu.html', options=requests_list, header='Запросы')
|
|
|
|
@requests_bp.route('/sklad', methods=['GET', 'POST'])
|
|
@check_auth
|
|
def sklad_zapros():
|
|
if request.method == 'GET':
|
|
# materials = ['Сталь', 'Алюминий', 'Медь', 'Пластик', 'Дерево']
|
|
return render_template('zagotovki.html', header='Количество заготовок на складе')
|
|
else:
|
|
material = dict(request.form)
|
|
zagotovki = sklad(material)
|
|
if zagotovki.status:
|
|
header = f'Заготовки на складе из материала \"{material["material"]}\"'
|
|
return render_template('output.html', items=zagotovki.result, header=header)
|
|
else:
|
|
return render_template('error.html', error_message=zagotovki.error_message)
|
|
|
|
@requests_bp.route('/shipments', methods=['GET', 'POST'])
|
|
@check_auth
|
|
def sellers_ship():
|
|
if request.method == 'GET':
|
|
# sellers = ['Alpha Supplies', 'Beta Materials', 'Gamma Parts', 'Delta Components', 'Epsilon Goods']
|
|
return render_template('sellers_ship.html')
|
|
else:
|
|
seller = dict(request.form)
|
|
zagotovki = materials_per_seller(seller)
|
|
if zagotovki.status:
|
|
header = f'Поставки от поставщика \"{seller["seller"]}\"'
|
|
return render_template('output.html', items=zagotovki.result, header=header, link=url_for('requests_bp.requests'))
|
|
else:
|
|
return render_template('error.html', error_message=zagotovki.error_message) |