{% macro render_field_with_errors(field) %} {% set is_collapsible = kwargs['is_collapsible'] if 'is_collapsible' in kwargs else False %} {% if is_collapsible %} {% endif %} {% endmacro %} {% macro render_field(field) %}

{{ field(class="btn btn-primary", **kwargs)|safe }}

{% endmacro %} {% macro render_field_errors(field) %}

{% if field and field.errors %}

{% endif %}

{% endmacro %} {% macro render_event_organizer(organizer) %} {{ organizer.name }} {% endmacro %} {% macro render_location(location) %}{{ location | location_str }}{% endmacro %} {% macro render_place(place) %}{{ place | place_str }}{% endmacro %} {% macro render_events_sub_menu() %} {% endmacro %} {% macro render_location_card(location, place=None) %} {% if location %}

{{ location.street }}
{{ location.postalCode }} {{ location.city }}

{{ _('Show on Google Maps') }}

{% endif %} {% endmacro %} {% macro render_kv_begin() %}
{% endmacro %} {% macro render_kv_end() %}
{% endmacro %} {% macro render_kv_prop(prop, label_key = None) %} {% if prop %}
{{ _(label_key) }}
{% if prop|is_list %}{{ prop|join(', ') }}{% else %}{{ prop }}{% endif %}
{% endif %} {% endmacro %} {% macro render_string_prop(prop, icon = None, label_key = None) %} {% if prop %}
{% if icon %}{% endif %} {{ prop }}
{% endif %} {% endmacro %} {% macro render_int_prop(prop, icon = None, label_key = None) %} {% if prop %}
{% if icon %}{% endif %} {{ prop }}
{% endif %} {% endmacro %} {% macro render_bool_prop(prop, icon, label_key) %} {% if prop %}
{{ _(label_key) }}
{% endif %} {% endmacro %} {% macro render_enum_prop(prop, icon, label_key, ignore=0) %} {% if prop and prop.value > 0 and prop.value != ignore %}
{{ prop | loc_enum }}
{% endif %} {% endmacro %} {% macro render_range_prop(from, to, icon, label_key) %} {% if from or to %}
{{ from if from }} - {{ to if to }}
{% endif %} {% endmacro %} {% macro render_tag_prop(tags) %} {% if tags %}
{{ tags }}
{% endif %} {% endmacro %} {% macro render_link_prop(link) %} {% if link %}
{{ link }}
{% endif %} {% endmacro %} {% macro render_email_prop(email) %} {% if email %}
{{ email }}
{% endif %} {% endmacro %} {% macro render_event_status_pill(event) %} {% if event.status and event.status != 1 %} {{ event.status | loc_enum }} {% endif %} {% endmacro %} {% macro render_booked_up_pill(event) %} {% if event.booked_up %} {{ _('Booked up') }} {% endif %} {% endmacro %} {% macro render_public_status_pill(event) %} {% if event.public_status and event.public_status == 1 %} {{ _('PublicStatus.draft') }} {% endif %} {% endmacro %} {% macro render_attendance_mode_pill(event) %} {% if event.attendance_mode and event.attendance_mode.value != 1 %} {{ event.attendance_mode | loc_enum }} {% endif %} {% endmacro %} {% macro render_event_warning_pills(event) %} {{ render_public_status_pill(event) }} {{ render_event_status_pill(event) }} {{ render_booked_up_pill(event) }} {{ render_attendance_mode_pill(event) }} {% endmacro %} {% macro render_event_review_status_pill(event) %} {% if event.review_status %} {{ event.review_status | loc_enum }} {% endif %} {% endmacro %} {% macro render_reference_request_review_status_pill(reference_request) %} {% if reference_request.review_status %} {{ reference_request.review_status | loc_enum }} {% endif %} {% endmacro %} {% macro render_admin_unit_badges(admin_unit) %} {% if admin_unit.is_verified %}{% endif %} {% endmacro %} {% macro render_phone_prop(phone) %} {% if phone %}
{{ phone }}
{% endif %} {% endmacro %} {% macro render_fax_prop(fax) %} {% if fax %}
{{ fax }}
{% endif %} {% endmacro %} {% macro render_location_prop(location) %} {% if location and location.street or location.postalCode or location.city %}
{{ render_location(location) }}
{% endif %} {% endmacro %} {% macro render_img_src(image, size=500) %} {{ kwargs['alt'] or 'image' }} {% endmacro %} {% macro render_image(image, size=500) %} {% if image %} {% set img_class = kwargs.pop('class', '') %} {% set img_style = kwargs.pop('style', '') %} {% set img_class = img_class + ' figure-img img-fluid' %}
{{ render_img_src(image, size, class=img_class, style=img_style, **kwargs) }} {% if image.copyright_text %}
© {{ image.copyright_text }}
{% endif %}
{% endif %} {% endmacro %} {% macro render_logo(image) %} {{ render_image(image, 120, style="max-width:120px;", alt="Logo") }} {% endmacro %} {% macro render_event_review_status(event) %} {{ render_enum_prop(event.review_status, 'fa-certificate', 'Review status') }} {{ render_enum_prop(event.rejection_resaon, 'fa-search-minus', 'Rejection reason') }} {% endmacro %} {% macro render_reference_request_review_status(reference_request) %} {{ render_enum_prop(reference_request.review_status, 'fa-certificate', 'Review status') }} {{ render_enum_prop(reference_request.rejection_reason, 'fa-search-minus', 'Rejection reason') }} {% endmacro %} {% macro render_audit(tracking_mixing, show_user=False) %} {% set created_at = tracking_mixing.created_at | datetimeformat('short') %} {% set updated_at = tracking_mixing.updated_at | datetimeformat('short') %} {% if show_user %} {{ _('Created at %(created_at)s by %(created_by)s.', created_at=created_at, created_by=tracking_mixing.created_by.email) }} {% else %} {{ _('Created at %(created_at)s.', created_at=created_at) }} {% endif %} {% if created_at != updated_at %} {% if show_user %} {{ _('Last updated at %(updated_at)s by %(updated_by)s.', updated_at=updated_at, updated_by=tracking_mixing.updated_by.email) }} {% else %} {{ _('Last updated at %(updated_at)s.', updated_at=updated_at) }} {% endif %} {% endif %} {% endmacro %} {% macro render_audit_container(tracking_mixing, show_user=False) %}
{{ render_audit(tracking_mixing, show_user) }}
{% endmacro %} {% macro render_event_add_props(event) %} {{ render_string_prop(event.price_info, 'fa-euro-sign', 'Price info') }} {{ render_link_prop(event.external_link) }} {{ render_link_prop(event.ticket_link) }} {% if event.category %}
{% for category in event.categories %}{{ category | event_category_name }}{%if not loop.last %}, {% endif %}{% endfor %}
{% endif %} {{ render_tag_prop(event.tags) }} {{ render_bool_prop(event.kid_friendly, 'fa-child', 'Kid friendly') }} {{ render_bool_prop(event.accessible_for_free, 'fa-door-open', 'Accessible for free') }} {{ render_range_prop(event.age_from, event.age_to, 'fa-people-arrows', 'Typical Age range') }} {{ render_enum_prop(event.target_group_origin, 'fa-users', 'Target group origin', 1) }} {{ render_enum_prop(event.attendance_mode, 'fa-mouse-pointer', 'Attendance mode', 1) }} {{ render_bool_prop(event.registration_required, 'fa-list', 'Registration required') }} {{ render_bool_prop(event.booked_up, 'fa-square-full', 'Booked up') }} {{ render_int_prop(event.expected_participants, 'fa-users', 'Expected number of participants') }} {% endmacro %} {% macro render_event_props(event, start, end, allday, dates = None, show_rating = False, show_admin_unit = True, share_links=None, calendar_links=None) %}
{{ _('Event') }}
{{ event.name }}{{ render_event_warning_pills(event) }}
{{ render_event_date_with_dates_link(start, end, allday) }}
{{ render_enum_prop(event.status, 'fa-info-circle', 'Status', 1) }} {% if event.previous_start_date %}
{{ event.previous_start_date | datetimeformat('short') }}
{% endif %} {% if show_rating and event.rating and event.rating != 50 %} {{ render_string_prop("%d/10" % (event.rating/10), 'fa-adjust', 'Rating') }} {% endif %} {% if event.photo_id %}
{{ render_image(event.photo, 700) }}
{% endif %} {% if event.description %}
{{ event.description|urlize(nofollow=True, target='_blank', rel="nofollow") }}
{% endif %}
{{ render_event_add_props(event) }}
{% if share_links or calendar_links %}
{% if share_links %} {{ render_share_modal(share_links) }} {% endif %} {% if calendar_links %} {{ render_calendar_export_modal(calendar_links) }} {% endif %}
{% endif %}
{{ _('Place') }}
{% if event.event_place %}
{{ event.event_place.name }}
{% if event.event_place.photo_id %}
{{ render_image(event.event_place.photo, 300) }}
{% endif %} {% if event.event_place.description %}
{{ event.event_place.description }}
{% endif %}
{{ render_link_prop(event.event_place.url) }} {{ render_location_prop(event.event_place.location) }}
{% if event.attendance_mode and event.attendance_mode.value != 1 %}

