[Checkins] SVN: grokui.admin/branches/ulif-securitynotifications/src/grokui/admin/view.py Add machine-readable info views.

Uli Fouquet uli at gnufix.de
Tue Dec 23 05:20:40 EST 2008


Log message for revision 94267:
  Add machine-readable info views.

Changed:
  U   grokui.admin/branches/ulif-securitynotifications/src/grokui/admin/view.py

-=-
Modified: grokui.admin/branches/ulif-securitynotifications/src/grokui/admin/view.py
===================================================================
--- grokui.admin/branches/ulif-securitynotifications/src/grokui/admin/view.py	2008-12-23 09:45:27 UTC (rev 94266)
+++ grokui.admin/branches/ulif-securitynotifications/src/grokui/admin/view.py	2008-12-23 10:20:40 UTC (rev 94267)
@@ -67,6 +67,40 @@
 class ManageApplications(grok.Permission):
     grok.name('grok.ManageApplications')
 
+class GrokAdminInfoView(grok.View):
+    """A base to provide machinereadable views.
+    """
+    grok.name('grokadmin')
+    grok.require('grok.ManageApplications')
+    
+    def render(self):
+        return u'go to @@version or @@secnotes'
+
+class GrokAdminVersion(grok.View):
+    """Display grok version.
+
+    Call this view via http://localhost:8080/@@grokadmin/@@version
+    """
+    grok.name('version')
+    grok.context(GrokAdminInfoView)
+    grok.require('grok.ManageApplications')
+    def render(self):
+        return u'grok %s' % (getVersion('grok'),)
+
+class GrokAdminSecurityNotes(grok.View):
+    """Display current security notification.
+
+    Call this view via http://localhost:8080/@@grokadmin/@@secnote
+    """
+    grok.name('secnote')
+    grok.context(GrokAdminInfoView)
+    grok.require('grok.ManageApplications')
+    def render(self):
+        site = grok.getSite()
+        site_manager = site.getSiteManager()
+        notifier = site_manager.queryUtility(ISecurityNotifier, default=None)
+        return notifier.getNotification()
+    
 class Add(grok.View):
     """Add an application.
     """



More information about the Checkins mailing list