Attempt to look up template for each audit event type
This commit is contained in:
parent
5d9aeeefed
commit
d593f7577b
@ -1,6 +1,7 @@
|
||||
import re
|
||||
import datetime
|
||||
from flask import current_app as app
|
||||
from flask import current_app as app, render_template
|
||||
from jinja2.exceptions import TemplateNotFound
|
||||
|
||||
|
||||
def iconSvg(name):
|
||||
@ -86,6 +87,14 @@ def pageWindow(pagination, size=2):
|
||||
return (max(1, (page - size) - over), min(num_pages, (page + size) - under))
|
||||
|
||||
|
||||
def renderAuditEvent(event):
|
||||
template_name = 'audit_log/events/{}.html'.format(event.resource_type)
|
||||
try:
|
||||
return render_template(template_name, event=event)
|
||||
except TemplateNotFound:
|
||||
return render_template('audit_log/events/default.html', event=event)
|
||||
|
||||
|
||||
def register_filters(app):
|
||||
app.jinja_env.filters["iconSvg"] = iconSvg
|
||||
app.jinja_env.filters["dollars"] = dollars
|
||||
@ -98,3 +107,4 @@ def register_filters(app):
|
||||
app.jinja_env.filters["formattedDate"] = formattedDate
|
||||
app.jinja_env.filters["dateFromString"] = dateFromString
|
||||
app.jinja_env.filters["pageWindow"] = pageWindow
|
||||
app.jinja_env.filters["renderAuditEvent"] = renderAuditEvent
|
||||
|
@ -12,59 +12,9 @@
|
||||
<ul>
|
||||
{% for event in audit_events %}
|
||||
<li class="block-list__item">
|
||||
<article class='audit-log__item'>
|
||||
<div class='audit-log__item__timestamp'>
|
||||
<local-datetime timestamp='{{ event.time_created }}'></local-datetime>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h2 class='h4 audit-log__item__name'>
|
||||
{{ event.user.full_name if event.user else "ATAT System" }}
|
||||
</h2>
|
||||
{{ event.action }} {{ event.resource_type }} <code>{{ event.resource_id }}</code>
|
||||
{% if event.display_name %}
|
||||
({{ event.display_name }})
|
||||
{% endif %}
|
||||
|
||||
<br>
|
||||
|
||||
{% if event.event_details and event.resource_type == "user" %}
|
||||
for User <code>{{ event.event_details.updated_user_id }}</code> ({{ event.event_details.updated_user_name }})
|
||||
|
||||
{% if event.event_details["environment"] %}
|
||||
<br>
|
||||
in Environment <code>{{ event.event_details["environment_id"] }}</code> ({{ event.event_details["environment"] }})
|
||||
<br>
|
||||
in Project <code>{{ event.event_details["project_id"] }}</code> ({{ event.event_details["project"] }})
|
||||
<br>
|
||||
in Workspace <code>{{ event.event_details["workspace_id"] }}</code> ({{ event.event_details["workspace"] }})
|
||||
{% endif %}
|
||||
<br>
|
||||
|
||||
{% elif event.event_details and event.resource_type == "invitation" %}
|
||||
{% set accepted = event.changed_state.status and event.changed_state.status.1 == "ACCEPTED" %}
|
||||
{% if accepted %}
|
||||
accepted by {{ event.event_details.email }} (DOD <code>{{ event.event_details.dod_id }}</code>)
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% if event.changed_state and event.resource_type == 'environment_role' %}
|
||||
from {{ event.changed_state.role[0] }} to {{ event.changed_state.role[1] }}
|
||||
<br>
|
||||
{% endif %}
|
||||
|
||||
{% if event.workspace %}
|
||||
in Workspace <code>{{ event.workspace_id }}</code> ({{ event.workspace.name }})
|
||||
{% elif event.request %}
|
||||
on Request <code>{{ event.request_id }}</code> ({{ event.request.displayname }})
|
||||
{% endif %}
|
||||
|
||||
{% if event.changed_state.role %}
|
||||
from {{ event.changed_state.role[0] }} to {{ event.changed_state.role[1] }}
|
||||
<br>
|
||||
{% endif %}
|
||||
</div>
|
||||
</article>
|
||||
{% autoescape false %}
|
||||
{{ event | renderAuditEvent }}
|
||||
{% endautoescape %}
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
22
templates/audit_log/events/_base.html
Normal file
22
templates/audit_log/events/_base.html
Normal file
@ -0,0 +1,22 @@
|
||||
<article class='audit-log__item'>
|
||||
<div class='audit-log__item__timestamp'>
|
||||
<local-datetime timestamp='{{ event.time_created }}'></local-datetime>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
{% block header %}
|
||||
<h2 class='h4 audit-log__item__name'>
|
||||
{{ event.user.full_name if event.user else "ATAT System" }}
|
||||
</h2>
|
||||
{{ event.action }} {{ event.resource_type }} <code>{{ event.resource_id }}</code>
|
||||
{% if event.display_name %}
|
||||
({{ event.display_name }})
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
<br>
|
||||
|
||||
{% block content %}{% endblock %}
|
||||
</div>
|
||||
</article>
|
||||
|
39
templates/audit_log/events/default.html
Normal file
39
templates/audit_log/events/default.html
Normal file
@ -0,0 +1,39 @@
|
||||
{% extends "audit_log/events/_base.html" %}
|
||||
|
||||
{% block content %}
|
||||
{% if event.event_details and event.resource_type == "user" %}
|
||||
for User <code>{{ event.event_details.updated_user_id }}</code> ({{ event.event_details.updated_user_name }})
|
||||
|
||||
{% if event.event_details["environment"] %}
|
||||
<br>
|
||||
in Environment <code>{{ event.event_details["environment_id"] }}</code> ({{ event.event_details["environment"] }})
|
||||
<br>
|
||||
in Project <code>{{ event.event_details["project_id"] }}</code> ({{ event.event_details["project"] }})
|
||||
<br>
|
||||
in Workspace <code>{{ event.event_details["workspace_id"] }}</code> ({{ event.event_details["workspace"] }})
|
||||
{% endif %}
|
||||
<br>
|
||||
|
||||
{% elif event.event_details and event.resource_type == "invitation" %}
|
||||
{% set accepted = event.changed_state.status and event.changed_state.status.1 == "ACCEPTED" %}
|
||||
{% if accepted %}
|
||||
accepted by {{ event.event_details.email }} (DOD <code>{{ event.event_details.dod_id }}</code>)
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% if event.changed_state and event.resource_type == 'environment_role' %}
|
||||
from {{ event.changed_state.role[0] }} to {{ event.changed_state.role[1] }}
|
||||
<br>
|
||||
{% endif %}
|
||||
|
||||
{% if event.workspace %}
|
||||
in Workspace <code>{{ event.workspace_id }}</code> ({{ event.workspace.name }})
|
||||
{% elif event.request %}
|
||||
on Request <code>{{ event.request_id }}</code> ({{ event.request.displayname }})
|
||||
{% endif %}
|
||||
|
||||
{% if event.changed_state.role %}
|
||||
from {{ event.changed_state.role[0] }} to {{ event.changed_state.role[1] }}
|
||||
<br>
|
||||
{% endif %}
|
||||
{% endblock %}
|
Loading…
x
Reference in New Issue
Block a user