{{ _('Show directions') }}

{% endif %} {% if event.attendance_mode and event.attendance_mode.value == 2 %}

{{ _('The event takes place online.') }}

{% elif event.attendance_mode and event.attendance_mode.value == 3 %}

{{ _('The event takes place both offline and online.') }}

{% endif %} {% endif %}
{% if event.organizer %}
{{ _('Organizer') }}
{{ render_event_props_organizer(event.organizer) }} {% for co_organizer in event.co_organizers %} 0 %} class="mt-4"{% endif %}> {{ render_event_props_organizer(co_organizer) }}
{% endfor %}
{% endif %} {% if show_admin_unit %}
{{ _('Organization') }}
{{ event.admin_unit.name }}{{ render_admin_unit_badges(event.admin_unit) }}
{% if event.admin_unit.logo_id %}
{{ render_logo(event.admin_unit.logo) }}
{% endif %}
{{ render_link_prop(event.admin_unit.url) }} {{ render_email_prop(event.admin_unit.email) }} {{ render_phone_prop(event.admin_unit.phone) }} {{ render_fax_prop(event.admin_unit.fax) }} {{ render_location_prop(event.admin_unit.location) }}
{% endif %} {% endmacro %} {% macro render_event_props_organizer(organizer) %}
{{ render_string_prop(organizer.name) }}
{% if organizer.logo_id %}
{{ render_logo(organizer.logo) }}
{% endif %} {{ render_link_prop(organizer.url) }} {{ render_email_prop(organizer.email) }} {{ render_phone_prop(organizer.phone) }} {{ render_fax_prop(organizer.fax) }} {% endmacro %} {% macro render_event_props_seo(event, start, end, allday, dates = None, show_rating = False, show_admin_unit = True, user_rights=None, share_links=None, calendar_links=None, current_user=None) %}
{% if event.photo_id %}
{{ render_image(event.photo, 700, class="mx-auto") }}
{% endif %}
{% if user_rights %}
{{ render_event_menu(user_rights, event) }}
{% endif %}
{{ render_event_date_with_dates_link(start, end, allday) }}

