[Checkins] SVN: grokapps/rdbz3cformexample/trunk/s Use megrok.menu for the 'Add Faculty' link

Vincent Fretin vincent.fretin at gmail.com
Fri Sep 18 11:32:48 EDT 2009


Log message for revision 104350:
  Use megrok.menu for the 'Add Faculty' link

Changed:
  U   grokapps/rdbz3cformexample/trunk/setup.py
  U   grokapps/rdbz3cformexample/trunk/src/rdbz3cformexample/app.py
  A   grokapps/rdbz3cformexample/trunk/src/rdbz3cformexample/templates/linksviewlet.pt
  U   grokapps/rdbz3cformexample/trunk/src/rdbz3cformexample/templates/rdbexampleindex.pt
  A   grokapps/rdbz3cformexample/trunk/src/rdbz3cformexample/viewlets.py

-=-
Modified: grokapps/rdbz3cformexample/trunk/setup.py
===================================================================
--- grokapps/rdbz3cformexample/trunk/setup.py	2009-09-18 15:31:45 UTC (rev 104349)
+++ grokapps/rdbz3cformexample/trunk/setup.py	2009-09-18 15:32:48 UTC (rev 104350)
@@ -26,7 +26,9 @@
                         'z3c.saconfig',
                         'megrok.rdb >= 0.10',
                         'megrok.layout',
+                        'megrok.menu',
                         'megrok.z3cform.base',
+                        'megrok.z3cform.layout',
                         # Add extra requirements here
                         ],
       entry_points = """

Modified: grokapps/rdbz3cformexample/trunk/src/rdbz3cformexample/app.py
===================================================================
--- grokapps/rdbz3cformexample/trunk/src/rdbz3cformexample/app.py	2009-09-18 15:31:45 UTC (rev 104349)
+++ grokapps/rdbz3cformexample/trunk/src/rdbz3cformexample/app.py	2009-09-18 15:32:48 UTC (rev 104350)
@@ -11,6 +11,7 @@
 from z3c.saconfig.interfaces import IEngineCreatedEvent
 
 from megrok.layout import Page
+from megrok import menu
 from megrok.z3cform.base import PageAddForm
 from z3c.form import field
 
@@ -42,6 +43,10 @@
 
 grok.templatedir('templates')
 
+class AdministrationMenu(menu.Menu):
+    grok.name('rdb_links_menu')
+    grok.title('Links')
+
 class RDBExample(grok.Application, grok.Model, rdb.QueryContainer):
     """The application object.
 
@@ -73,6 +78,8 @@
     """A form to add a new Faculty object to the application.
     """
     grok.context(RDBExample)
+    grok.title(u"Add Faculty")
+    menu.menuitem('rdb_links_menu')
 
     @property
     def fields(self):

Added: grokapps/rdbz3cformexample/trunk/src/rdbz3cformexample/templates/linksviewlet.pt
===================================================================
--- grokapps/rdbz3cformexample/trunk/src/rdbz3cformexample/templates/linksviewlet.pt	                        (rev 0)
+++ grokapps/rdbz3cformexample/trunk/src/rdbz3cformexample/templates/linksviewlet.pt	2009-09-18 15:32:48 UTC (rev 104350)
@@ -0,0 +1,12 @@
+<dl class="display-menu incontext-action" tal:condition="viewlet/actions">
+  <dd>
+    <ul>
+      <li tal:repeat="action viewlet/actions">
+  <a href="" tal:content="action/title"
+     tal:attributes="href string:${viewlet/contexturl}/${action/action};
+         title action/title;"
+     />
+      </li>
+    </ul>
+  </dd>
+</dl>

Modified: grokapps/rdbz3cformexample/trunk/src/rdbz3cformexample/templates/rdbexampleindex.pt
===================================================================
--- grokapps/rdbz3cformexample/trunk/src/rdbz3cformexample/templates/rdbexampleindex.pt	2009-09-18 15:31:45 UTC (rev 104349)
+++ grokapps/rdbz3cformexample/trunk/src/rdbz3cformexample/templates/rdbexampleindex.pt	2009-09-18 15:32:48 UTC (rev 104350)
@@ -5,6 +5,4 @@
     <a tal:attributes="href python:view.url(faculty)" tal:content="faculty/title"></a>
   </li>
 </ul>
-<p>
-  <a tal:attributes="href python:view.url('@@addfaculty')">Add Faculty</a>
-</p>
+<div tal:content="structure provider:rdb_links" />

Added: grokapps/rdbz3cformexample/trunk/src/rdbz3cformexample/viewlets.py
===================================================================
--- grokapps/rdbz3cformexample/trunk/src/rdbz3cformexample/viewlets.py	                        (rev 0)
+++ grokapps/rdbz3cformexample/trunk/src/rdbz3cformexample/viewlets.py	2009-09-18 15:32:48 UTC (rev 104350)
@@ -0,0 +1,22 @@
+import grok
+from zope.interface import Interface
+from zope.component import getUtility
+from zope.traversing.browser.absoluteurl import absoluteURL
+from zope.app.publisher.interfaces.browser import IBrowserMenu
+from rdbz3cformexample.app import RDBExampleIndex, RDBExample
+
+grok.templatedir("templates")
+grok.context(RDBExample)
+
+class LinksViewletManager(grok.ViewletManager):
+    grok.name("rdb_links")
+
+class LinksViewlet(grok.Viewlet):
+    grok.view(RDBExampleIndex)
+    
+    def update(self):
+        self.contexturl = absoluteURL(self.context, self.request)
+        menu = getUtility(IBrowserMenu, 'rdb_links_menu')
+        self.actions = menu.getMenuItems(self.context, self.request)
+
+



More information about the checkins mailing list