Update smart settings app
Sort arguments. Add keyword arguments. Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
This commit is contained in:
@@ -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(
|
||||
|
||||
@@ -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():
|
||||
|
||||
@@ -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'
|
||||
)
|
||||
|
||||
@@ -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'
|
||||
)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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<namespace_name>\w+)/$',
|
||||
NamespaceDetailView.as_view(), name='namespace_detail'
|
||||
regex=r'^namespaces/(?P<namespace_name>\w+)/$',
|
||||
name='namespace_detail', view=NamespaceDetailView.as_view()
|
||||
),
|
||||
url(
|
||||
r'^edit/(?P<setting_global_name>\w+)/$',
|
||||
SettingEditView.as_view(), name='setting_edit_view'
|
||||
),
|
||||
regex=r'^settings/(?P<setting_global_name>\w+)/edit/$',
|
||||
name='setting_edit_view', view=SettingEditView.as_view()
|
||||
)
|
||||
]
|
||||
|
||||
@@ -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
|
||||
}
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user