{{ event.name }}{{ render_event_warning_pills(event) }}

{{ event.event_place.name }}{% if event.event_place.location and event.event_place.location.city %}, {{ event.event_place.location.city }}{% endif %}

{{ _('Event') }}

{{ render_enum_prop(event.status, 'fa-info-circle', 'Status', 1) }} {% if event.previous_start_date %}
{{ event.previous_start_date | datetimeformat('short') }}
{% endif %} {% if show_rating and event.rating and event.rating != 50 %} {{ render_string_prop("%d/10" % (event.rating/10), 'fa-adjust', 'Rating') }} {% endif %}
{{ render_event_add_props(event) }}
{% if event.description %}
{{ event.description|urlize(nofollow=True, target='_blank', rel="nofollow") }}
{% endif %} {% if share_links or calendar_links or (current_user and current_user.is_authenticated) %}
{% if share_links %} {{ render_share_modal(share_links) }} {% endif %} {% if calendar_links %} {{ render_calendar_export_modal(calendar_links) }} {% endif %} {% if current_user and current_user.is_authenticated %} {% endif %}
{% endif %}
{{ render_audit(event, show_rating) }} {{ _('Report event') }}

{{ _('Place') }}

{% if event.event_place.photo_id %}
{{ render_image(event.event_place.photo, 240, class="img-thumbnail") }}
{% endif %}
{{ event.event_place.name }}
{% if event.event_place.description %}
{{ event.event_place.description }}
{% endif %} {{ render_link_prop(event.event_place.url) }} {{ render_location_prop(event.event_place.location) }} {% if event.attendance_mode and event.attendance_mode.value != 2 %} {% endif %} {% if event.attendance_mode and event.attendance_mode.value == 2 %}
{{ _('The event takes place online.') }}
{% elif event.attendance_mode and event.attendance_mode.value == 3 %}
{{ _('The event takes place both offline and online.') }}
{% endif %}
{% if event.organizer %}

