Added events system

This commit is contained in:
2025-05-29 14:27:15 +02:00
parent 3174f8fa5b
commit f00d569db3
24 changed files with 1186 additions and 114 deletions

View File

@@ -2,6 +2,8 @@ from flask import render_template, request, flash, redirect, url_for
from flask_login import login_user, logout_user, login_required, current_user
from models import db, User
from functools import wraps
from utils.event_logger import log_event
from models import EventType
def require_password_change(f):
@wraps(f)
@@ -31,6 +33,13 @@ def init_routes(auth_bp):
login_user(user, remember=remember)
# Log successful login
log_event(
event_type=EventType.USER_LOGIN,
user_id=user.id,
details={'remember': remember}
)
# Check if user is using default password
if password == 'changeme':
flash('Please change your password before continuing.', 'warning')
@@ -69,6 +78,13 @@ def init_routes(auth_bp):
db.session.add(new_user)
db.session.commit()
# Log user creation
log_event(
event_type=EventType.USER_CREATE,
user_id=new_user.id,
details={'email': email, 'username': username}
)
login_user(new_user)
return redirect(url_for('main.dashboard'))
@@ -77,6 +93,11 @@ def init_routes(auth_bp):
@auth_bp.route('/logout')
@login_required
def logout():
# Log logout before actually logging out
log_event(
event_type=EventType.USER_LOGOUT,
user_id=current_user.id
)
logout_user()
return redirect(url_for('auth.login'))
@@ -98,6 +119,14 @@ def init_routes(auth_bp):
current_user.set_password(new_password)
db.session.commit()
# Log password change
log_event(
event_type=EventType.USER_UPDATE,
user_id=current_user.id,
details={'action': 'password_change'}
)
flash('Password changed successfully!', 'success')
return redirect(url_for('main.dashboard'))