diff --git a/ui/src/i18n/en.js b/ui/src/i18n/en.js index 501c26e..f3b02e5 100644 --- a/ui/src/i18n/en.js +++ b/ui/src/i18n/en.js @@ -94,4 +94,8 @@ export default { 'id.group.removeConfirmAfter': ' from group {group}?', 'id.group.removedToast': 'Removed {user} from {group}', 'id.group.transitive': 'Indirect member through a sub-group — manage them on the parent.', + // LDAP DN exposed in the container-scope view (issue #44). The other + // `containerScope.*` keys live in the host; this one is contributed by + // the plugin and merged into the i18n store at install time. + 'containerScope.dn': 'LDAP path', } diff --git a/ui/src/i18n/fr.js b/ui/src/i18n/fr.js index 3a0bffb..3b576c3 100644 --- a/ui/src/i18n/fr.js +++ b/ui/src/i18n/fr.js @@ -86,4 +86,8 @@ export default { 'id.group.removeConfirmAfter': ' du groupe {group} ?', 'id.group.removedToast': '{user} retiré de {group}', 'id.group.transitive': 'Membre indirect via un sous-groupe — à gérer depuis le groupe parent.', + // DN LDAP exposé dans la vue des portées de conteneurs (issue #44). + // Les autres clés `containerScope.*` vivent dans le host ; celle-ci est + // contribuée par le plugin et mergée au store i18n à l'install. + 'containerScope.dn': 'Chemin LDAP', } diff --git a/ui/src/views/ContainerScopeView.vue b/ui/src/views/ContainerScopeView.vue index cc9391f..c349f17 100644 --- a/ui/src/views/ContainerScopeView.vue +++ b/ui/src/views/ContainerScopeView.vue @@ -41,6 +41,7 @@ + @@ -78,13 +79,13 @@ const t = i18n.t const activeTab = ref('group') const DEMO_GROUP_SCOPES = [ - { id: 1, name: 'Department', locked: false }, - { id: 2, name: 'Team', locked: false }, - { id: 3, name: 'Project', locked: true }, + { id: 1, name: 'Department', dn: 'ou=Department,dc=demo,dc=com', locked: false }, + { id: 2, name: 'Team', dn: 'ou=Team,dc=demo,dc=com', locked: false }, + { id: 3, name: 'Project', dn: 'ou=Project,dc=demo,dc=com', locked: true }, ] const DEMO_COMPANY_SCOPES = [ - { id: 1, name: 'Organization', locked: false }, - { id: 2, name: 'Business Unit', locked: true }, + { id: 1, name: 'Organization', dn: 'ou=Organization,dc=demo,dc=com', locked: false }, + { id: 2, name: 'Business Unit', dn: 'ou=BusinessUnit,dc=demo,dc=com', locked: true }, ] const items = ref([]) @@ -95,6 +96,7 @@ const demoMode = ref(false) const headers = computed(() => [ { title: t('common.name'), key: 'name', sortable: true }, + { title: t('containerScope.dn'), key: 'dn', sortable: true }, { title: t('common.status'), key: 'locked', sortable: false, width: '80px' }, { title: '', key: 'actions', sortable: false, width: '100px', align: 'end' }, ]) @@ -140,13 +142,13 @@ watch(activeTab, () => { function openNew() { editTarget.value = null - editForm.value = { name: '' } + editForm.value = { name: '', dn: '' } editDialog.value = true } function openEdit(item) { editTarget.value = item - editForm.value = { name: item.name } + editForm.value = { name: item.name, dn: item.dn || '' } editDialog.value = true }