[Checkins] SVN: Sandbox/ulif/grokui.zodbbrowser/src/grokui/zodbbrowser/pages.py Let members of an object be rendered by a specialized view.

Uli Fouquet uli at gnufix.de
Fri Feb 12 18:07:10 EST 2010


Log message for revision 108960:
  Let members of an object be rendered by a specialized view.
  

Changed:
  U   Sandbox/ulif/grokui.zodbbrowser/src/grokui/zodbbrowser/pages.py

-=-
Modified: Sandbox/ulif/grokui.zodbbrowser/src/grokui/zodbbrowser/pages.py
===================================================================
--- Sandbox/ulif/grokui.zodbbrowser/src/grokui/zodbbrowser/pages.py	2010-02-12 23:05:25 UTC (rev 108959)
+++ Sandbox/ulif/grokui.zodbbrowser/src/grokui/zodbbrowser/pages.py	2010-02-12 23:07:09 UTC (rev 108960)
@@ -2,11 +2,11 @@
 """
 import grok
 from persistent import Persistent
+from zope.component import getMultiAdapter
 from zope.security.proxy import removeSecurityProxy
 from ZODB.utils import p64, u64, tid_repr
 from grokui.base import IGrokUIRealm, GrokUIView
 from grokui.zodbbrowser.interfaces import IObjectInfo
-from grokui.zodbbrowser.objectinfo import MemberInfo
 
 grok.context(IGrokUIRealm)
 grok.templatedir('templates')
@@ -66,3 +66,23 @@
     def getMemberLink(self, member):
         return self.url(self.context, '@@zodbbrowser',
                         data = dict(oid=member.oid,name=member.name))
+
+    def getMemberView(self, member):
+        view = getMultiAdapter((member, self.request), name='memberinfo')
+        # this subview needs a reference to our context...
+        view.parent_context = self.context
+        return view
+    
+class MemberInfoView(grok.View):
+    """View objectinfo as memberinfo.
+    """
+    grok.name('memberinfo')
+    grok.template('memberinfo')
+    grok.context(IObjectInfo)
+    grok.require('grok.ManageApplications')
+
+    def getMemberLink(self):
+        return self.url(
+            self.parent_context, '@@zodbbrowser',
+            data=dict(oid=self.context.oid, name=self.context.name)
+            )



More information about the checkins mailing list