Единый и неделимый json-файл

This commit is contained in:
2024-11-22 20:04:20 +03:00
parent 8663c2a451
commit 535c4d2926
6 changed files with 35 additions and 41 deletions

View File

@@ -26,15 +26,13 @@ def create():
items=report_list,
date_today=date.today())
else:
data = dict(id=request.form.get('category'),
month=request.form.get('month'),
year=request.form.get('year'))
id = request.form.get('category')
month = request.form.get('month')
year = request.form.get('year')
data = dict(id=id, month=month, year=year)
with open(path.join(path.dirname(__file__), f'access/{data['id']}.json')) as f:
report_access = json.load(f)
if session['role'] in report_access['write']:
proc_name = report_access['procedure']
if session['role'] in report_list[id]['data']['write']:
proc_name = report_list[id]['data']['procedure']
ready_report = make_report(data, proc_name)
if ready_report.status:
return render_template("OK.html")
@@ -53,17 +51,15 @@ def view():
items=report_list,
date_today=date.today())
else:
data = dict(id=request.form.get('category'),
month=request.form.get('month'),
year=request.form.get('year'))
with open(path.join(path.dirname(__file__), f'access/{data['id']}.json')) as f:
report_access = json.load(f)
id = request.form.get('category')
month = request.form.get('month')
year = request.form.get('year')
data = dict(id=id, month=month, year=year)
if session['role'] in report_access['read']:
ready_report = view_report(data, report_access['view'])
if session['role'] in report_list[id]['data']['read']:
ready_report = view_report(data, report_list[id]['data']['view'])
if ready_report.status:
title= f'{report_access["title"]} за {data["month"]}-{data["year"]}'
title= f'{report_list[id]['data']['title']} за {data["month"]}-{data["year"]}'
return render_template("output.html", items=ready_report.result,
header=title,
link = url_for('report_bp.menu'))

View File

@@ -1,7 +0,0 @@
{
"title" : "Отчет о поставках заготовок",
"write" : ["Менеджер"],
"read" : ["Управляющий"],
"view" : "workpiece_report",
"procedure" : "report_workpiece"
}

View File

@@ -1,7 +0,0 @@
{
"title" : "Отчет о поставках поставщиками",
"write" : ["Бухгалтер"],
"read" : ["Управляющий"],
"view" : "sellers_report",
"procedure" : "report_sellers_2"
}

View File

@@ -46,8 +46,8 @@ def make_report(input_data: dict, proc_name: str) -> InfoRespronse:
return InfoRespronse((),
error_message = 'Ошибка в подключении к базе данных. Свяжитесь с администратором',
status=False)
elif result['message'] != 'OK':
return InfoRespronse((),
error_message = 'Невозможно создать отчет (нет продаж за выбранный период)',
status=False)
# elif result['message'] != 'OK':
# return InfoRespronse((),
# error_message = 'Невозможно создать отчет (нет продаж за выбранный период)',
# status=False)
return InfoRespronse((), error_message='', status=True)

View File

@@ -1,4 +1,16 @@
[
{"id": 1, "name": "Заготовки"},
{"id": 2, "name": "Поставщики"}
]
{
"1": {"name" : "Заготовки", "data": {
"title" : "Отчет о поставках заготовок",
"write" : ["Менеджер"],
"read" : ["Менеджер", "Управляющий"],
"view" : "workpiece_report",
"procedure" : "report_workpiece_2"
}},
"2": {"name": "Поставщики", "data": {
"title" : "Отчет о поставках поставщиками",
"write" : ["Бухгалтер"],
"read" : ["Бухгалтер", "Управляющий"],
"view" : "sellers_report",
"procedure" : "report_sellers_2"
}}
}

View File

@@ -16,8 +16,8 @@
<form action="" method="post" onsubmit="return check_month({{ date_today.month }})">
<label for="category">Выберите предмет формирования отчета</label>
<select name="category" id="category" required>
{% for item in items %}
<option value="{{ item['id'] }}">{{ item['name'] }}</option>
{% for item in items.keys() %}
<option value="{{ item }}">{{ items[item]['name'] }}</option>
{% endfor %}
</select>