{% macro renderDynamicFields(entity, entity_class) %} {% import 'OroUIBundle::macros.html.twig' as ui %} {% set dynamicFields = oro_get_dynamic_fields(entity, entity_class) %} {% if dynamicFields is defined and dynamicFields|length %} {% for fieldName, item in dynamicFields %} {% set hasLink = false %} {% set itemValue = item.value %} {% if itemValue is iterable %} {% set data = '' %} {% for value in itemValue.values %} {% if value.link is defined and value.link != false %} {% set hasLink = true %} {% set data = data ~ ui.renderUrl(value.link, value.title) %} {% else %} {% set data = data ~ value.title|escape %} {% endif %} {% if not loop.last %} {% set data = data ~ ', ' %} {% endif %} {% endfor %} {% set itemValue = data %} {% endif %} {% if item.type == 'text' %} {% set itemValue = itemValue|escape|nl2br %} {% elseif item.type == 'boolean' %} {% set itemValue = itemValue ? 'Yes'|trans : 'No'|trans %} {% elseif item.type == 'money' %} {% set itemValue = itemValue ? itemValue | oro_format_currency : null %} {% elseif item.type == 'percent' %} {% set itemValue = itemValue ? itemValue | oro_format_percent : null %} {% elseif item.type == 'date' %} {% set itemValue = itemValue ? itemValue | oro_format_date : null %} {% elseif item.type == 'datetime' %} {% set itemValue = itemValue ? itemValue | oro_format_datetime : null %} {% elseif item.type == 'file' %} {% set itemValue = oro_file_view(entity, fieldName, itemValue) %} {% elseif item.type == 'image' %} {% if entity_class is null %} {% set entityInfo = entity %} {% else %} {% set entityInfo = entity_class %} {% endif %} {% set itemValue = oro_image_view(entity, itemValue, entityInfo, fieldName) %} {% elseif not hasLink %} {% set itemValue = itemValue|escape %} {% endif %} {{ ui.renderHtmlProperty(item.label|trans, itemValue) }} {% endfor %} {% endif %} {% endmacro %}