Added tenant information to the session...

This commit is contained in:
Josako
2024-04-29 13:18:34 +02:00
parent 17766aedbd
commit 1956b8a29b
5 changed files with 13 additions and 22 deletions

View File

@@ -2,6 +2,7 @@ import logging
import os
from flask import Flask
from flask_security import SQLAlchemyUserDatastore
from flask_security.signals import user_authenticated
from werkzeug.middleware.proxy_fix import ProxyFix
import logging.config
@@ -9,9 +10,7 @@ from .extensions import db, migrate, bootstrap, security, mail, login_manager
from .models.user import User, Tenant, Role
from .models.document import Document, DocumentLanguage, DocumentVersion
from .logging_config import LOGGING
# from .context_processors import inject_user
# Create app
from .utils.security import set_tenant_session_data
def create_app(config_file=None):
@@ -33,8 +32,7 @@ def create_app(config_file=None):
# Setup Flask-Security-Too
user_datastore = SQLAlchemyUserDatastore(db, User, Role)
security.init_app(app, user_datastore)
# app.context_processor(inject_user)
user_authenticated.connect(set_tenant_session_data, app)
# Register Blueprints
register_blueprints(app)
@@ -45,13 +43,6 @@ def create_app(config_file=None):
mail_logger.setLevel(logging.DEBUG)
security_logger = logging.getLogger('flask_security')
security_logger.setLevel(logging.DEBUG)
# with app.app_context():
# mail.send_mail(
# subject="Dit is een debugging test",
# message="Die wordt enkel verzonden als de app in debug mode staat",
# from_email="eveai_super@flow-it.net",
# recipient_list=["eveai_super@flow-it.net"],
# )
# Register API
register_api(app)

View File

@@ -1,9 +0,0 @@
from flask_security import current_user
# def inject_user():
# if current_user:
# print("Injecting current_user: ", current_user)
# else:
# print("No user to inject")
# return {'current_user': current_user}

View File

@@ -0,0 +1,8 @@
from flask import session
from ..models.user import User, Tenant
# Definition of Trigger Handlers
def set_tenant_session_data(sender, user):
tenant = Tenant.query.filter_by(id=user.tenant_id).first()
session['tenant'] = tenant

View File

@@ -179,7 +179,8 @@ def select_tenant():
@roles_required('Super User')
def handle_tenant_selection():
tenant_id = request.form['tenant_id']
session['tenant_id'] = request.form['tenant_id']
the_tenant = Tenant.query.get(tenant_id)
session['tenant'] = the_tenant
action = request.form['action']
if action == 'view_users':