Telezab/frontend/dashboard.py

57 lines
1.4 KiB
Python

import logging
from flask import Blueprint, render_template, redirect, url_for, session
from sqlalchemy import create_engine
from config import DB_PATH
from utilities.database import db
from utilities.events_manager import EventManager
from utilities.region_manager import RegionManager
from utilities.system_manager import SystemManager
from utilities.users_manager import UserManager
from models import Users
from flask_login import logout_user, login_required
# Создаём Blueprint
bp_dashboard = Blueprint('dashboard', __name__, url_prefix='/telezab/')
db_engine = create_engine(f'sqlite:///{DB_PATH}')
region_manager = RegionManager()
user_manager = UserManager(db.session)
event_manager = EventManager(db)
system_manager = SystemManager()
# Роуты для отображения страниц
@bp_dashboard.route('/')
@login_required
def dashboard():
return render_template('index.html')
@bp_dashboard.route('/users')
@login_required
def users_page():
users = Users.query.all()
return render_template('users.html', user=users)
@bp_dashboard.route('/logs')
@login_required
def logs_page():
return render_template('logs.html')
@bp_dashboard.route('/regions')
@login_required
def regions_page():
return render_template('regions.html')
@bp_dashboard.route('/health')
def healthcheck():
pass
@bp_dashboard.route('/logout')
@login_required
def logout():
logout_user()
session.clear()
return redirect(url_for('auth.login'))