diff options
author | Louis Chemineau <louis@chmn.me> | 2025-05-16 09:54:44 +0200 |
---|---|---|
committer | Louis Chemineau <louis@chmn.me> | 2025-05-16 09:54:44 +0200 |
commit | 590da08a7808a1be5a661fd7912dd0bab03dced8 (patch) | |
tree | c809e6b41c2b443376aef5dedf4149641f5577f7 | |
parent | 4e0be0d5e798d9e885103601d49be62847a09b5e (diff) | |
download | nextcloud-server-artonge/chore/ldap_wizard_rewrite.tar.gz nextcloud-server-artonge/chore/ldap_wizard_rewrite.zip |
Signed-off-by: Louis Chemineau <louis@chmn.me>
3 files changed, 46 insertions, 38 deletions
diff --git a/apps/user_ldap/src/components/SettingsTabs/GroupsTab.vue b/apps/user_ldap/src/components/SettingsTabs/GroupsTab.vue index 4091dcd1821..3276b80eb1b 100644 --- a/apps/user_ldap/src/components/SettingsTabs/GroupsTab.vue +++ b/apps/user_ldap/src/components/SettingsTabs/GroupsTab.vue @@ -92,30 +92,32 @@ function updateGroupFilterGroups(value: string[]) { watch(updatingConfig, async () => { if (shouldRequestLdapGroupFilter.value === true && updatingConfig.value === 0 && ldapConfig.value.ldapGroupFilterMode === '0') { - const response = await wizardStore.callWizardAction('getGroupFilter') - ldapConfig.value.ldapGroupFilter = response.changes.ldap_group_filter - shouldRequestLdapGroupFilter.value = false + getGroupFilter() } -}) +}, { immediate: true }) wizardStore.callWizardAction('determineGroupObjectClasses') - .then((response) => { groupObjectClasses.value = response.options.ldap_groupfilter_objectclass }) +.then((response) => { + groupObjectClasses.value = response.options.ldap_groupfilter_objectclass +}) wizardStore.callWizardAction('determineGroupsForGroups') - .then((response) => { groupGroups.value = response.options.ldap_groupfilter_groups }) +.then((response) => { + groupGroups.value = response.options.ldap_groupfilter_groups +}) + + +async function getGroupFilter() { + const response = await wizardStore.callWizardAction('getGroupFilter') + ldapConfig.value.ldapGroupFilter = response.changes.ldap_group_filter + shouldRequestLdapGroupFilter.value = false +} -/** - * - */ async function countGroups() { const { changes: { ldap_test_base: ldapTestBase } } = await wizardStore.callWizardAction('countGroups') groupsCount.value = ldapTestBase } -/** - * - * @param value - */ async function toggleFilterMode(value: boolean) { if (value) { ldapConfig.value.ldapGroupFilterMode = '1' @@ -123,6 +125,8 @@ async function toggleFilterMode(value: boolean) { ldapConfig.value.ldapGroupFilterMode = await showEnableAutomaticFilterInfo() } } + +getGroupFilter() </script> <style lang="scss" scoped> .ldap-wizard__groups { diff --git a/apps/user_ldap/src/components/SettingsTabs/LoginTab.vue b/apps/user_ldap/src/components/SettingsTabs/LoginTab.vue index c2de698bb34..83ce83f798c 100644 --- a/apps/user_ldap/src/components/SettingsTabs/LoginTab.vue +++ b/apps/user_ldap/src/components/SettingsTabs/LoginTab.vue @@ -108,15 +108,16 @@ const shouldRequestLdapLoginFilterMode = ref(false) watch(updatingConfig, async () => { if (shouldRequestLdapLoginFilterMode.value === true && updatingConfig.value === 0 && ldapConfig.value.ldapLoginFilterMode === '0') { - const response = await wizardStore.callWizardAction('getUserLoginFilter') - ldapConfig.value.ldapLoginFilter = response.changes.ldap_login_filter - shouldRequestLdapLoginFilterMode.value = false + getUserLoginFilter() } -}) +}, { immediate: true }) + +async function getUserLoginFilter() { + const response = await wizardStore.callWizardAction('getUserLoginFilter') + ldapConfig.value.ldapLoginFilter = response.changes.ldap_login_filter + shouldRequestLdapLoginFilterMode.value = false +} -/** - * - */ async function verifyLoginName() { try { const { changes: { ldap_test_loginname: testLoginName, ldap_test_effective_filter: testEffectiveFilter } } = await wizardStore.callWizardAction('testLoginName', { ldap_test_loginname: testUsername.value }) @@ -145,10 +146,6 @@ async function verifyLoginName() { } } -/** - * - * @param value - */ async function toggleFilterMode(value: boolean) { if (value) { ldapConfig.value.ldapLoginFilterMode = '1' @@ -156,6 +153,8 @@ async function toggleFilterMode(value: boolean) { ldapConfig.value.ldapLoginFilterMode = await showEnableAutomaticFilterInfo() } } + +getUserLoginFilter() </script> <style lang="scss" scoped> .ldap-wizard__login { diff --git a/apps/user_ldap/src/components/SettingsTabs/UsersTab.vue b/apps/user_ldap/src/components/SettingsTabs/UsersTab.vue index 851d4b105ee..0c938378319 100644 --- a/apps/user_ldap/src/components/SettingsTabs/UsersTab.vue +++ b/apps/user_ldap/src/components/SettingsTabs/UsersTab.vue @@ -104,30 +104,35 @@ function updateUserFilterGroups(value: string[]) { watch(updatingConfig, async () => { if (shouldRequestLdapUserFilter.value === true && updatingConfig.value === 0 && ldapConfig.value.ldapUserFilterMode === '0') { - const response = await wizardStore.callWizardAction('getUserListFilter') - ldapConfig.value.ldapUserFilter = response.changes.ldap_userlist_filter - shouldRequestLdapUserFilter.value = false + getUserListFilter() } }) -wizardStore.callWizardAction('determineUserObjectClasses') - .then((response) => { userObjectClasses.value = response.options.ldap_userfilter_objectclass }) +async function init() { + const response1 = await wizardStore.callWizardAction('determineUserObjectClasses') + userObjectClasses.value = response1.options.ldap_userfilter_objectclass + ldapConfig.value.ldapUserFilterObjectclass = response1.changes.ldap_userfilter_objectclass -wizardStore.callWizardAction('determineGroupsForUsers') - .then((response) => { userGroups.value = response.options.ldap_userfilter_groups }) + const response2 = await wizardStore.callWizardAction('determineGroupsForUsers') + userGroups.value = response2.options.ldap_userfilter_groups + ldapConfig.value.ldapUserFilterGroups = response2.changes.ldap_userfilter_groups + + await getUserListFilter() +} + +init() + +async function getUserListFilter() { + const response = await wizardStore.callWizardAction('getUserListFilter') + ldapConfig.value.ldapUserFilter = response.changes.ldap_userlist_filter + shouldRequestLdapUserFilter.value = false +} -/** - * - */ async function countUsers() { const { changes: { ldap_test_base: ldapTestBase } } = await wizardStore.callWizardAction('countUsers') usersCount.value = ldapTestBase } -/** - * - * @param value - */ async function toggleFilterMode(value: boolean) { if (value) { ldapConfig.value.ldapUserFilterMode = '1' |