commit 44c233aa40c192fc4983cc323d74352beff1e4fe Author: Florian Best Date: Wed Apr 3 11:26:25 2019 +0200 Bug #25054: make options in extended attributes selectable diff --git a/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/extended_attribute.py b/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/extended_attribute.py index cfba5d6dd6..98cd06f6af 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/extended_attribute.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/extended_attribute.py @@ -356,7 +356,7 @@ 'options': univention.admin.property( short_description=_('Required options'), long_description=_('This extended attribute is only used when at least one of these options is enabled, e.g. "posix" or "samba"'), - syntax=univention.admin.syntax.string_numbers_letters_dots, + syntax=univention.admin.syntax.allModuleOptions, multivalue=True, options=[], required=False, diff --git a/management/univention-directory-manager-modules/modules/univention/admin/syntax.py b/management/univention-directory-manager-modules/modules/univention/admin/syntax.py index 269a1bcfc8..11e26f5999 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/syntax.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/syntax.py @@ -4123,6 +4123,17 @@ def update_choices(cls): __register_choice_update_function(optionsUsersUser.update_choices) +class allModuleOptions(combobox): + + @classmethod + def update_choices(cls): + modules = univention.admin.modules.modules.values() + cls.choices = [(key, x.short_description) for module in modules for key, x in getattr(module, 'options', {}).items() if key != 'default'] + + +__register_choice_update_function(allModuleOptions.update_choices) + + class nagiosHostsEnabledDn(UDM_Objects): """ Syntax to select Nagios enabled hosts from |LDAP|.