57 lines
1.4 KiB
Python
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')) |