This repository has been archived on 2025-10-24. You can view files and clone it, but cannot push or open issues or pull requests.
Files
RIS/App/Requests/requests.py

57 lines
2.5 KiB
Python

from flask import request, Blueprint, render_template, session
from os import path
from Database.sql_provider import SQLProvider
from checker import check_auth
from .requests_route import route
from datetime import date
import json
with open(path.join(path.dirname(__file__), 'zapros_menu.json')) as f:
requests_list = json.load(f)
sql_provider = SQLProvider(path.join(path.dirname(__file__), 'sql'))
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('zapros_menu.html', options=requests_list)
@requests_bp.route('/req1', methods=['GET', 'POST'])
@check_auth
def sklad_zapros():
if request.method == 'GET':
zagotovki = route(session['db_config'], {}, sql_provider, 'zagotovki.sql')
if zagotovki.status:
return render_template('sklad_zapros.html', materials=zagotovki.result)
else:
return render_template('error.html', error_message=zagotovki.error_message)
else:
material = dict(request.form)
zagotovki = route(session['db_config'], material, sql_provider, 'zapros1.sql')
if zagotovki.status:
header = f'Заготовки на складе из материала \'{material["material"]}\''
return render_template('output.html', items=zagotovki.result, object=header)
else:
return render_template('error.html', error_message=zagotovki.error_message)
@requests_bp.route('/req2', methods=['GET', 'POST'])
@check_auth
def zagotovki_ship():
if request.method == 'GET':
zagotovki = route(session['db_config'], {}, sql_provider, 'zagotovki.sql')
if zagotovki.status:
date_from = '2000-01-01'
date_to = date.today().strftime('%Y-%m-%d')
return render_template('zagotovki_ship.html', materials=zagotovki.result, date_from=date_from, date_to=date_to)
else:
return render_template('error.html', error_message=zagotovki.error_message)
else:
material = dict(request.form)
zagotovki = route(session['db_config'], material, sql_provider, 'zapros2.sql')
if zagotovki.status:
header = f'Поставленные заготовки из материала \'{material["material"]}\''
return render_template('output.html', items=zagotovki.result, object=header)
else:
return render_template('error.html', error_message=zagotovki.error_message)