update the website code files, fix dns check for DKIM
This commit is contained in:
38
email_server/server_web_ui/dashboard.py
Normal file
38
email_server/server_web_ui/dashboard.py
Normal file
@@ -0,0 +1,38 @@
|
||||
"""
|
||||
Dashboard routes for the SMTP server web UI.
|
||||
|
||||
This module provides the main dashboard view and overview functionality.
|
||||
"""
|
||||
|
||||
from flask import render_template
|
||||
from email_server.models import Session, Domain, User, DKIMKey, EmailLog, AuthLog
|
||||
from email_server.tool_box import get_logger
|
||||
from .routes import email_bp
|
||||
|
||||
logger = get_logger()
|
||||
|
||||
# Dashboard and Main Routes
|
||||
@email_bp.route('/')
|
||||
def dashboard():
|
||||
"""Main dashboard showing overview of the email server."""
|
||||
session = Session()
|
||||
try:
|
||||
# Get counts
|
||||
domain_count = session.query(Domain).filter_by(is_active=True).count()
|
||||
user_count = session.query(User).filter_by(is_active=True).count()
|
||||
dkim_count = session.query(DKIMKey).filter_by(is_active=True).count()
|
||||
|
||||
# Get recent email logs
|
||||
recent_emails = session.query(EmailLog).order_by(EmailLog.created_at.desc()).limit(10).all()
|
||||
|
||||
# Get recent auth logs
|
||||
recent_auths = session.query(AuthLog).order_by(AuthLog.created_at.desc()).limit(10).all()
|
||||
|
||||
return render_template('dashboard.html',
|
||||
domain_count=domain_count,
|
||||
user_count=user_count,
|
||||
dkim_count=dkim_count,
|
||||
recent_emails=recent_emails,
|
||||
recent_auths=recent_auths)
|
||||
finally:
|
||||
session.close()
|
||||
Reference in New Issue
Block a user