[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