{% extends "layout.html" %} {% set backend = 'ldap' %} {% if form_mode == 'add' %} {% set url_action = url_for('.DirdSourceView:post') %} {% set submit_value = _('Add') %} {% set breadcrumb = { 'name': _('Add LDAP source'), 'icon': 'address-book' } %} {% else %} {% set url_action = url_for('.DirdSourceView:put', backend=backend, id=resource.uuid) %} {% set submit_value = _('Edit') %} {% set breadcrumb = { 'name': resource.name, 'link': url_for('.DirdSourceView:get', backend=backend, id=resource.uuid), 'icon': 'address-book' } %} {% endif %} {% block content_header %} {{ build_breadcrumbs(current_breadcrumbs + [breadcrumb]) }} {% endblock %} {% block content %} {% call build_section_row() %} {% call build_form_tabs_box() %} {% call build_tabs_navigation() %} {{ add_tab_navigation_item('ldap', _('LDAP'), active=True) }} {{ add_tab_navigation_item('first_matched_columns', _('First matched columns')) }} {{ add_tab_navigation_item('columns', _('Columns')) }} {{ add_tab_navigation_item('searched_columns', _('Search columns')) }} {% endcall %} {% call build_form(action=url_action) %} {% call build_tabs_content() %} {% call build_tab_content_item('ldap', active=True) %} {% call add_default_fields(form=form, submit_value=submit_value) %} {{ render_field(form.backend) }} {{ render_field(form.name) }} {{ render_field(form.ldap_config.ldap_base_dn) }} {{ render_field(form.ldap_config.custom_filter) }} {{ render_field(form.ldap_config.ldap_password) }} {{ render_field(form.ldap_config.ldap_uri) }} {{ render_field(form.ldap_config.ldap_username) }} {{ render_field(form.ldap_config.unique_column) }} {{ render_field(form.ldap_config.unique_column_format) }} {% endcall %} {% endcall %} {% call build_tab_content_item('first_matched_columns') %} {% call add_default_fields(form=form, submit_value=submit_value) %} {% call build_table() %} {% call build_table_headers() %} Value {% endcall %} {% call build_table_body(class_='dynamic-table') %} {% do form.ldap_config.first_matched_columns.append_entry() %} {{ _build_column_entry(form.ldap_config.first_matched_columns.pop_entry(), template=True) }} {% for column in form.ldap_config.first_matched_columns %} {{ _build_column_entry(column) }} {% endfor %} {% endcall %} {% endcall %} {{ build_add_row_entry_header() }} {% endcall %} {% endcall %} {% call build_tab_content_item('columns') %} {% call add_default_fields(form=form, submit_value=submit_value) %} {% call build_table() %} {% call build_table_headers() %} Name Value {% endcall %} {% call build_table_body(class_='dynamic-table') %} {% do form.ldap_config.format_columns.append_entry() %} {{ _build_column_value_entry(form.ldap_config.format_columns.pop_entry(), template=True) }} {% for column in form.ldap_config.format_columns %} {{ _build_column_value_entry(column) }} {% endfor %} {% endcall %} {% endcall %} {{ build_add_row_entry_header() }} {% endcall %} {% endcall %} {% call build_tab_content_item('searched_columns') %} {% call add_default_fields(form=form, submit_value=submit_value) %} {% call build_table() %} {% call build_table_headers() %} Name {% endcall %} {% call build_table_body(class_='dynamic-table') %} {% do form.ldap_config.searched_columns.append_entry() %} {{ _build_column_entry(form.ldap_config.searched_columns.pop_entry(), template=True) }} {% for column in form.ldap_config.searched_columns %} {{ _build_column_entry(column) }} {% endfor %} {% endcall %} {% endcall %} {{ build_add_row_entry_header() }} {% endcall %} {% endcall %} {% endcall %} {% endcall %} {% endcall %} {% endcall %} {% endblock %} {% macro _build_column_value_entry(option, template=False) %} {% if template %} {% set tr_class = "row-template hidden" %} {% else %} {% set tr_class = "row-line" %} {% endif %} {{ render_field(option.key, with_label=False) }} {{ render_field(option.value, with_label=False) }} {{ add_delete_entry_button() }} {% endmacro %} {% macro _build_column_entry(option, template=False) %} {% if template %} {% set tr_class = "row-template hidden" %} {% else %} {% set tr_class = "row-line" %} {% endif %} {{ render_field(option.value, with_label=False) }} {{ add_delete_entry_button() }} {% endmacro %}