pre-commit changes

This commit is contained in:
2024-12-08 12:17:19 +03:00
parent 2852ce1f96
commit 87e9029b09
15 changed files with 400 additions and 293 deletions

View File

@@ -1,44 +1,55 @@
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, sellers_names, materials_names
import json
from os import path
with open(path.join(path.dirname(__file__), 'zapros_menu.json'), encoding='utf-8') as f:
from checker import check_auth
from flask import Blueprint, render_template, request, url_for
from .requests_model import (materials_names, materials_per_seller,
sellers_names, sklad)
with open(path.join(path.dirname(__file__), "zapros_menu.json"), encoding="utf-8") as f:
requests_list = json.load(f)
requests_bp = Blueprint('requests_bp', __name__, template_folder='templates')
requests_bp = Blueprint("requests_bp", __name__, template_folder="templates")
@requests_bp.route('/', methods=['GET', 'POST'])
@requests_bp.route("/", methods=["GET", "POST"])
@check_auth
def requests():
if request.method == 'GET':
return render_template('zapros_menu.html', options=requests_list)
if request.method == "GET":
return render_template("zapros_menu.html", options=requests_list)
@requests_bp.route('/sklad', methods=['GET', 'POST'])
@requests_bp.route("/sklad", methods=["GET", "POST"])
@check_auth
def sklad_zapros():
if request.method == 'GET':
return render_template('zagotovki.html')
if request.method == "GET":
return render_template("zagotovki.html")
else:
zagotovki = sklad(request)
if zagotovki.status:
material = dict(request.form)
header = f'Заготовки на складе из материала \"{material["material"]}\"'
return render_template('output.html', items=zagotovki.result, header=header)
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'])
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':
return render_template('sellers_ship.html')
if request.method == "GET":
return render_template("sellers_ship.html")
else:
zagotovki = materials_per_seller(request)
if zagotovki.status:
seller = dict(request.form)
header = f'Поставки от поставщика \"{seller["seller"]}\"'
return render_template('output.html', items=zagotovki.result, header=header, link=url_for('requests_bp.requests'))
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)
return render_template("error.html", error_message=zagotovki.error_message)

View File

@@ -1,61 +1,73 @@
from dataclasses import dataclass
from Database.work import select_list
from Database.sql_provider import SQLProvider
from flask import current_app
from os import path
sql_provider = SQLProvider(path.join(path.dirname(__file__), 'sql'))
from Database.sql_provider import SQLProvider
from Database.work import select_list
from flask import current_app
sql_provider = SQLProvider(path.join(path.dirname(__file__), "sql"))
@dataclass
class InfoRespronse:
result: tuple
error_message: str
status: bool
def sellers_names() -> InfoRespronse:
db_config = current_app.config['db_config']
_sql = sql_provider.get('sellers_names.sql', {})
def sellers_names() -> InfoRespronse:
db_config = current_app.config["db_config"]
_sql = sql_provider.get("sellers_names.sql", {})
result = select_list(db_config, _sql)
if result is None:
return InfoRespronse((),
error_message = 'Ошибка в подключении к базе данных. Свяжитесь с администратором',
status=False)
return InfoRespronse(result, error_message='', status=True)
return InfoRespronse(
(),
error_message="Ошибка в подключении к базе данных. Свяжитесь с администратором",
status=False,
)
return InfoRespronse(result, error_message="", status=True)
def materials_names() -> InfoRespronse:
db_config = current_app.config['db_config']
_sql = sql_provider.get('materials_names.sql', {})
db_config = current_app.config["db_config"]
_sql = sql_provider.get("materials_names.sql", {})
result = select_list(db_config, _sql)
if result is None:
return InfoRespronse((),
error_message = 'Ошибка в подключении к базе данных. Свяжитесь с администратором',
status=False)
return InfoRespronse(result, error_message='', status=True)
return InfoRespronse(
(),
error_message="Ошибка в подключении к базе данных. Свяжитесь с администратором",
status=False,
)
return InfoRespronse(result, error_message="", status=True)
def sklad(request) -> InfoRespronse:
db_config = current_app.config['db_config']
db_config = current_app.config["db_config"]
material = dict(request.form)
_sql = sql_provider.get('sklad_material.sql', material)
_sql = sql_provider.get("sklad_material.sql", material)
result = select_list(db_config, _sql)
if result is None:
return InfoRespronse((),
error_message = 'Ошибка в подключении к базе данных. Свяжитесь с администратором',
status=False)
return InfoRespronse(result, error_message='', status=True)
return InfoRespronse(
(),
error_message="Ошибка в подключении к базе данных. Свяжитесь с администратором",
status=False,
)
return InfoRespronse(result, error_message="", status=True)
def materials_per_seller(request) -> InfoRespronse:
db_config = current_app.config['db_config']
db_config = current_app.config["db_config"]
seller = dict(request.form)
_sql = sql_provider.get('ship_seller.sql', seller)
_sql = sql_provider.get("ship_seller.sql", seller)
result = select_list(db_config, _sql)
if result is None:
return InfoRespronse((),
error_message = 'Ошибка в подключении к базе данных. Свяжитесь с администратором',
status=False)
return InfoRespronse(result, error_message='', status=True)
return InfoRespronse(
(),
error_message="Ошибка в подключении к базе данных. Свяжитесь с администратором",
status=False,
)
return InfoRespronse(result, error_message="", status=True)