[Checkins] SVN: Sandbox/luciano/kirbi/src/kirbi/ further refactoring of interfaces and templates

Luciano Ramalho luciano at ramalho.org
Tue Aug 14 21:47:55 EDT 2007


Log message for revision 78830:
  further refactoring of interfaces and templates
  

Changed:
  U   Sandbox/luciano/kirbi/src/kirbi/interfaces.py
  U   Sandbox/luciano/kirbi/src/kirbi/user.py

-=-
Modified: Sandbox/luciano/kirbi/src/kirbi/interfaces.py
===================================================================
--- Sandbox/luciano/kirbi/src/kirbi/interfaces.py	2007-08-15 01:37:59 UTC (rev 78829)
+++ Sandbox/luciano/kirbi/src/kirbi/interfaces.py	2007-08-15 01:47:54 UTC (rev 78830)
@@ -2,6 +2,15 @@
 from zope import schema
 from isbn import isValidISBN
 
+class IUser(Interface):
+    """A Kirbi user"""
+    login = schema.TextLine(title=u"Login",
+                            required=True)
+    name = schema.TextLine(title=u"Name",
+                            required=False)
+    password = schema.Password(title=u"Password",
+                            required=True)
+
 class InvalidISBN(schema.ValidationError):
     """This is not a valid ISBN-10 or ISBN-13"""
 
@@ -54,4 +63,6 @@
     def titleOrIsbnGiven(book):
         if (not book.title or not book.title.strip()) and (not book.isbn):
             raise Invalid('Either the title or the ISBN must be given.')
+
         
+

Modified: Sandbox/luciano/kirbi/src/kirbi/user.py
===================================================================
--- Sandbox/luciano/kirbi/src/kirbi/user.py	2007-08-15 01:37:59 UTC (rev 78829)
+++ Sandbox/luciano/kirbi/src/kirbi/user.py	2007-08-15 01:47:54 UTC (rev 78830)
@@ -1,4 +1,5 @@
 import grok
+from interfaces import IUser
 from zope.app.authentication.interfaces import IPrincipalInfo
 from zope.interface import Interface, implements, invariant, Invalid
 from zope import schema
@@ -6,15 +7,6 @@
 
 class UserFolder(grok.Container):
     pass
-
-class IUser(Interface):
-    """A Kirbi user"""
-    login = schema.TextLine(title=u"Login",
-                            required=True)
-    name = schema.TextLine(title=u"Name",
-                            required=False)
-    password = schema.Password(title=u"Password",
-                            required=True)
     
 class User(grok.Container):
     """A Kirbi user implementation.
@@ -54,7 +46,16 @@
         
 class Index(grok.View):
     grok.context(User)
+    
+    def menu_items(self):
+        return [
+            {'url':self.url(self.context.__parent__,'join'),
+                'text':u'join'},
+            {'url':'''http://circulante.incubadora.fapesp.br/''',
+                'text':u'about'},
+        ]
 
+
 class PrincipalInfoAdapter(grok.Adapter):
     grok.context(User)
     grok.implements(IPrincipalInfo)
@@ -85,6 +86,15 @@
 class UserSearch(grok.View):
     grok.context(UserFolder)
     grok.name('index')
+
+    def menu_items(self):
+        return [
+            {'url':self.url('join'),
+                'text':u'join'},
+            {'url':'''http://circulante.incubadora.fapesp.br/''',
+                'text':u'about'},
+        ]
+
     def update(self, query=None):
         self.results_title = '%d users' % len(self.context)
 



More information about the Checkins mailing list