Правка проверки на пользователя + корректировка содержаний модулей

This commit is contained in:
2024-11-05 15:46:40 +03:00
parent cf4c1d2162
commit f9ea3c56cd
7 changed files with 20 additions and 35 deletions

View File

@@ -16,6 +16,7 @@ def auth():
'login': auth_data.result[0]['login'], 'login': auth_data.result[0]['login'],
'role': auth_data.result[0]['user_role'], 'role': auth_data.result[0]['user_role'],
'db_config': current_app.config['db_config'], 'db_config': current_app.config['db_config'],
'access_user': 'in' if 'internal' in data else 'ext',
'permanent': True 'permanent': True
}) })
return redirect(url_for('index')) return redirect(url_for('index'))

View File

@@ -1,6 +1,6 @@
from flask import request, Blueprint, render_template from flask import request, Blueprint, render_template
from os import path from os import path
from checker import check_auth, group_required from checker import check_auth
from .requests_model import sklad, get_goods, get_sellers, materials_per_seller from .requests_model import sklad, get_goods, get_sellers, materials_per_seller
from datetime import date from datetime import date
import json import json
@@ -12,14 +12,12 @@ requests_bp = Blueprint('requests_bp', __name__, template_folder='templates')
@requests_bp.route('/', methods=['GET', 'POST']) @requests_bp.route('/', methods=['GET', 'POST'])
@check_auth @check_auth
@group_required
def requests(): def requests():
if request.method == 'GET': if request.method == 'GET':
return render_template('zapros_menu.html', options=requests_list) 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 @check_auth
@group_required
def sklad_zapros(): def sklad_zapros():
if request.method == 'GET': if request.method == 'GET':
zagotovki = get_goods() zagotovki = get_goods()
@@ -39,7 +37,6 @@ def sklad_zapros():
# Под вопросом # Под вопросом
""" @requests_bp.route('/req2', methods=['GET', 'POST']) """ @requests_bp.route('/req2', methods=['GET', 'POST'])
@check_auth @check_auth
@group_required
def zagotovki_ship(): def zagotovki_ship():
if request.method == 'GET': if request.method == 'GET':
zagotovki = get_goods() zagotovki = get_goods()
@@ -58,7 +55,6 @@ def zagotovki_ship():
@requests_bp.route('/shipments', methods=['GET', 'POST']) @requests_bp.route('/shipments', methods=['GET', 'POST'])
@check_auth @check_auth
@group_required
def sellers_ship(): def sellers_ship():
if request.method == 'GET': if request.method == 'GET':
zagotovki = get_sellers() zagotovki = get_sellers()

View File

@@ -1,7 +1,6 @@
from flask import Flask, render_template, session from flask import Flask, render_template, session
from Requests.requests import requests_bp from Requests import requests_bp
from Auth.auth import auth_bp from Auth import auth_bp
from checker import check_auth
import os, json import os, json
app = Flask(__name__) app = Flask(__name__)
@@ -20,8 +19,7 @@ def index():
return render_template('main_menu.html', ses=session) return render_template('main_menu.html', ses=session)
@app.route('/logout') @app.route('/logout')
@check_auth
def logout(): def logout():
session.clear() session.clear()
return render_template('exit.html') return render_template('main_menu.html', ses=session)
app.run(port=5001, debug=True) app.run(port=5001, debug=True)

View File

@@ -7,12 +7,6 @@ def check_auth(func):
def wrapper(*args, **kwargs): def wrapper(*args, **kwargs):
if 'login' not in session: if 'login' not in session:
return redirect(url_for('auth_bp.auth')) return redirect(url_for('auth_bp.auth'))
return func(*args, **kwargs)
return wrapper
def group_required(func):
@wraps(func)
def wrapper(*args, **kwargs):
user_role = session.get('role') user_role = session.get('role')
user_request = request.endpoint user_request = request.endpoint
print('request_endpoint=', user_request) print('request_endpoint=', user_request)
@@ -22,5 +16,4 @@ def group_required(func):
return func(*args, **kwargs) return func(*args, **kwargs)
else: else:
return render_template('error.html', error_message='Недостаточно прав') return render_template('error.html', error_message='Недостаточно прав')
return wrapper return wrapper

View File

@@ -1,5 +1,5 @@
{ {
"manager": ["auth_bp", "requests_bp"], "manager": ["auth_bp", "requests_bp"],
"admin": ["auth_bp", "requests_bp"], "boss": ["auth_bp", "requests_bp"],
"sellers": ["auth_bp", "requests_bp"] "sellers": ["auth_bp", "requests_bp", "waybill_bp"]
} }

View File

@@ -1,12 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Успешно</title>
<link href="static/css/main.css" type="text/css" rel="stylesheet">
</head>
<body>
<h2>До свидания!</h2>
<a href="{{ url_for('index') }}"><button>На главную страницу</button></a>
</body>
</html>

View File

@@ -11,15 +11,24 @@
<a href="{{ url_for('logout') }}"><button>Выход</button></a> <a href="{{ url_for('logout') }}"><button>Выход</button></a>
</div> </div>
<h1>Здравствуйте, {{ ses['login'] }}!</h1> <h1>Здравствуйте, {{ ses['login'] }}!</h1>
{% if ses['access_user'] == 'in' %}
<!-- Not implemented -->
<nav class="menu">
<a href="{{ url_for('requests_bp.requests') }}"><button>Запросы</button></a>
</nav>
{% else %}
<nav class="menu">
<!-- Not implemented -->
<!-- <a href="{{ url_for('requests_bp.requests') }}"><button>Запросы</button></a> -->
<a href="{{ url_for('waybill_bp.waybill') }}"><button>Новая накладная</button></a>
</nav>
{% endif %}
{% else %} {% else %}
<div class="login"> <div class="login">
<a href="{{ url_for('auth_bp.auth') }}"><button>Авторизация</button></a> <a href="{{ url_for('auth_bp.auth') }}"><button>Авторизация</button></a>
</div> </div>
<h1>Здравствуйте!</h1> <h1>Здравствуйте!</h1>
<p>Для использования системы, пожалуйста, пройдите процедуру авторизации</p>
{% endif %} {% endif %}
<nav class="menu">
<a href="{{ url_for('requests_bp.requests') }}"><button>Запросы</button></a>
</nav>
</body> </body>
</html> </html>