{%- macro renderFieldValue(fieldValue, field) -%} {% import _self as AuditMacro %} {%- set type = null -%} {%- if fieldValue.type is defined -%} {%- set type = fieldValue.type -%} {%- endif -%} {%- if fieldValue.value is defined -%} {%- set fieldValue = fieldValue.value -%} {%- endif -%} {%- if fieldValue.timestamp is defined and type == 'date' -%} {{- fieldValue|oro_format_date -}} {%- elseif fieldValue.timestamp is defined and type in ['datetime', 'datetimetz'] -%} {{- fieldValue|oro_format_datetime -}} {%- elseif fieldValue.timestamp is defined and type == 'time' -%} {{- fieldValue|oro_format_time -}} {%- elseif type == 'array' or type == 'jsonarray' -%} {{- fieldValue is not null ? fieldValue|json_encode(constant('JSON_FORCE_OBJECT')) -}} {%- elseif type == 'boolean' or fieldValue is same as(true) or fieldValue is same as(false) -%} {{- fieldValue ? 'Yes'|trans : 'No'|trans -}} {%- else -%} {%- if fieldValue is iterable and fieldValue.entity_class is defined and fieldValue.entity_class is not empty -%} {{- 'oro.dataaudit.record'|trans({'%record%': oro_entity_config_value(fieldValue.entity_class, 'label')|trans, '%entity_name%': fieldValue.entity_name|default(fieldValue.entity_id|default('oro.ui.empty'|trans)) }) -}} {%- if fieldValue.change_set is defined and fieldValue.change_set is not empty -%}
{%- endif -%} {%- elseif fieldValue is iterable -%} {%- set result = [] -%} {%- for item in fieldValue -%} {%- set result = result|merge([AuditMacro.renderFieldValue(item)]) -%} {%- endfor -%} {{- result|join(', ')|raw -}} {%- else -%} {%- if field.translationDomain is defined -%} {{- fieldValue|trans({}, field.translationDomain)|default('') -}} {%- else -%} {{- fieldValue|default('') -}} {%- endif -%} {%- endif -%} {%- endif -%} {%- endmacro -%} {%- macro renderFieldName(objectClass, fieldKey, fieldValue) -%} {%- set fieldLabel = oro_field_config_value(fieldKey|split('::')|first, fieldKey|split('::')|last, 'label')|default(fieldKey) -%} {{- oro_field_config_value(objectClass, fieldKey, 'label')|default(fieldLabel)|trans({}, fieldValue.translationDomain|default('messages')) -}}: {%- endmacro -%} {%- macro renderCollection(objectClass, fieldKey, fieldValue, allowedDiffTypes) -%} {% import _self as AuditMacro %} {%- for diffType, diffValues in fieldValue.collectionDiffs -%} {%- if diffValues is not empty and diffType in allowedDiffTypes -%}
{%- for diffValue in diffValues -%} {%- set record = oro_entity_config_value(diffValue.entity_class, 'label') -%} {%- if record == record|trans -%} {%- set record = oro_field_config_value(fieldKey|split('::')|first, fieldKey|split('::')|last, 'label')|default(fieldKey) -%} {%- set record = oro_field_config_value(objectClass, fieldKey, 'label')|default(record)|trans({}, fieldValue.translationDomain|default('messages')) -%} {%- endif -%}
{{- ('oro.dataaudit.collection.' ~ diffType)|trans({'%record%': record|trans, '%entity_name%': diffValue.entity_name|trans|default('oro.ui.empty'|trans) }) -}} {%- if diffValue.change_set is not empty -%} :
{%- endif -%} {%- endfor -%}
{%- endif -%} {%- endfor -%} {%- endmacro -%}