Configurações LDAP *.settings migradas para hook_install().

Simple configs já criadas pelas dependências são agora aplicadas
programaticamente via hook_install(), evitando conflito ao importar
via config/install.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-26 08:30:50 -03:00
parent af705fa01e
commit 6dcb1195eb
11 changed files with 124 additions and 92 deletions

124
base_site_config.install Normal file
View File

@@ -0,0 +1,124 @@
<?php
/**
* @file
* Install, update and uninstall functions for the Base Site Config module.
*/
/**
* Implements hook_install().
*
* Aplica programaticamente as configurações dos módulos LDAP que já existem
* na configuração ativa após a instalação das dependências, evitando o erro
* de conflito ao importar via config/install.
*/
function base_site_config_install() {
$config_factory = \Drupal::configFactory();
// authorization.settings
$config_factory->getEditable('authorization.settings')
->set('authorization_message', TRUE)
->save();
// ldap_servers.settings
$config_factory->getEditable('ldap_servers.settings')
->set('watchdog_detail', TRUE)
->save();
// ldap_authentication.settings
$config_factory->getEditable('ldap_authentication.settings')
->set('sids', [
'ads1_ime_unicamp_br' => 'ads1_ime_unicamp_br',
'ldap_ime_unicamp_br' => '0',
])
->set('authenticationMode', 'mixed')
->set('loginUIUsernameTxt', '')
->set('loginUIPasswordTxt', '')
->set('ldapUserHelpLinkUrl', '')
->set('ldapUserHelpLinkText', '')
->set('emailOption', 'disable')
->set('emailUpdate', 'update_notify')
->set('emailTemplateHandling', 'none')
->set('emailTemplate', '@username@example.com')
->set('emailTemplateUsageResolveConflict', FALSE)
->set('emailTemplateUsageNeverUpdate', FALSE)
->set('emailTemplateUsagePromptUser', FALSE)
->set('emailTemplateUsageRedirectOnLogin', FALSE)
->set('emailTemplateUsagePromptRegex', '.*@example\.com')
->set('passwordOption', 'hide')
->set('allowOnlyIfTextInDn', [])
->set('excludeIfTextInDn', [])
->set('excludeIfNoAuthorizations', FALSE)
->set('skipAdministrators', TRUE)
->save();
// ldap_user.settings
$config_factory->getEditable('ldap_user.settings')
->set('drupalAcctProvisionServer', 'ldap_ime_unicamp_br')
->set('ldapEntryProvisionServer', 'ldap_ime_unicamp_br')
->set('drupalAcctProvisionTriggers', ['drupal_on_update_create'])
->set('ldapEntryProvisionTriggers', [])
->set('orphanedIncludeDisabledUsers', TRUE)
->set('orphanedDrupalAcctBehavior', 'user_cancel_delete')
->set('orphanedDrupalAcctReportingInbox', '')
->set('orphanedCheckQty', 100)
->set('orphanedAccountCheckInterval', 'always')
->set('userConflictResolve', 'resolve')
->set('manualAccountConflict', 'conflict_associate')
->set('acctCreation', 'ldap_behavior')
->set('disableAdminPasswordField', FALSE)
->set('userUpdateCronQuery', 'people_sync')
->set('userUpdateCronInterval', 'always')
->set('userUpdateOnly', FALSE)
->set('ldapUserSyncMappings', [
'drupal' => [
'field-preferred_langcode' => [
'ldap_attr' => '[preferredLanguage]',
'user_attr' => '[field.preferred_langcode]',
'convert' => FALSE,
'user_tokens' => '',
'config_module' => 'ldap_user',
'prov_module' => 'ldap_user',
'prov_events' => ['create_drupal_user', 'sync_to_drupal_user'],
],
'field-field_user_category' => [
'ldap_attr' => '[employeeType]',
'user_attr' => '[field.field_user_category]',
'convert' => FALSE,
'user_tokens' => '',
'config_module' => 'ldap_user',
'prov_module' => 'ldap_user',
'prov_events' => ['create_drupal_user', 'sync_to_drupal_user'],
],
'field-field_user_dept_code' => [
'ldap_attr' => '[departmentNumber]',
'user_attr' => '[field.field_user_dept_code]',
'convert' => FALSE,
'user_tokens' => '',
'config_module' => 'ldap_user',
'prov_module' => 'ldap_user',
'prov_events' => ['create_drupal_user', 'sync_to_drupal_user'],
],
'field-field_user_name' => [
'ldap_attr' => '[displayName]',
'user_attr' => '[field.field_user_name]',
'convert' => FALSE,
'user_tokens' => '',
'config_module' => 'ldap_user',
'prov_module' => 'ldap_user',
'prov_events' => ['create_drupal_user'],
],
'field-field_user_work_phone' => [
'ldap_attr' => '[telephoneNumber]',
'user_attr' => '[field.field_user_work_phone]',
'convert' => FALSE,
'user_tokens' => '',
'config_module' => 'ldap_user',
'prov_module' => 'ldap_user',
'prov_events' => [],
],
],
'ldap' => [],
])
->save();
}

