Prevent crash if LDAP server URL wasn't filled

This commit is contained in:
Sylvain Berfini 2024-06-13 16:18:10 +02:00
parent 974e0cffc6
commit a858cffc82
3 changed files with 19 additions and 3 deletions

View file

@ -136,10 +136,24 @@ class LdapViewModel : GenericViewModel() {
fun addServer() {
coreContext.postOnCoreThread { core ->
try {
val server = serverUrl.value.orEmpty().trim()
if (server.isEmpty()) {
Log.e("$TAG Server field can't be empty!")
showRedToastEvent.postValue(
Event(
Pair(
R.string.settings_contacts_ldap_empty_server_error_toast,
R.drawable.warning_circle
)
)
)
return@postOnCoreThread
}
val ldapParams = core.createLdapParams()
ldapParams.enabled = true
ldapParams.server = serverUrl.value.orEmpty().trim()
ldapParams.server = server
ldapParams.bindDn = bindDn.value.orEmpty().trim()
ldapParams.password = password.value.orEmpty().trim()
ldapParams.authMethod = Ldap.AuthMethod.Simple

View file

@ -204,7 +204,7 @@
<string name="settings_contacts_carddav_sync_error_toast">Erreur de synchronization !</string>
<string name="settings_contacts_carddav_deleted_toast">Compte CardDAV supprimé</string>
<string name="settings_contacts_carddav_mandatory_field_not_filled_toast">Au moins un champ obligatoire n\'est pas rempli</string>
<string name="settings_contacts_ldap_server_url_title">URL du serveur</string>
<string name="settings_contacts_ldap_server_url_title">URL du serveur (ne peut être vide)</string>
<string name="settings_contacts_ldap_bind_dn_title">Bind DN</string>
<string name="settings_contacts_ldap_password_title">Mot de passe</string>
<string name="settings_contacts_ldap_use_tls_title">Utiliser TLS</string>
@ -218,6 +218,7 @@
<string name="settings_contacts_ldap_sip_attributes_title">Attributs SIP</string>
<string name="settings_contacts_ldap_sip_domain_title">Domaine SIP</string>
<string name="settings_contacts_ldap_error_toast">Une erreur s\'est produite, la configuration LDAP n\'a pas été sauvegardée !</string>
<string name="settings_contacts_ldap_empty_server_error_toast">L\'URL du serveur ne peut être vide</string>
<string name="settings_meetings_title">Réunions</string>
<string name="settings_meetings_default_layout_title">Disposition par défaut</string>
<string name="settings_meetings_layout_active_speaker_label">Intervenant actif</string>

View file

@ -240,7 +240,7 @@
<string name="settings_contacts_carddav_sync_error_toast">Synchronization error!</string>
<string name="settings_contacts_carddav_deleted_toast">CardDAV account removed</string>
<string name="settings_contacts_carddav_mandatory_field_not_filled_toast">At least one mandatory field wasn\'t filled</string>
<string name="settings_contacts_ldap_server_url_title">Server URL</string>
<string name="settings_contacts_ldap_server_url_title">Server URL (can\'t be empty)</string>
<string name="settings_contacts_ldap_bind_dn_title">Bind DN</string>
<string name="settings_contacts_ldap_password_title">Password</string>
<string name="settings_contacts_ldap_use_tls_title">Use TLS</string>
@ -254,6 +254,7 @@
<string name="settings_contacts_ldap_sip_attributes_title">SIP attributes</string>
<string name="settings_contacts_ldap_sip_domain_title">SIP domain</string>
<string name="settings_contacts_ldap_error_toast">A error occurred, LDAP server not saved!</string>
<string name="settings_contacts_ldap_empty_server_error_toast">Server URL can\'t be empty</string>
<string name="settings_meetings_title">Meetings</string>
<string name="settings_meetings_default_layout_title">Default layout</string>
<string name="settings_meetings_layout_active_speaker_label">Active speaker</string>