{#- ---------------------------------------------------------------------------- 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(class_='form-control' + (' is-invalid' if with_errors and form_item.errors else ''), placeholder=placeholder, **kwargs) }} {%- if with_errors %} {%- for err in form_item.errors %} {{ get_icon('form-error') }} {{ err }}{%- if not loop.last %}
{%- endif %} {%- endfor %} {%- endif %}
{%- endmacro %} {#- ---------------------------------------------------------------------------- Macro for rendering a form select widget with selectpicker class. ----------------------------------------------------------------------------- #} {%- macro render_form_item_select(form_item, with_errors = True) %}
{{ render_form_label_help(form_item) }} {{ form_item(class_='form-control selectpicker' + (' is-invalid' if with_errors and form_item.errors else ''),**{'data-none-selected-text':_('Nothing selected')}) }} {%- if with_errors %} {%- for err in form_item.errors %} {{ get_icon('form-error') }} {{ err }}{%- if not loop.last %}
{%- endif %} {%- endfor %} {%- 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(class_='form-control' + (' is-invalid' if with_errors and form_item.errors else '')) }} {{ get_icon('calendar') }}
{{ _('Note: Your selected timezone is "%(tz)s"', tz = session.timezone) | safe }}
{%- if with_errors %} {%- for err in form_item.errors %} {{ get_icon('form-error') }} {{ err }}{%- if not loop.last %}
{%- endif %} {%- endfor %} {%- endif %}
{%- 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' + (' is-invalid' if with_errors and form_item.errors else '')) }} {{ subfield.label(class_='btn btn-outline-secondary' + (' w-100' if equally_big else '')) }} {%- endfor %}
{%- if with_errors %} {%- for err in form_item.errors %} {{ get_icon('form-error') }} {{ err }}{%- if not loop.last %}
{%- endif %} {%- endfor %} {%- endif %}
{%- endmacro %} {#- ---------------------------------------------------------------------------- Macro for rendering a list of errors associated with given form widget. ----------------------------------------------------------------------------- #} {%- macro render_form_errors(errors, bound_to_input=false) %} {%- if errors %} {%- for err in errors %} {{ get_icon('form-error') }} {{ err }}{%- if not loop.last %}
{%- endif %} {%- endfor %} {%- endif %} {%- endmacro %} {%- macro render_form_errors_labeled(item, bound_to_input=false) %} {%- if errors %} {%- for err in item.errors %}
{{ get_icon('form-error') }} {{ item.label.text }} {{ err }}
{%- 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') }}
{%- 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') }}
{%- 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 %}