{# Auswahlfeld fuer eine Verzeichnisgruppe.

   Der DN einer AD-Gruppe ist nichts, was man abtippt: er ist lang, enthaelt
   Kommas und Leerzeichen und ein Tippfehler faellt erst bei der naechsten
   Anmeldung auf -- als stille Nicht-Zuordnung. Deshalb gesucht statt getippt.

   Das Suchergebnis kommt aus dem Verzeichnis selbst; die Felder werden dabei
   beide gefuellt (Anzeigename und DN). Getippt werden darf trotzdem: bei einer
   Umgebung ohne Dienstkonto ist die Suche nicht moeglich, und dann ist ein
   eingefuegter DN besser als gar keine Zuordnung.

   Erwartet: name_field, dn_field (Feldnamen), scope (eindeutiges Kuerzel),
   optional name_value / dn_value und required.
#}
{% macro group_picker(name_field, dn_field, scope, name_value='', dn_value='',
                      required=False, label='Verzeichnisgruppe') %}
  <div class="field field--full" data-behavior="group-picker"
       data-search-url="{{ url_for('hostsettings.directory_group_search') }}"
       data-name-target="#gp-name-{{ scope }}" data-dn-target="#gp-dn-{{ scope }}">
    <span class="field__label">{{ label }}</span>
    <div class="row row--tight">
      <input class="input" type="search" id="gp-query-{{ scope }}"
             placeholder="Gruppe suchen, z. B. GG_TESM ..." autocomplete="off"
             data-group-query>
      <button class="btn btn--sm" type="button" data-group-search>
        {{ icon('search', size=14) }} Suchen
      </button>
    </div>
    <div class="fs-xs faint mt-1" data-group-status></div>
    <div class="stack stack--tight mt-2" data-group-results hidden></div>

    <div class="form-grid mt-2">
      <label class="field">
        <span class="field__label">Name</span>
        <input class="input" type="text" id="gp-name-{{ scope }}" name="{{ name_field }}"
               value="{{ name_value }}" placeholder="GG_TESM_Betrieb" autocomplete="off">
      </label>
      <label class="field">
        <span class="field__label">DN{% if required %} <span class="req">*</span>{% endif %}</span>
        <input class="input input--mono fs-xs" type="text" id="gp-dn-{{ scope }}"
               name="{{ dn_field }}" value="{{ dn_value }}" {% if required %}required{% endif %}
               placeholder="CN=GG_TESM_Betrieb,OU=Gruppen,DC=firma,DC=local" autocomplete="off">
      </label>
    </div>
  </div>
{% endmacro %}
