diff --git a/rattail_demo/web/templates/menu.mako b/rattail_demo/web/templates/menu.mako index 5571b55..522852d 100644 --- a/rattail_demo/web/templates/menu.mako +++ b/rattail_demo/web/templates/menu.mako @@ -73,6 +73,23 @@ % endif + % if request.has_any_perm('tempmon.clients.list', 'tempmon.probes.list', 'tempmon.readings.list'): +
  • + TempMon + +
  • + % endif + % if request.has_any_perm('users.list', 'roles.list', 'settings.list'):
  • Admin diff --git a/rattail_demo/web/views/__init__.py b/rattail_demo/web/views/__init__.py index 9fc60c9..2b5837a 100644 --- a/rattail_demo/web/views/__init__.py +++ b/rattail_demo/web/views/__init__.py @@ -42,6 +42,7 @@ def includeme(config): config.include('tailbone.views.settings') config.include('tailbone.views.stores') config.include('tailbone.views.subdepartments') + config.include('rattail_demo.web.views.tempmon') config.include('rattail_demo.web.views.users') config.include('tailbone.views.vendors') diff --git a/rattail_demo/web/views/tempmon.py b/rattail_demo/web/views/tempmon.py new file mode 100644 index 0000000..d02c050 --- /dev/null +++ b/rattail_demo/web/views/tempmon.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +""" +Tempmon views +""" + +from __future__ import unicode_literals, absolute_import + +from tailbone.views.tempmon.clients import TempmonClientView as BaseTempmonClientView +from tailbone.views.tempmon.probes import TempmonProbeView as BaseTempmonProbeView + + +class TempmonClientView(BaseTempmonClientView): + """ + Prevent edit/delete for 'demo' client + """ + + def editable_instance(self, client): + return client.config_key != 'demo' + + def deletable_instance(self, client): + return client.config_key != 'demo' + + +class TempmonProbeView(BaseTempmonProbeView): + """ + Prevent edit/delete for 'demo' probe + """ + + def editable_instance(self, probe): + return probe.config_key != 'demo' + + def deletable_instance(self, probe): + return probe.config_key != 'demo' + + +def includeme(config): + TempmonClientView.defaults(config) + TempmonProbeView.defaults(config) + config.include('tailbone.views.tempmon.readings')