{% import 'macros/form.html' as form %}
{% macro help_text() %}
{% snippet 'scheming/form_snippets/help_text.html', field=field %}
{% endmacro %}
{% set selected = h.relationship_get_current_relations_list(field, data) %}
{% if not selected %}
{% set selected = request.args[field.field_name] %}
{% endif %}
{% set classes = ['control-full'] %}
{% if field.hidden_from_form %}
{% do classes.append('hidden') %}
{% endif %}
{% call form.input_block(
'field-' + field.field_name,
label=h.scheming_language_text(field.label),
classes=classes,
error=errors[field.field_name],
is_required=h.scheming_field_required(field),
extra_html=help_text()
) %}
{% set current_pkg_id = data.get('id', None) %}
{% set packages = h.relationship_get_entity_list(field.related_entity, field.related_entity_type) %}
{% set choices = [] %}
{% for pkg in packages %}
{% if pkg.id != current_pkg_id %}
{% do choices.append((pkg.id, pkg.get('title') or pkg.get('name'))) %}
{% endif %}
{% endfor %}
{% set choices = choices|sort(case_sensitive=false, attribute=1) %}
{% if not h.scheming_field_required(field) and not field.multiple %}
{% do choices.insert(0, ('', 'No relation')) %}
{% endif %}
{% endcall %}