aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLouis Chemineau <louis@chmn.me>2025-05-16 09:54:44 +0200
committerLouis Chemineau <louis@chmn.me>2025-05-16 09:54:44 +0200
commit590da08a7808a1be5a661fd7912dd0bab03dced8 (patch)
treec809e6b41c2b443376aef5dedf4149641f5577f7
parent4e0be0d5e798d9e885103601d49be62847a09b5e (diff)
downloadnextcloud-server-artonge/chore/ldap_wizard_rewrite.tar.gz
nextcloud-server-artonge/chore/ldap_wizard_rewrite.zip
Signed-off-by: Louis Chemineau <louis@chmn.me>
-rw-r--r--apps/user_ldap/src/components/SettingsTabs/GroupsTab.vue30
-rw-r--r--apps/user_ldap/src/components/SettingsTabs/LoginTab.vue21
-rw-r--r--apps/user_ldap/src/components/SettingsTabs/UsersTab.vue33
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'