{# Get inputbox based on different column types (Foreign key, geometrical, enum) #} {% if foreigners and search_column_in_foreigners(foreigners, column_name) %} {% if foreign_data['disp_row'] is iterable %} {% elseif foreign_data['foreign_link'] == true %} {{ get_icon('b_browse', 'Browse foreign values'|trans) }} {% endif %} {% elseif column_type in get_gis_datatypes() %} {% if in_fbs %} {% set edit_str = get_icon('b_edit', 'Edit/Insert'|trans) %} {{ link_or_button(url('/gis-data-editor'), [], edit_str, [], '_blank') }} {% endif %} {% elseif column_type starts with 'enum' or (column_type starts with 'set' and in_zoom_search_edit) %} {% set in_zoom_search_edit = false %} {% set value = parse_enum_set_values(column_type) %} {% set cnt_value = value|length %} {# Enum in edit mode --> dropdown Enum in search mode --> multiselect Set in edit mode --> multiselect Set in search mode --> input (skipped here, so the 'else' section would handle it) #} {% if (column_type starts with 'enum' and not in_zoom_search_edit) or (column_type starts with 'set' and in_zoom_search_edit) %} {% endif %} {# Add select options #} {% for i in 0..cnt_value - 1 %} {% if criteria_values[column_index] is defined and criteria_values[column_index] is iterable and value[i] in criteria_values[column_index] %} {% else %} {% endif %} {% endfor %} {% else %} {% set the_class = 'textfield' %} {% if column_type == 'date' %} {% set the_class = the_class ~ ' datefield' %} {% elseif column_type == 'datetime' or column_type starts with 'timestamp' %} {% set the_class = the_class ~ ' datetimefield' %} {% elseif column_type starts with 'bit' %} {% set the_class = the_class ~ ' bit' %} {% endif %} {% endif %}