diff --git a/mayan/apps/smart_settings/apps.py b/mayan/apps/smart_settings/apps.py index 8ef1a6fad3..42e11f5168 100644 --- a/mayan/apps/smart_settings/apps.py +++ b/mayan/apps/smart_settings/apps.py @@ -28,19 +28,19 @@ class SmartSettingsApp(MayanAppConfig): Namespace.initialize() SourceColumn( - source=Namespace, label=_('Setting count'), - func=lambda context: len(context['object'].settings) + func=lambda context: len(context['object'].settings), + label=_('Setting count'), source=Namespace ) SourceColumn( - source=Setting, label=_('Name'), - func=lambda context: setting_widget(context['object']) + func=lambda context: setting_widget(context['object']), + label=_('Name'), source=Setting ) SourceColumn( - source=Setting, label=_('Value'), attribute='serialized_value' + attribute='serialized_value', label=_('Value'), source=Setting ) SourceColumn( - source=Setting, label=_('Overrided by environment variable?'), - func=lambda context: _('Yes') if context['object'].environment_variable else _('No') + func=lambda context: _('Yes') if context['object'].environment_variable else _('No'), + label=_('Overrided by environment variable?'), source=Setting ) menu_secondary.bind_links( diff --git a/mayan/apps/smart_settings/classes.py b/mayan/apps/smart_settings/classes.py index 81a9700b7e..4e1888f30a 100644 --- a/mayan/apps/smart_settings/classes.py +++ b/mayan/apps/smart_settings/classes.py @@ -34,14 +34,14 @@ class Namespace(object): exception ) - @classmethod - def get_all(cls): - return sorted(cls._registry.values(), key=lambda x: x.label) - @classmethod def get(cls, name): return cls._registry[name] + @classmethod + def get_all(cls): + return sorted(cls._registry.values(), key=lambda x: x.label) + @classmethod def invalidate_cache_all(cls): for namespace in cls.get_all(): diff --git a/mayan/apps/smart_settings/links.py b/mayan/apps/smart_settings/links.py index b166801492..67c66e53f3 100644 --- a/mayan/apps/smart_settings/links.py +++ b/mayan/apps/smart_settings/links.py @@ -12,8 +12,9 @@ link_namespace_list = Link( text=_('Settings'), view='settings:namespace_list' ) link_namespace_detail = Link( - args='resolved_object.name', permissions=(permission_settings_view,), - text=_('Settings'), view='settings:namespace_detail', + kwargs={'namespace_name': 'resolved_object.name'}, + permissions=(permission_settings_view,), text=_('Settings'), + view='settings:namespace_detail' ) # Duplicate the link to use a different name link_namespace_root_list = Link( @@ -21,6 +22,7 @@ link_namespace_root_list = Link( text=_('Namespaces'), view='settings:namespace_list' ) link_setting_edit = Link( - args='resolved_object.global_name', permissions=(permission_settings_edit,), - text=_('Edit'), view='settings:setting_edit_view', + kwargs={'setting_global_name': 'resolved_object.global_name'}, + permissions=(permission_settings_edit,), text=_('Edit'), + view='settings:setting_edit_view' ) diff --git a/mayan/apps/smart_settings/permissions.py b/mayan/apps/smart_settings/permissions.py index c28d9a417b..ea66346062 100644 --- a/mayan/apps/smart_settings/permissions.py +++ b/mayan/apps/smart_settings/permissions.py @@ -7,8 +7,8 @@ from mayan.apps.permissions import PermissionNamespace namespace = PermissionNamespace(label=_('Smart settings'), name='smart_settings') permission_settings_edit = namespace.add_permission( - name='permission_settings_edit', label=_('Edit settings') + label=_('Edit settings'), name='permission_settings_edit' ) permission_settings_view = namespace.add_permission( - name='permission_settings_view', label=_('View settings') + label=_('View settings'), name='permission_settings_view' ) diff --git a/mayan/apps/smart_settings/tests/test_view_permissions.py b/mayan/apps/smart_settings/tests/test_view_permissions.py index 4ef5e91e2b..2ae0df8fbc 100644 --- a/mayan/apps/smart_settings/tests/test_view_permissions.py +++ b/mayan/apps/smart_settings/tests/test_view_permissions.py @@ -6,27 +6,25 @@ from ..permissions import permission_settings_view class SmartSettingViewPermissionsTestCase(GenericViewTestCase): - def setUp(self): - super(SmartSettingViewPermissionsTestCase, self).setUp() - self.login_user() - def test_view_access_denied(self): - response = self.get('settings:namespace_list') + response = self.get(viewname='settings:namespace_list') self.assertEqual(response.status_code, 403) response = self.get( - 'settings:namespace_detail', args=('common',) + viewname='settings:namespace_detail', + kwargs={'namespace_name': 'common'} ) self.assertEqual(response.status_code, 403) def test_view_access_permitted(self): self.grant_permission(permission=permission_settings_view) - response = self.get('settings:namespace_list') + response = self.get(viewname='settings:namespace_list') self.assertEqual(response.status_code, 200) response = self.get( - 'settings:namespace_detail', args=('common',) + viewname='settings:namespace_detail', + kwargs={'namespace_name': 'common'} ) self.assertEqual(response.status_code, 200) diff --git a/mayan/apps/smart_settings/urls.py b/mayan/apps/smart_settings/urls.py index 7e108ac756..a7c351f737 100644 --- a/mayan/apps/smart_settings/urls.py +++ b/mayan/apps/smart_settings/urls.py @@ -6,15 +6,15 @@ from .views import NamespaceDetailView, NamespaceListView, SettingEditView urlpatterns = [ url( - r'^namespace/all/$', NamespaceListView.as_view(), - name='namespace_list' + regex=r'^namespaces/$', name='namespace_list', + view=NamespaceListView.as_view() ), url( - r'^namespace/(?P\w+)/$', - NamespaceDetailView.as_view(), name='namespace_detail' + regex=r'^namespaces/(?P\w+)/$', + name='namespace_detail', view=NamespaceDetailView.as_view() ), url( - r'^edit/(?P\w+)/$', - SettingEditView.as_view(), name='setting_edit_view' - ), + regex=r'^settings/(?P\w+)/edit/$', + name='setting_edit_view', view=SettingEditView.as_view() + ) ] diff --git a/mayan/apps/smart_settings/views.py b/mayan/apps/smart_settings/views.py index 5835182ee1..d723b9db92 100644 --- a/mayan/apps/smart_settings/views.py +++ b/mayan/apps/smart_settings/views.py @@ -39,7 +39,7 @@ class NamespaceDetailView(SingleObjectListView): def get_namespace(self): try: - return Namespace.get(self.kwargs['namespace_name']) + return Namespace.get(name=self.kwargs['namespace_name']) except KeyError: raise Http404( _('Namespace: %s, not found') % self.kwargs['namespace_name'] @@ -57,7 +57,7 @@ class SettingEditView(FormView): self.get_object().value = form.cleaned_data['value'] Setting.save_configuration() messages.success( - self.request, _('Setting updated successfully.') + message=_('Setting updated successfully.'), request=self.request ) return super(SettingEditView, self).form_valid(form=form) @@ -72,11 +72,11 @@ class SettingEditView(FormView): return {'setting': self.get_object()} def get_object(self): - return Setting.get(self.kwargs['setting_global_name']) + return Setting.get(global_name=self.kwargs['setting_global_name']) def get_post_action_redirect(self): return reverse( - 'settings:namespace_detail', args=( - self.get_object().namespace.name, - ) + viewname='settings:namespace_detail', kwargs={ + 'namespace_name': self.get_object().namespace.name + } )