32 lines
1.1 KiB
Python
32 lines
1.1 KiB
Python
from flask import request, Blueprint, render_template, session, redirect, url_for
|
|
import os
|
|
from .auth_route import route
|
|
from Database.sql_provider import SQLProvider
|
|
import json
|
|
|
|
sql_provider = SQLProvider(os.path.join(os.path.dirname(__file__), 'sql'))
|
|
auth_bp = Blueprint('auth_bp', __name__, template_folder='templates')
|
|
db_config_path = os.path.join(os.path.dirname(__file__), os.pardir, 'Database/config.json')
|
|
|
|
with open(db_config_path) as f:
|
|
config = json.load(f)
|
|
|
|
@auth_bp.route('/', methods=['GET', 'POST'])
|
|
def auth():
|
|
if request.method == 'GET':
|
|
return render_template('auth.html')
|
|
else:
|
|
data = request.form.to_dict()
|
|
print(data)
|
|
auth_data = route(config, data, sql_provider, 'auth.sql')
|
|
if auth_data.status:
|
|
session.update({
|
|
'login': auth_data.result[0]['login'],
|
|
'role': auth_data.result[0]['role'],
|
|
'db_config': config,
|
|
'permanent': True
|
|
})
|
|
return redirect(url_for('index'))
|
|
else:
|
|
return render_template('error.html', error_message=auth_data.error_message)
|