Edit LDAP: <%= @ldap.name %>

<%= javascript_tag do %> var ldapPresets = <%= raw @presets.to_json %>; function applyPreset(selectElement) { var preset = selectElement.value; if (preset && ldapPresets[preset]) { var config = ldapPresets[preset]; document.getElementById('auth_source_ldap_name').value = config.name; document.getElementById('auth_source_ldap_port').value = config.port; document.getElementById('auth_source_ldap_tls').checked = config.tls; document.getElementById('auth_source_ldap_base_dn').value = config.base_dn; document.getElementById('auth_source_ldap_filter').value = config.filter; document.getElementById('auth_source_ldap_attr_login').value = config.attr_login; document.getElementById('auth_source_ldap_attr_firstname').value = config.attr_firstname; document.getElementById('auth_source_ldap_attr_lastname').value = config.attr_lastname; document.getElementById('auth_source_ldap_attr_mail').value = config.attr_mail; } } function testLdapConnection() { var form = document.getElementById('ldap-form'); var formData = new FormData(form); var testBtn = document.getElementById('test-btn'); var resultDiv = document.getElementById('test-result'); testBtn.disabled = true; testBtn.value = 'Testing...'; resultDiv.innerHTML = ''; fetch('<%= url_for(controller: 'ldap_config', action: 'test_connection') %>', { method: 'POST', body: formData, headers: { 'X-CSRF-Token': document.querySelector('meta[name="csrf-token"]').content } }) .then(response => response.json()) .then(data => { testBtn.disabled = false; testBtn.value = 'Test Connection'; if (data.success) { resultDiv.innerHTML = '✔ ' + data.message + ''; } else { resultDiv.innerHTML = '✘ ' + data.message + ''; } }) .catch(error => { testBtn.disabled = false; testBtn.value = 'Test Connection'; resultDiv.innerHTML = 'Error: ' + error + ''; }); } <% end %> <%= form_for @ldap, url: ldap_config_update_path(@ldap), method: :patch, html: { id: 'ldap-form', class: 'tabular' } do |f| %> <%= render partial: 'ldap_form', locals: { f: f } %>

<%= f.submit 'Save', class: 'button-positive' %> <%= link_to 'Cancel', { controller: 'ldap_config', action: 'index' }, class: 'button' %>

<% end %>