Skip to content
Snippets Groups Projects

Issue #3276204 by bluegeek9: Periodic orphaned accounts update mechanism does...

Files
3
@@ -370,6 +370,8 @@ final class LdapUserAdminForm extends ConfigFormBase implements LdapUserAttribut
'#value' => 'Save',
];
$this->checkOrphanes($config);
return $form;
}
@@ -397,7 +399,6 @@ final class LdapUserAdminForm extends ConfigFormBase implements LdapUserAttribut
->set('acctCreation', $form_state->getValue('acctCreation'))
->set('disableAdminPasswordField', $form_state->getValue('disableAdminPasswordField'))
->save();
$form_state->getValues();
$this->messenger()->addMessage($this->t('User synchronization configuration updated.'));
}
@@ -421,4 +422,32 @@ final class LdapUserAdminForm extends ConfigFormBase implements LdapUserAttribut
return $result;
}
/**
* Check orphanes.
*/
private function checkOrphanes($config) {
$server_id = $config->get('drupalAcctProvisionServer');
if (is_null($server_id)) {
return NULL;
}
if ($config->get('orphanedDrupalAcctBehavior') == 'ldap_user_orphan_do_not_check') {
return NULL;
}
/** @var \Drupal\ldap_servers\Entity\Server $server */
$server = $this->entityTypeManager->getStorage('ldap_server')->load($server_id);
if (is_null($server)) {
return NULL;
}
$unique_persistent_attr = $server->get('unique_persistent_attr');
if (!empty($unique_persistent_attr)) {
return NULL;
}
$this->messenger()->addWarning($this->t('Periodic orphaned accounts update mechanism requires the "Persistent and Unique User ID Attribute" to be set on the LDAP server configuration. Currently, it is not set on the server @server.',
['@server' => $server->toLink($server->label(), 'edit-form')->toString()]));
}
}
Loading