{{ _('Organizer') }}

{{ render_event_props_seo_organizer(event.organizer) }} {% for co_organizer in event.co_organizers %} 0 %} class="mt-4"{% endif %}> {{ render_event_props_seo_organizer(co_organizer) }}
{% endfor %}
{% endif %} {% if show_admin_unit %}

{{ _('Organization') }}

{% if event.admin_unit.logo_id %}
{{ render_logo(event.admin_unit.logo) }}
{% endif %}
{{ event.admin_unit.name }} {{ render_admin_unit_badges(event.admin_unit) }}
{{ render_link_prop(event.admin_unit.url) }} {{ render_email_prop(event.admin_unit.email) }} {{ render_phone_prop(event.admin_unit.phone) }} {{ render_fax_prop(event.admin_unit.fax) }} {{ render_location_prop(event.admin_unit.location) }}
{% endif %} {% if dates and dates|length > 0 %}
{% for date in dates %} {{ render_event_date(date.start, date.end, date.allday) }} {% endfor %}
{% endif %}
{% endmacro %} {% macro render_event_props_seo_organizer(organizer) %}
{% if organizer.logo_id %}
{{ render_logo(organizer.logo) }}
{% endif %}
{{ render_string_prop(organizer.name) }}
{{ render_link_prop(organizer.url) }} {{ render_email_prop(organizer.email) }} {{ render_phone_prop(organizer.phone) }} {{ render_fax_prop(organizer.fax) }}
{% endmacro %} {% macro render_google_place_autocomplete_header() %} {% endmacro %} {% macro render_google_place_autocomplete_field(location_only = False) %}
{% endmacro %} {% macro render_google_filter_autocomplete_header() %} {% endmacro %} {% macro render_event_date_instance(instance, allday, dateModifier = 'short', timeModifier = 'short') %} {{ instance | dateformat(dateModifier) }}{% if not allday %} {{ instance | timeformat(timeModifier) }}{% endif %} {% endmacro %} {% macro render_event_date(start, end, allday) %} {% set start_date_str = start|dateformat('full') %} {{ start_date_str }}{% if not allday %} {{ start | timeformat('short') }}{% endif %} {% if end %} {% set end_date_str = end|dateformat('full') %} {% if end_date_str != start_date_str or not allday %} - {% endif %} {% if end_date_str != start_date_str %}{{ end_date_str }}{% endif %}{% if not allday %} {{ end | timeformat('short') }}{% endif %} {% endif %} {% endmacro %} {% macro render_event_date_with_dates_link(start, end, allday) %} {{ render_event_date(start, end, allday) }} {% if dates and dates|length > 1 %} | {{ _('%(count)d event dates', count=dates|length) }} {% endif %} {% endmacro %} {% macro render_event_date_in_list(event_date) %} {{ render_event_date_instance(event_date.start, event_date.allday) }} {% if event_date.recurrence_rule %} {% endif %} {% endmacro %} {% macro render_event_in_list(event) %} {{ render_event_date_instance(event.min_start_definition.start, event.min_start_definition.allday) }} {% if event.is_recurring %} {% endif %} {% endmacro %} {% macro render_pagination(pagination) %} {% if pagination['prev_url'] or pagination['next_url'] %} {% endif %} {% endmacro %} {% macro render_roles(roles) %} {% if roles %} {% for role in roles %}{{ _(role.title) }}{%if not loop.last %}, {% endif %}{% endfor %} {% endif %} {% endmacro %} {% macro render_email_button(url, title) %} {% endmacro %} {% macro render_radio_buttons(field) %} {% for subfield in field %}
{{ subfield(class="form-check-input") }} {{ subfield.label(class="form-check-label") }}
{% endfor %} {% endmacro %} {% macro render_event_dates_date_field(from_field, to_field) %}
{{ from_field.label.text }}
{{ from_field(**{"class":"form-control datepicker", "data-range-to":"#date_to"})|safe }}
{{ to_field.label.text }}
{{ to_field(class="form-control datepicker")|safe }}
{% endmacro %} {% macro render_event_dates_location_field(location_field, distance_field) %} {% if location_field %}
{{ location_field(class="form-control", placeholder='Ort', autocomplete="off")|safe }}
{{ distance_field.label.text }}
{{ distance_field(class="form-control")|safe }}
{% endif %} {% endmacro %} {% macro render_event_dates_filter_form(form) %}
{{ form.hidden_tag() }} {% if form.keyword %} {{ render_field_with_errors(form.keyword, formrow="1") }} {% endif %} {% if form.category_id %} {{ render_field_with_errors(form.category_id, formrow="1") }} {% endif %} {% if form.organizer_id %} {{ render_field_with_errors(form.organizer_id, formrow="1") }} {% endif %} {{ render_event_dates_date_field(form.date_from, form.date_to) }} {% if form.weekday and form.weekday.choices|length > 0 %} {{ render_field_with_errors(form.weekday, ri="multicheckbox", formrow="1") }} {% endif %} {{ render_event_dates_location_field(form.location, form.distance) }} {{ render_field(form.submit) }}
{% endmacro %} {% macro render_cropper_code(field_id = "photo", min_width=320, min_height=160) %} var field_id = "#{{ field_id }}-image_base64"; var inputImage = document.getElementById('photo-image_file'); var Cropper = window.Cropper; var URL = window.URL || window.webkitURL; var image = document.getElementById('photo-image'); var cropper = null; var crop_data = null; var minCroppedWidth = {{ min_width }}; var minCroppedHeight = {{ min_height }}; var uploadedImageURL; var photo_modal = $('#photo_modal'); if (URL) { inputImage.onchange = function () { $('.dropzone-wrapper').removeClass('dragover'); var files = this.files; var file; if (files && files.length) { file = files[0]; if (/^image\/\w+/.test(file.type)) { if (uploadedImageURL) { URL.revokeObjectURL(uploadedImageURL); } image.src = uploadedImageURL = URL.createObjectURL(file); inputImage.value = null; crop_data = null; photo_modal.modal(); } else { window.alert('Please choose an image file.'); } } }; photo_modal.on('shown.bs.modal', function () { cropper = new Cropper(image, { viewMode: 1, autoCropArea: 1.0, data: crop_data, ready() { var image_data = cropper.getImageData(); if (image_data.naturalWidth < minCroppedWidth || image_data.naturalHeight < minCroppedHeight) { window.alert('Die Auflösung ist zu gering. Mindestens ' + minCroppedWidth + 'x' + minCroppedHeight + 'px.'); photo_modal.modal('hide'); } }, crop: function (event) { var width = event.detail.width; var height = event.detail.height; if (width < minCroppedWidth || height < minCroppedHeight) { cropper.setData({ width: Math.max(minCroppedWidth, width), height: Math.max(minCroppedHeight, height), }); } } }); }).on('hidden.bs.modal', function () { cropper.destroy(); cropper = null; }); if ($('#photo_preview').attr("src")) { image.src = uploadedImageURL = $('#photo_preview').attr("src"); $('.hide-if-photo-exists').hide(); } else { $('.show-if-photo-exists').hide(); } $('#photo-edit-btn').click(function(e){ e.preventDefault(); photo_modal.modal(); }); $('#photo-delete-btn').click(function(e){ e.preventDefault(); $(field_id).val(''); $('#photo_preview').attr("src", ''); $('.show-if-photo-exists').hide(); $('.hide-if-photo-exists').show(); }); $('#photo-zoom-in').click(function(e){ e.preventDefault(); cropper.zoom(0.1); }); $('#photo-zoom-out').click(function(e){ e.preventDefault(); cropper.zoom(-0.1); }); $('#photo-rotate-left').click(function(e){ e.preventDefault(); cropper.rotate(-90); }); $('#photo-rotate-right').click(function(e){ e.preventDefault(); cropper.rotate(90); }); $('#photo-save-btn').click(function(e){ e.preventDefault(); photo_modal.modal('hide'); if (cropper) { var canvas = cropper.getCroppedCanvas({ maxWidth: 1200, maxHeight: 1200, fillColor: 'transparent' }); var data_url = canvas.toDataURL(); crop_data = cropper.getData(); $(field_id).val(data_url); $('#photo_preview').attr("src", data_url); $('.show-if-photo-exists').show(); $('.hide-if-photo-exists').hide(); } }); } else { inputImage.disabled = true; inputImage.parentNode.className += ' disabled'; } {% endmacro %} {% macro render_cropper_script(field_id = "photo", min_width=320, min_height=320) %} {% endmacro %} {% macro render_cropper_block(field_id = "photo", min_width=320, min_height=320) %} {{ render_cropper_header() }} {{ render_cropper_script(field_id, min_width, min_height) }} {% endmacro %} {% macro render_cropper_logo_block() %} {{ render_cropper_block("logo") }} {% endmacro %} {% macro render_crop_image_form(form_field) %} {{ form_field.hidden_tag() }}