View File

@@ -1 +0,0 @@
authorization_message: true

View File

@@ -1,23 +0,0 @@
langcode: en
sids:
ads1_ime_unicamp_br: ads1_ime_unicamp_br
ldap_ime_unicamp_br: '0'
authenticationMode: mixed
loginUIUsernameTxt: ''
loginUIPasswordTxt: ''
ldapUserHelpLinkUrl: ''
ldapUserHelpLinkText: ''
emailOption: disable
emailUpdate: update_notify
emailTemplateHandling: none
emailTemplate: '@username@example.com'
emailTemplateUsageResolveConflict: false
emailTemplateUsageNeverUpdate: false
emailTemplateUsagePromptUser: false
emailTemplateUsageRedirectOnLogin: false
emailTemplateUsagePromptRegex: '.*@example\.com'
passwordOption: hide
allowOnlyIfTextInDn: { }
excludeIfTextInDn: { }
excludeIfNoAuthorizations: false
skipAdministrators: true

View File

@@ -1 +0,0 @@
watchdog_detail: true

View File

@@ -1,67 +0,0 @@
drupalAcctProvisionServer: ldap_ime_unicamp_br
ldapEntryProvisionServer: ldap_ime_unicamp_br
drupalAcctProvisionTriggers:
- drupal_on_update_create
ldapEntryProvisionTriggers: { }
orphanedIncludeDisabledUsers: true
orphanedDrupalAcctBehavior: user_cancel_delete
orphanedDrupalAcctReportingInbox: ''
orphanedCheckQty: 100
orphanedAccountCheckInterval: always
userConflictResolve: resolve
manualAccountConflict: conflict_associate
acctCreation: ldap_behavior
disableAdminPasswordField: false
userUpdateCronQuery: people_sync
userUpdateCronInterval: always
userUpdateOnly: false
ldapUserSyncMappings:
drupal:
field-preferred_langcode:
ldap_attr: '[preferredLanguage]'
user_attr: '[field.preferred_langcode]'
convert: false
user_tokens: ''
config_module: ldap_user
prov_module: ldap_user
prov_events:
- create_drupal_user
- sync_to_drupal_user
field-field_user_category:
ldap_attr: '[employeeType]'
user_attr: '[field.field_user_category]'
convert: false
user_tokens: ''
config_module: ldap_user
prov_module: ldap_user
prov_events:
- create_drupal_user
- sync_to_drupal_user
field-field_user_dept_code:
ldap_attr: '[departmentNumber]'
user_attr: '[field.field_user_dept_code]'
convert: false
user_tokens: ''
config_module: ldap_user
prov_module: ldap_user
prov_events:
- create_drupal_user
- sync_to_drupal_user
field-field_user_name:
ldap_attr: '[displayName]'
user_attr: '[field.field_user_name]'
convert: false
user_tokens: ''
config_module: ldap_user
prov_module: ldap_user
prov_events:
- create_drupal_user
field-field_user_work_phone:
ldap_attr: '[telephoneNumber]'
user_attr: '[field.field_user_work_phone]'
convert: false
user_tokens: ''
config_module: ldap_user
prov_module: ldap_user
prov_events: { }
ldap: { }