misuzu/templates/settings/logs.twig

134 lines
5.9 KiB
Twig

{% extends 'settings/master.twig' %}
{% from 'macros.twig' import pagination %}
{% set alpagination = pagination(
audit_log_count,
audit_log_take,
audit_log_offset,
'?m=logs'|url_construct({'lo': login_attempts_offset}),
'settings__',
false,
'ao'
) %}
{% set lhpagination = pagination(
login_attempts_count,
login_attempts_take,
login_attempts_offset,
'?m=logs'|url_construct({'ao': audit_log_offset}),
'settings__',
false,
'lo'
) %}
{% block settings_content %}
<div class="container">
<div class="container__title">Login History</div>
<div class="settings__login-history">
<div class="settings__description">
<p>These are all the login attempts to your account. If any attempt that you don't recognise is marked as successful your account may be compromised, ask a staff member for advice in this case.</p>
</div>
{{ lhpagination }}
{% for attempt in user_login_attempts %}
<div class="settings__login-history__entry" id="attempt-{{ attempt.attempt_id }}">
<div class="settings__login-history__column settings__login-history__column--ip">
<div class="settings__login-history__column__name">
IP
</div>
<div class="settings__login-history__column__value">
{{ attempt.attempt_ip_decoded }}
{% if attempt.attempt_country != 'XX' %}
<div class="flag flag--{{ attempt.attempt_country|lower }} settings__login-history__country" title="{{ attempt.attempt_country|country_name }}"></div>
{% endif %}
</div>
</div>
<div class="settings__login-history__column settings__login-history__column--success">
<div class="settings__login-history__column__name">
Was Successful?
</div>
<div class="settings__login-history__column__value settings__login-history__column__value--{{ attempt.was_successful ? 'successful' : 'failed' }}">
{{ attempt.was_successful ? 'Yes' : 'No' }}
</div>
</div>
<div class="settings__login-history__column settings__login-history__column--created" title="{{ attempt.created_at|date('r') }}">
<div class="settings__login-history__column__name">
Attempted
</div>
<time class="settings__login-history__column__value" datetime="{{ attempt.created_at|date('c') }}">
{{ attempt.created_at|time_diff }}
</time>
</div>
{% if attempt.user_agent|length > 0 %}
<div class="settings__login-history__column settings__login-history__column--user_agent">
<div class="settings__login-history__column__name">
User Agent
</div>
<div class="settings__login-history__column__value">
{{ attempt.user_agent }}
</div>
</div>
{% endif %}
</div>
{% endfor %}
{{ lhpagination }}
</div>
</div>
<div class="container">
<div class="container__title">Account Log</div>
<div class="settings__log">
<div class="settings__description">
<p>This is a log of all "important" actions that have been done using your account for your review. If you notice anything strange, please alert the staff.</p>
</div>
{{ alpagination }}
{% for log in audit_logs %}
<div class="settings__log__entry" id="log-{{ log.log_id }}">
<div class="settings__log__column settings__login-history__column--ip">
<div class="settings__log__column__name">
IP
</div>
<div class="settings__log__column__value">
{{ log.log_ip }}
{% if log.log_country|default('XX') != 'XX' %}
<div class="flag flag--{{ log.log_country|lower }} settings__log__country" title="{{ log.log_country|country_name }}"></div>
{% endif %}
</div>
</div>
<div class="settings__log__column settings__log__column--date" title="{{ log.log_created|date('r') }}">
<div class="settings__log__column__name">
Date
</div>
<time class="settings__log__column__value" datetime="{{ log.log_created|date('c') }}">
{{ log.log_created|time_diff }}
</time>
</div>
<div class="settings__log__column settings__log__column--action">
<div class="settings__log__column__name">
Action
</div>
<div class="settings__log__column__value">
{% if log.log_action in log_strings|keys %}
{{ log_strings[log.log_action]|vsprintf(log.log_params|json_decode) }}
{% else %}
{{ log.log_action }}({{ log.log_params }})
{% endif %}
</div>
</div>
</div>
{% endfor %}
{{ alpagination }}
</div>
</div>
{% endblock %}