Hide user settings category if no user settings are registered.

This commit is contained in:
Chris Church 2016-11-19 21:26:35 -05:00
parent 34b638f59d
commit 798c8b631d
2 changed files with 10 additions and 5 deletions

View File

@ -54,14 +54,16 @@ class SettingsRegistry(object):
categories = {
'all': _('All'),
'changed': _('Changed'),
'user': _('User'),
'user-defaults': _('User Defaults'),
}
for setting, kwargs in self._registry.items():
category_slug = kwargs.get('category_slug', None)
if category_slug is None or category_slug in categories:
continue
categories[category_slug] = kwargs.get('category', None) or category_slug
if category_slug == 'user':
categories['user'] = _('User')
categories['user-defaults'] = _('User-Defaults')
else:
categories[category_slug] = kwargs.get('category', None) or category_slug
return categories
def get_registered_settings(self, category_slug=None, read_only=None):

View File

@ -37,10 +37,13 @@ class SettingCategoryList(ListAPIView):
def get_queryset(self):
setting_categories = []
categories = settings_registry.get_registered_categories()
if self.request.user.is_superuser or self.request.user.is_system_auditor:
categories = settings_registry.get_registered_categories()
pass # categories = categories
elif 'user' in categories:
categories = {'user', _('User')}
else:
categories = {'user': _('User')}
categories = {}
for category_slug in sorted(categories.keys()):
url = reverse('api:setting_singleton_detail', args=(category_slug,))
setting_categories.append(SettingCategory(url, category_slug, categories[category_slug]))