{#- ---------------------------------------------------------------------------- Macro for rendering a form widget in default style. ----------------------------------------------------------------------------- #} {%- macro render_form_item_default(form_item, with_errors = True, placeholder = None) %}
{{ render_form_label_help(form_item) }} {{ form_item(placeholder=placeholder or '', **kwargs) }} {%- if with_errors %} {{ render_form_feedback(form_item, bound_to_input = True) }} {%- endif %}
{%- endmacro %} {#- ---------------------------------------------------------------------------- Macro for rendering a form select widget with selectpicker class. ----------------------------------------------------------------------------- #} {%- macro render_form_item_select(form_item, with_errors = True, empty_message=_('Nothing selected')) %}
{{ render_form_label_help(form_item) }} {{ form_item(**{'data-none-selected-text': empty_message}) }} {%- if with_errors %} {{ render_form_feedback(form_item, bound_to_input = True) }} {%- endif %}
{%- endmacro %} {#- ---------------------------------------------------------------------------- Macro for rendering a form widget with datetime selection class. ----------------------------------------------------------------------------- #} {%- macro render_form_item_datetime(form_item, ident, with_errors = True) %}
{{ render_form_label_help(form_item) }}
{{ form_item() }} {{ get_icon("calendar") }} {%- if with_errors %} {{ render_form_feedback(form_item, bound_to_input = True) }} {%- endif %}
{{ _('Note: Your selected timezone is "%(tz)s"', tz = session.timezone) | safe }}
{%- endmacro %} {#- ---------------------------------------------------------------------------- Macro for rendering a static form widget. ----------------------------------------------------------------------------- #} {%- macro render_form_item_static(form_item_label, form_item_value) %}

{{ form_item_value }}

{%- endmacro %} {#- ---------------------------------------------------------------------------- Macro for rendering a radio button form widget. ----------------------------------------------------------------------------- #} {%- macro render_form_item_radiobutton(form_item, with_errors = True, equally_big = False) %}
{{ render_form_label_help(form_item) }}
{%- for subfield in form_item %} {{ subfield(class_='btn-check') }} {{ subfield.label(class_='btn btn-outline-secondary' + (' w-100' if equally_big else '')) }} {%- endfor %}
{%- if with_errors %} {{ render_form_feedback(form_item, bound_to_input = True) }} {%- endif %}
{%- endmacro %} {#- ---------------------------------------------------------------------------- Macro for rendering a form field with a ransack query. ----------------------------------------------------------------------------- #} {%- macro render_form_item_ransack(form_item, with_errors = True, placeholder = None) %}
{%- call render_form_label_help_html(form_item) %}

{{ _('For more in-depth information about the syntax, please study the official documentation webpage.', url = 'https://ransack-125e0a.gitlab-pages.cesnet.cz/language.html') }}

{%- endcall %}
{{ form_item(class_='form-control monaco-hidden-input' + (' is-invalid' if with_errors and form_item.errors else ''), placeholder=placeholder, hidden=true, **kwargs) }}
{{ render_form_feedback(form_item, true) }}
{%- endmacro %} {#- ---------------------------------------------------------------------------- Macro for rendering a list of errors associated with given form widget. ----------------------------------------------------------------------------- #} {%- macro render_form_feedback(field, bound_to_input=false) %} {%- if field.errors %} {%- for err in field.errors %} {{ get_icon("form-error") }} {{ err }} {%- if not bound_to_input and not loop.last %}
{%- endif %} {%- endfor %} {%- elif field.warnings %} {%- for warn in field.warnings %} {{ get_icon("form-warning") }} {{ warn }} {%- if not bound_to_input and not loop.last %}
{%- endif %} {%- endfor %} {%- endif %} {%- endmacro %} {%- macro render_form_feedback_labeled(item, bound_to_input=false) %} {%- if item.errors %} {%- for err in item.errors %}
{{ get_icon("form-error") }} {{ item.label.text }} {{ err }}
{%- endfor %} {%- elif item.warnings %} {%- for warn in item.warnings %}
{{ get_icon("form-warning") }} {{ item.label.text }} {{ warn }}
{%- endfor %} {%- endif %} {%- endmacro %} {#- ---------------------------------------------------------------------------- Macro for rendering a label with given form widget. ----------------------------------------------------------------------------- #} {%- macro render_form_label_help(item, icon='', placement = 'top') %}
{{ icon }} {%- if item.description %}
{{ get_icon("help") }}

{{ get_icon("help") }} {{ item.label.text }}

{{ item.description | safe }}

{%- endif %} {{ item.label(class='form-label') }} {%- if item.flags.required %} *{% endif %}
{%- endmacro %} {%- macro render_form_label_help_html(item, icon='', placement = 'top') %}
{{ icon }}
{{ get_icon("help") }}

{{ get_icon("help") }} {{ item.label.text }}

{%- if item.description %}

{{ item.description | safe }}

{%- endif %} {{ caller() }} {%- if hawat_current_view.has_help %}

{{ macros_page.render_help_link(icon = 'reference', text = _('more help'), tooltip_text = '') }}

{%- endif %}
{{ item.label(class_='form-label') }} {%- if item.flags.required %} *{% endif %}
{%- endmacro %} {%- macro render_help_idea_reference() %}

{{ _('For more in-depth information about the IDEA event format please study official documentation webpage.', url = 'https://idea.cesnet.cz/en/definition') }}

{%- endmacro %} {%- macro render_help_datetime() %}

{{ _('User may change his/her timezone preferences in his/her account settings. Alternatively you may use unambiguous explicit UTC timestamps in the format YYYY-MM-DDThh:mm:ssZ. UTC timestamps are particularly usefull for pre-generated URLs, that are independent of the user preferences.', url = url_for('users.me')) }}

{%- endmacro %} {%- macro render_help_currenttz() %}
{{ _('Note: Your selected timezone is "%(tz)s"', tz = session.timezone) | safe }}
{%- endmacro %}