Правка проверки на пользователя + корректировка содержаний модулей
This commit is contained in:
@@ -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'))
|
||||||
@@ -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()
|
||||||
@@ -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)
|
||||||
@@ -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
|
||||||
@@ -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"]
|
||||||
}
|
}
|
||||||
@@ -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>
|
|
||||||
@@ -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>
|
||||||
Reference in New Issue
Block a user