[z3-checkins] r40506 - in z3/NudgeNudge/trunk/src/nudgenudge: . review_templates
philikon at codespeak.net
philikon at codespeak.net
Wed Mar 14 20:42:35 CET 2007
Author: philikon
Date: Wed Mar 14 20:42:34 2007
New Revision: 40506
Added:
z3/NudgeNudge/trunk/src/nudgenudge/interfaces.py (contents, props changed)
z3/NudgeNudge/trunk/src/nudgenudge/review.py (contents, props changed)
z3/NudgeNudge/trunk/src/nudgenudge/review_templates/
z3/NudgeNudge/trunk/src/nudgenudge/review_templates/index.pt (contents, props changed)
Modified:
z3/NudgeNudge/trunk/src/nudgenudge/app.py
Log:
Implement IReview schema, Review model and add form based on
schema.
Modified: z3/NudgeNudge/trunk/src/nudgenudge/app.py
==============================================================================
--- z3/NudgeNudge/trunk/src/nudgenudge/app.py (original)
+++ z3/NudgeNudge/trunk/src/nudgenudge/app.py Wed Mar 14 20:42:34 2007
@@ -1,11 +1,11 @@
import grok
from zope import schema
+from nudgenudge.interfaces import IReview
+from nudgenudge.review import Review
class NudgeNudge(grok.Application, grok.Container):
pass
-grok.context(NudgeNudge)
-
class Index(grok.View):
def update(self, package=None):
@@ -15,22 +15,12 @@
if obj.package_name == package)
class CreateReview(grok.AddForm):
- form_fields = grok.Fields(
- package_name = schema.TextLine(title=u'Package name'),
- for_display=True # TODO not honored
- ) + grok.Fields(
- summary = schema.Text(title=u'Summary'),
- )
-
+ form_fields = grok.AutoFields(IReview) # TODO make package_name read-only
+
@grok.action('Create')
- def create(self, package_name, summary):
- r = Review(package_name)
+ def create(self, **kw):
+ r = Review(**kw)
# TODO disambiguate naming scheme
- self.context[package_name] = r
+ self.context[kw['package_name']] = r
# TODO send object created event
self.redirect(self.url(r))
-
-class Review(grok.Model):
-
- def __init__(self, package_name):
- self.package_name = package_name
Added: z3/NudgeNudge/trunk/src/nudgenudge/interfaces.py
==============================================================================
--- (empty file)
+++ z3/NudgeNudge/trunk/src/nudgenudge/interfaces.py Wed Mar 14 20:42:34 2007
@@ -0,0 +1,29 @@
+from zope.interface import Interface
+from zope.schema import ASCIILine, TextLine, Text, Choice
+
+class IReview(Interface):
+
+ package_name = ASCIILine(
+ title=u'Package name',
+ )
+
+ version = ASCIILine(
+ title=u'Version',
+ )
+
+ summary = Text(
+ title=u'Summary',
+ )
+
+ text = Text(
+ title=u'Text'
+ )
+
+ score = Choice(
+ title=u'Score',
+ values=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
+ )
+
+ author = TextLine(
+ title=u'Author',
+ )
\ No newline at end of file
Added: z3/NudgeNudge/trunk/src/nudgenudge/review.py
==============================================================================
--- (empty file)
+++ z3/NudgeNudge/trunk/src/nudgenudge/review.py Wed Mar 14 20:42:34 2007
@@ -0,0 +1,13 @@
+import grok
+from nudgenudge.interfaces import IReview
+
+class Review(grok.Model):
+ grok.implements(IReview)
+
+ # XXX prefer using applyChanges in the add form instead of this
+ def __init__(self, **kw):
+ for key, value in kw.items():
+ setattr(self, key, value)
+
+class Index(grok.View):
+ pass
Added: z3/NudgeNudge/trunk/src/nudgenudge/review_templates/index.pt
==============================================================================
--- (empty file)
+++ z3/NudgeNudge/trunk/src/nudgenudge/review_templates/index.pt Wed Mar 14 20:42:34 2007
@@ -0,0 +1,2 @@
+<html>
+</html>
\ No newline at end of file
More information about the z3-checkins
mailing list