31 lines
1.1 KiB
Python
31 lines
1.1 KiB
Python
from flask import Blueprint, render_template, request, current_app
|
|
from flask_login import login_required
|
|
from app.models.audit_log import AuditLog
|
|
|
|
bp = Blueprint('audit', __name__, url_prefix='/audit')
|
|
|
|
|
|
@bp.route('/')
|
|
@login_required
|
|
def index():
|
|
page = request.args.get('page', 1, type=int)
|
|
table_filter = request.args.get('table', '')
|
|
action_filter = request.args.get('action', '')
|
|
|
|
query = AuditLog.query
|
|
if table_filter:
|
|
query = query.filter_by(table_name=table_filter)
|
|
if action_filter:
|
|
query = query.filter_by(action=action_filter)
|
|
|
|
pagination = query.order_by(AuditLog.performed_at.desc()).paginate(
|
|
page=page, per_page=current_app.config['ITEMS_PER_PAGE'], error_out=False
|
|
)
|
|
tables = ['users', 'assets', 'assignments', 'paperwork']
|
|
actions = ['create', 'update', 'delete', 'mask', 'assign', 'return', 'import']
|
|
return render_template('audit/index.html',
|
|
pagination=pagination,
|
|
table_filter=table_filter,
|
|
action_filter=action_filter,
|
|
tables=tables, actions=actions)
|