<%#-- copyright OpenProject is an open source project management software. Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: Copyright (C) 2006-2013 Jean-Philippe Lang Copyright (C) 2010-2013 the ChiliProject Team This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. See COPYRIGHT and LICENSE files for more details. ++#%> <%# needs locals: f: labelled form builder %> <%= error_messages_for :ldap_auth_source %> <% if @ldap_auth_source.new_record? %>
<%= t('ldap_auth_sources.technical_warning_html') %>
<% end %> <% if @ldap_auth_source.seeded_from_env? %>
<%= t(:label_seeded_from_env_warning) %>
<%= link_to t('ldap_auth_sources.back_to_index'), { action: :index } %>
<% end %> <%= content_tag :fieldset, class: 'form--fieldset', disabled: @ldap_auth_source.seeded_from_env? do %>
<%= f.text_field 'name', required: true, container_class: '-middle' %> <%= t('ldap_auth_sources.attribute_texts.name') %>
<%= f.text_field 'host', required: true, container_class: '-middle' %> <%= t('ldap_auth_sources.attribute_texts.host') %>
<%= f.text_field 'port', required: true, size: 6, container_class: '-xslim' %>
<% end %> <%= content_tag :fieldset, class: 'form--fieldset', disabled: @ldap_auth_source.seeded_from_env? do %> <%= t('ldap_auth_sources.connection_encryption') %>

<%= t 'ldap_auth_sources.tls_mode.section_more_info_link_html', link: OpenProject::Static::Links[:ldap_encryption_documentation][:href] %>

<%= f.radio_button :tls_mode, 'start_tls', label: t('ldap_auth_sources.tls_mode.start_tls'), container_class: '-wide' %>

<%= t('ldap_auth_sources.tls_mode.start_tls_description') %>

<%= f.radio_button :tls_mode, 'simple_tls', label: t('ldap_auth_sources.tls_mode.simple_tls'), container_class: '-wide' %>

<%= t('ldap_auth_sources.tls_mode.simple_tls_description') %>

<%= f.radio_button :tls_mode, 'plain_ldap', label: t('ldap_auth_sources.tls_mode.plain'), container_class: '-wide' %>

<%= t('ldap_auth_sources.tls_mode.plain_description') %>

<% end %> <%= content_tag :fieldset, class: 'form--fieldset', disabled: @ldap_auth_source.seeded_from_env? do %> <%= t('ldap_auth_sources.connection_encryption') %>
<%= f.check_box :verify_peer, label: t('ldap_auth_sources.tls_options.verify_peer'), container_class: '-wide' %>

<%= t('ldap_auth_sources.tls_options.verify_peer_description_html') %>

<%= f.text_area :tls_certificate_string, label: LdapAuthSource.human_attribute_name(:tls_certificate_string), placeholder: "-----BEGIN CERTIFICATE-----\n ..... \n-----END CERTIFICATE-----", rows: 10, container_class: '-wide' %>

<%= t('ldap_auth_sources.tls_options.tls_certificate_description') %>

<% end %> <%= content_tag :fieldset, class: 'form--fieldset', disabled: @ldap_auth_source.seeded_from_env? do %> <%= t('ldap_auth_sources.system_account') %>

<%= t 'ldap_auth_sources.system_account_legend' %>

<%= f.text_field 'account', container_class: '-middle' %> <%= t('ldap_auth_sources.attribute_texts.system_user_dn_html') %>
<%= f.password_field 'account_password', label: LdapAuthSource.human_attribute_name(:password), placeholder: ((@ldap_auth_source.new_record? || @ldap_auth_source.account_password.blank?) ? '' : ('●' * 15)), autocomplete: 'off', container_class: '-middle' %> <%= t('ldap_auth_sources.attribute_texts.system_user_password') %>
<% end %> <%= content_tag :fieldset, class: 'form--fieldset', disabled: @ldap_auth_source.seeded_from_env? do %> <%= t('ldap_auth_sources.ldap_details') %>
<%= f.text_field :base_dn, size: 60, container_class: '-wide' %> <%= t('ldap_auth_sources.attribute_texts.base_dn') %>
<%= f.text_area :filter_string, rows: 10, placeholder: "#{t(:label_default)}: (objectClass=*)", container_class: '-wide' %>

<%= t('ldap_auth_sources.attribute_texts.filter_string') %>

<%= t('ldap_auth_sources.attribute_texts.filter_string_concat') %>

<%= f.check_box 'onthefly_register', label: LdapAuthSource.human_attribute_name(:onthefly) %>

<%= t('ldap_auth_sources.attribute_texts.onthefly_register') %>

<% end %> <%= content_tag :fieldset, class: 'form--fieldset', disabled: @ldap_auth_source.seeded_from_env? do %> <%= t('ldap_auth_sources.user_settings') %>

<%= t 'ldap_auth_sources.user_settings_legend' %>

<%= f.text_field 'attr_login', label: LdapAuthSource.human_attribute_name(:login), required: true, size: 20, placeholder: 'uid', container_class: '-middle' %> <%= t('ldap_auth_sources.attribute_texts.login_map') %>
<%= f.text_field 'attr_firstname', label: LdapAuthSource.human_attribute_name(:firstname), size: 20, placeholder: 'givenName', container_class: '-middle' %> <%= t('ldap_auth_sources.attribute_texts.generic_map', attribute: LdapAuthSource.human_attribute_name(:firstname)) %>
<%= f.text_field 'attr_lastname', label: LdapAuthSource.human_attribute_name(:lastname), size: 20, placeholder: 'sn', container_class: '-middle' %> <%= t('ldap_auth_sources.attribute_texts.generic_map', attribute: LdapAuthSource.human_attribute_name(:lastname)) %>
<%= f.text_field 'attr_mail', label: LdapAuthSource.human_attribute_name(:mail), size: 20, placeholder: 'mail', container_class: '-middle' %> <%= t('ldap_auth_sources.attribute_texts.generic_map', attribute: LdapAuthSource.human_attribute_name(:mail)) %>
<%= f.text_field 'attr_admin', label: LdapAuthSource.human_attribute_name(:admin), size: 20, container_class: '-middle' %> <%= t('ldap_auth_sources.attribute_texts.admin_map_html') %>
<% end %>