From 85f15fc8c0dd3f3ca89ba009518c2ab56d55275e Mon Sep 17 00:00:00 2001 From: Jonathan Weth <git@jonathanweth.de> Date: Thu, 31 Dec 2020 15:49:51 +0100 Subject: [PATCH] Improve preferences frontend by introducing rows, splitting verbose names and reordering preferences --- aleksis/apps/ldap/preferences.py | 50 ++++++++++++++--------------- aleksis/apps/ldap/util/ldap_sync.py | 10 ++++-- 2 files changed, 32 insertions(+), 28 deletions(-) diff --git a/aleksis/apps/ldap/preferences.py b/aleksis/apps/ldap/preferences.py index 1fee285..eec40b6 100644 --- a/aleksis/apps/ldap/preferences.py +++ b/aleksis/apps/ldap/preferences.py @@ -35,6 +35,15 @@ class LDAPSyncCreateMissingPersons(BooleanPreference): verbose_name = _("Create missing persons for LDAP users") +@site_preferences_registry.register +class LDAPPersonSyncOnLogin(BooleanPreference): + section = ldap + name = "person_sync_on_login" + default = True + required = False + verbose_name = _("Sync LDAP user with person on login") + + @site_preferences_registry.register class EnableLDAPGroupSync(BooleanPreference): section = ldap @@ -51,6 +60,7 @@ class LDAPGroupSyncFieldShortName(StringPreference): default = "cn" required = False verbose_name = _("Field for short name of group") + row = "ldap_group_sync_field_short_name" @site_preferences_registry.register @@ -59,10 +69,9 @@ class LDAPGroupSyncFieldShortNameRE(StringPreference): name = "group_sync_field_short_name_re" default = "" required = False - verbose_name = _( - "Regular expression to match LDAP value for group short name against," - "e.g. class_(?P<class>.*); separate multiple patterns by |" - ) + verbose_name = _("Regular expression to match LDAP value for group short name against") + help_text = _("e.g. class_(?P<class>.*); separate multiple patterns by |") + row = "ldap_group_sync_field_short_name" @site_preferences_registry.register @@ -71,10 +80,9 @@ class LDAPGroupSyncFieldShortNameReplace(StringPreference): name = "group_sync_field_short_name_replace" default = "" required = False - verbose_name = _( - "Replacement template to apply to group short name," - "e.g. \\g<class>; separate multiple templates by |" - ) + verbose_name = _("Replacement template to apply to group short name") + help_text = _("e.g. \\g<class>; separate multiple templates by |") + row = "ldap_group_sync_field_short_name" @site_preferences_registry.register @@ -84,6 +92,7 @@ class LDAPGroupSyncFieldName(StringPreference): default = "cn" required = False verbose_name = _("Field for name of group") + row = "ldap_group_sync_field_name" @site_preferences_registry.register @@ -92,10 +101,9 @@ class LDAPGroupSyncFieldNameRE(StringPreference): name = "group_sync_field_name_re" default = "" required = False - verbose_name = _( - "Regular expression to match LDAP value for group name against," - "e.g. class_(?P<class>.*); separate multiple patterns by |" - ) + verbose_name = _("Regular expression to match LDAP value for group name against,") + help_text = _("e.g. class_(?P<class>.*); separate multiple patterns by |") + row = "ldap_group_sync_field_name" @site_preferences_registry.register @@ -104,10 +112,9 @@ class LDAPGroupSyncFieldNameReplace(StringPreference): name = "group_sync_field_name_replace" default = "" required = False - verbose_name = _( - "Replacement template to apply to group name," - "e.g. \\g<class>; separate multiple templates by |" - ) + verbose_name = _("Replacement template to apply to group name") + help_text = _("e.g. \\g<class>; separate multiple templates by |") + row = "ldap_group_sync_field_name" @site_preferences_registry.register @@ -117,6 +124,7 @@ class LDAPGroupSyncOwnerAttr(StringPreference): default = "" required = False verbose_name = _("LDAP field with dn of group owner") + row = "ldap_group_sync_owner_attr" @site_preferences_registry.register @@ -130,12 +138,4 @@ class LDAPGroupSyncOwnerAttrType(ChoicePreference): ("dn", _("Distinguished Name")), ("uid", _("UID")), ] - - -@site_preferences_registry.register -class LDAPPersonSyncOnLogin(BooleanPreference): - section = ldap - name = "person_sync_on_login" - default = True - required = False - verbose_name = _("Sync LDAP user with person on login") + row = "ldap_group_sync_owner_attr" diff --git a/aleksis/apps/ldap/util/ldap_sync.py b/aleksis/apps/ldap/util/ldap_sync.py index 7668601..a03e096 100644 --- a/aleksis/apps/ldap/util/ldap_sync.py +++ b/aleksis/apps/ldap/util/ldap_sync.py @@ -76,9 +76,10 @@ def update_dynamic_preferences(): class _GeneratedPreference(StringPreference): section = section_ldap name = setting_name - verbose_name = _(f"LDAP field for {field.verbose_name} on {model._meta.label}") + verbose_name = _(f"LDAP field for '{field.verbose_name}' on {model._meta.label}") required = False default = "" + row = setting_name @site_preferences_registry.register class _GeneratedPreferenceRe(StringPreference): @@ -86,20 +87,23 @@ def update_dynamic_preferences(): name = setting_name + "_re" verbose_name = _( f"Regular expression to match LDAP value for" - f" {field.verbose_name} on {model._meta.label} against" + f" '{field.verbose_name}' on {model._meta.verbose_name} against" ) required = False default = "" + row = setting_name @site_preferences_registry.register class _GeneratedPreferenceReplace(StringPreference): section = section_ldap name = setting_name + "_replace" verbose_name = _( - f"Replacement template to apply to {field.verbose_name} on {model._meta.label}" + f"Replacement template to apply to '{field.verbose_name}'" + f" on {model._meta.verbose_name}" ) required = False default = "" + row = setting_name @site_preferences_registry.register class LDAPMatchingFields(MultipleChoicePreference): -- GitLab