{% macro dump(value, separator) %}
{%- import _self as helper -%}
{%- if value.label is defined -%}
{{- value.label -}}
{%- elseif value is iterable -%}
{%- for k, v in value -%}
{{- k }}: {{ helper.dump(v) }}{{ separator|default('
')|raw -}}
{%- endfor -%}
{%- elseif value is same as(true) -%}
true
{%- elseif value is same as(false) -%}
false
{%- else -%}
{{- value -}}
{%- endif -%}
{% endmacro dump %}
{% macro namespaceToParam(entity) %}
{{- entity|replace({'\\': '-'}) -}}
{% endmacro namespaceToParam %}
{% macro summarize(entity, entry) %}
{% import _self as helper %}
{% set diffs = entry.getDiffs() %}
{% if entry.getType() == 'insert' %}
{% set action = 'inserted' %}
{% elseif entry.getType() == 'update' %}
{% set action = 'updated' %}
{% elseif entry.getType() == 'remove' %}
{% set action = 'deleted' %}
{% set source = diffs %}
{% elseif entry.getType() == 'associate' %}
{% set action = 'associated' %}
{% set source = diffs.source %}
{% set target = diffs.target %}
{% elseif entry.getType() == 'dissociate' %}
{% set action = 'dissociated' %}
{% set source = diffs.source %}
{% set target = diffs.target %}
{% else %}
{% set action = 'unknown_action' %}
{% endif %}
{% set source_subject = entity ~ '#' ~ entry.getObjectId() %}
{% set source_label = '' %}
{% if source is defined and source is not null and source_subject != source.label %}
{% set source_label = '(' ~ source.label|trim ~ ')' %}
{% endif %}
{% set target_link = '' %}
{% set target_subject = '' %}
{% set target_label = '' %}
{% if target is defined and target is not null %}
{% set target_id = target.pkName is defined ? target[target.pkName] : target.id %}
{% set target_subject = target.class ~ '#' ~ target_id %}
{% set target_link = path('dh_auditor_show_entity_history', { 'entity': helper.namespaceToParam(target.class), 'id': target_id }) %}
{% if target_subject != target.label %}
{% set target_label = '(' ~ helper.dump(target)|trim ~ ')' %}
{% endif %}
{% endif %}
{{ ('audit.audit_details.summary.' ~ action)|trans({
'%source_link%': path('dh_auditor_show_entity_history', { 'entity': helper.namespaceToParam(entity), 'id': entry.getObjectId() }),
'%source%': source_subject|escape,
'%source_label%': source_label|escape,
'%target_link%': target_link|escape,
'%target%': target_subject|escape,
'%target_label%': target_label|escape,
'%user%': entry.getUsername() is null ? 'audit.audit_details.summary.unkown_user'|trans(domain='auditor') : entry.getUsername()|escape,
'%ip%': entry.getIp() is not empty ? ', IP: ' ~ entry.getIp() : '',
}, domain='auditor')|raw }}
{% endmacro %}
{% macro icon_type(value) %}
{%- if value == 'insert' -%}
{%- elseif value == 'update' -%}
{%- elseif value == 'remove' -%}
{%- elseif value == 'associate' -%}
{%- elseif value == 'dissociate' -%}
{# {{ '' }}#}
{%- endif -%}
{% endmacro %}
{% macro label_type(value) %}
{%- if value == 'insert' -%}
bg-green-400
{%- elseif value == 'update' -%}
bg-blue-400
{%- elseif value == 'remove' -%}
bg-red-400
{%- elseif value == 'associate' -%}
bg-yellow-400
{%- elseif value == 'dissociate' -%}
bg-red-300
{%- else -%}
bg-gray-400
{%- endif -%}
{% endmacro %}