Initial commit: add compliance_checks table, per-check metadata on assets, and compliance audit trail
This commit is contained in:
35
app/routes/dashboard.py
Normal file
35
app/routes/dashboard.py
Normal file
@@ -0,0 +1,35 @@
|
||||
from flask import Blueprint, render_template
|
||||
from flask_login import login_required
|
||||
from app.models.user import User
|
||||
from app.models.asset import Asset
|
||||
from app.models.assignment import Assignment
|
||||
from app.models.paperwork import Paperwork
|
||||
|
||||
bp = Blueprint('dashboard', __name__)
|
||||
|
||||
|
||||
@bp.route('/')
|
||||
@login_required
|
||||
def index():
|
||||
stats = {
|
||||
'total_users': User.query.count(),
|
||||
'active_users': User.query.filter_by(is_active=True, is_masked=False).count(),
|
||||
'masked_users': User.query.filter_by(is_masked=True).count(),
|
||||
'total_assets': Asset.query.count(),
|
||||
'available_assets': Asset.query.filter_by(status='available').count(),
|
||||
'assigned_assets': Asset.query.filter_by(status='assigned').count(),
|
||||
'maintenance_assets': Asset.query.filter_by(status='maintenance').count(),
|
||||
'active_assignments': Assignment.query.filter_by(is_active=True).count(),
|
||||
'total_paperwork': Paperwork.query.count(),
|
||||
}
|
||||
|
||||
# Recent assignments
|
||||
recent_assignments = (
|
||||
Assignment.query
|
||||
.filter_by(is_active=True)
|
||||
.order_by(Assignment.created_at.desc())
|
||||
.limit(10)
|
||||
.all()
|
||||
)
|
||||
|
||||
return render_template('dashboard/index.html', stats=stats, recent_assignments=recent_assignments)
|
||||
Reference in New Issue
Block a user