{{ _('Choose image file') }}…

{{ render_field_with_errors(form_field.copyright_text) }} {% endmacro %} {% macro render_crop_image_form_section(form_field) %}
{{ form_field.label() }}
{% if form_field.description %}
{{ form_field.description }}
{% endif %} {{ render_crop_image_form(form_field) }}
{% endmacro %} {% macro render_event_menu(user_rights, event) %} {% if user_rights|any_dict_value_true %} {% endif %} {% endmacro %} {% macro render_jquery_steps_header() %} {% endmacro %} {% macro render_end_container_handling() %} $('#end-container').on('shown', function() { var end_moment = get_moment_with_time('#start'); if ($('#allday').is(':checked')) { end_moment = end_moment.endOf('day'); } else { end_moment = end_moment.add(3, 'hours'); } set_picker_date($('#end-user'), end_moment.toDate()); }); $('#end-container').on('hidden', function() { set_picker_date($('#end-user'), null); $('#allday').prop('checked', false).trigger("change"); }); $('#allday').on('change', function() { if (this.checked && !$("#end-container").is(":visible")) { showLink(null, $("#end-show-container a.show-link")); } }); {% endmacro %} {% macro render_cropper_header() %} {% endmacro %} {% macro render_event_suggestion(event_suggestion, hide_review_status=False) %}
{{ _('Event suggestion') }}
{% if event_suggestion.photo_id %}
{{ render_image(event_suggestion.photo, class='rounded', style='object-fit: cover; height: 20vh;') }}
{% elif event_suggestion.photo and event_suggestion.photo.image_base64 %}
{% endif %}
{{ render_event_date(event_suggestion.start, event_suggestion.end, event_suggestion.allday) }}
{{ event_suggestion.name }}
{{ event_suggestion.event_place.name or event_suggestion.event_place_text }}
{{ event_suggestion.organizer.name or event_suggestion.organizer_text }}
{{ render_link_prop(event_suggestion.external_link) }}
{{ event_suggestion.description }}
{{ render_event_add_props(event_suggestion) }}
{{ _('Contact') }}
{{ render_string_prop(event_suggestion.contact_name, 'fa-user') }} {{ render_email_prop(event_suggestion.contact_email) }} {{ render_phone_prop(event_suggestion.contact_phone) }}
{% if not hide_review_status %}
{{ _('Review status') }}
{{ render_event_review_status(event_suggestion) }}
{% endif %} {% endmacro %} {% macro render_widget_styles(styles) %} {% endmacro %} {% macro render_share_modal(share_links) %} {% endmacro %} {% macro render_calendar_export_modal(calendar_links) %} {% endmacro %} {% macro render_admin_unit_form_script(admin_unit=None) %} {% endmacro %} {% macro render_form_scripts() %} {% endmacro %} {% macro render_manage_form_scripts() %} {{ render_form_scripts() }} {% endmacro %} {% macro render_form_styles() %} {% endmacro %} {% macro render_manage_form_styles() %} {{ render_form_styles() }} {% endmacro %} {% macro render_event_date_defintion_code() %} $('.date-definition-container').eventcallyDateDefinition(); var min_date_definition_index = $(".date-definition-container").length; if (min_date_definition_index > 1) { $('.date-definition-container button.remove-date-defintion-btn').removeClass("d-none"); } $("#add-date-defintion-btn").click(function () { var template = $(".date-definition-template"); var template_prefix = template.attr('data-prefix'); var last_container = $(".date-definition-container:last"); var last_prefix = last_container.attr('data-prefix'); var new_index = Math.max(min_date_definition_index, $(".date-definition-container").length); min_date_definition_index++; var new_prefix = last_prefix.replace(/-(\d+)-$/g, function(match, number) { return '-' + new_index + '-'; }); var new_container = template.clone(); new_container.removeClass('date-definition-template'); new_container.removeClass('d-none'); new_container.addClass('date-definition-container'); new_container.attr('data-prefix', new_prefix); new_container.find("*").each(function() { var subelement = $(this); $.each(this.attributes, function(i, attrib) { subelement.attr(attrib.name, attrib.value.replace(template_prefix, new_prefix)); }); }); last_container.after(new_container); new_container.eventcallyDateDefinition(); if ($.find(".date-definition-container").length > 1) { $('.date-definition-container button.remove-date-defintion-btn').removeClass("d-none"); } return false; }); {% endmacro %} {% macro render_date_definition_container(date_definition, container_class="date-definition-container") %}
{{ date_definition.form.hidden_tag() }} {{ render_field_with_errors(date_definition.form.start, **{"data-range-to":"#"+date_definition.form.end.id, "data-range-max-days": "14", "data-allday": "#"+date_definition.form.allday.id}) }} {{ render_field_with_errors(date_definition.form.end, is_collapsible=1) }} {{ render_field_with_errors(date_definition.form.allday, ri="checkbox") }}
{{ render_field_with_errors(date_definition.form.recurrence_rule, label_hidden=True) }}
{% endmacro %} {% macro render_co_organizer_select2(admin_unit_id) %} $('#co_organizer_ids').select2({ width: '100%', ajax: { url: "{{ url_for('api_v1_organization_organizer_list', id=admin_unit_id) }}", dataType: 'json', delay: 250, cache: true, data: function (params) { return { name: params.term, per_page: 5 }; }, processResults: function (data) { return { results: data.items.map(p => ({"id": p.id, "text": p.name})) }; } }, placeholder: "{{ _('Enter organizer') }}" }); {% endmacro %} {% macro render_event_list_select2(admin_unit_id) %} $('#event_list_ids').select2({ width: '100%', ajax: { url: "{{ url_for('api_v1_organization_event_list_list', id=admin_unit_id) }}", dataType: 'json', delay: 250, cache: true, data: function (params) { return { name: params.term, per_page: 5 }; }, processResults: function (data) { return { results: data.items.map(p => ({"id": p.id, "text": p.name})) }; } }, placeholder: "{{ _('Enter list name') }}" }); {% endmacro %}