[Checkins] SVN: grokapps/grokformdemo/trunk/ Working on the CrudExample
Christian Klinger
cklinger at novareto.de
Mon Sep 21 10:35:32 EDT 2009
Log message for revision 104386:
Working on the CrudExample
Changed:
U grokapps/grokformdemo/trunk/buildout.cfg
U grokapps/grokformdemo/trunk/setup.py
U grokapps/grokformdemo/trunk/src/grokformdemo/app_templates/index.pt
U grokapps/grokformdemo/trunk/src/grokformdemo/app_templates/mylayout.pt
U grokapps/grokformdemo/trunk/src/grokformdemo/configure.zcml
A grokapps/grokformdemo/trunk/src/grokformdemo/crudcontact/
A grokapps/grokformdemo/trunk/src/grokformdemo/crudcontact/__init__.py
A grokapps/grokformdemo/trunk/src/grokformdemo/crudcontact/contact.py
U grokapps/grokformdemo/trunk/src/grokformdemo/message/browser.py
U grokapps/grokformdemo/trunk/versions.cfg
-=-
Modified: grokapps/grokformdemo/trunk/buildout.cfg
===================================================================
--- grokapps/grokformdemo/trunk/buildout.cfg 2009-09-21 14:30:46 UTC (rev 104385)
+++ grokapps/grokformdemo/trunk/buildout.cfg 2009-09-21 14:35:32 UTC (rev 104386)
@@ -11,6 +11,8 @@
megrok.z3cform.base
megrok.z3cform.layout
megrok.z3cform.wizard
+ megrok.z3cform.tabular
+ megrok.z3cform.ui
[versions]
z3c.pagelet = 1.0.3
@@ -19,6 +21,8 @@
megrok.z3cform.base = svn svn+ssh://svn.zope.org/repos/main/megrok.z3cform.base/trunk
megrok.z3cform.layout = svn svn+ssh://svn.zope.org/repos/main/megrok.z3cform.layout/trunk
megrok.z3cform.wizard = svn svn+ssh://svn.zope.org/repos/main/megrok.z3cform.wizard/trunk
+megrok.z3cform.tabular = svn svn+ssh://svn.zope.org/repos/main/megrok.z3cform.tabular/trunk
+megrok.z3cform.ui = svn svn+ssh://svn.zope.org/repos/main/Sandbox/cklinger/megrok.z3cform.ui/trunk
# do "bin/develop up -v" to update all the checkouts
[app]
Modified: grokapps/grokformdemo/trunk/setup.py
===================================================================
--- grokapps/grokformdemo/trunk/setup.py 2009-09-21 14:30:46 UTC (rev 104385)
+++ grokapps/grokformdemo/trunk/setup.py 2009-09-21 14:35:32 UTC (rev 104386)
@@ -23,10 +23,13 @@
'grokui.admin',
'z3c.testsetup',
'grokcore.startup',
+ 'megrok.z3ctable',
'megrok.layout',
'megrok.z3cform.base',
'megrok.z3cform.layout',
'megrok.z3cform.wizard',
+ 'megrok.z3cform.tabular',
+ 'megrok.z3cform.ui',
'z3c.csvvocabulary',
'hurry.jquery',
'hurry.zoperesource',
Modified: grokapps/grokformdemo/trunk/src/grokformdemo/app_templates/index.pt
===================================================================
--- grokapps/grokformdemo/trunk/src/grokformdemo/app_templates/index.pt 2009-09-21 14:30:46 UTC (rev 104385)
+++ grokapps/grokformdemo/trunk/src/grokformdemo/app_templates/index.pt 2009-09-21 14:35:32 UTC (rev 104386)
@@ -6,7 +6,7 @@
<ul>
<li> <a href="helloworldaddform"> Message </a> </li>
- <li> <a href="addQuestionnaire.html"> Questionnaire.html </a> </li>
+ <li> <a href="contacts"> Crud Contact </a> </li>
<li> <a href="addwizard"> Person Wizard </a> </li>
</ul>
Modified: grokapps/grokformdemo/trunk/src/grokformdemo/app_templates/mylayout.pt
===================================================================
--- grokapps/grokformdemo/trunk/src/grokformdemo/app_templates/mylayout.pt 2009-09-21 14:30:46 UTC (rev 104385)
+++ grokapps/grokformdemo/trunk/src/grokformdemo/app_templates/mylayout.pt 2009-09-21 14:35:32 UTC (rev 104386)
@@ -10,9 +10,9 @@
<!-- Die Magie findet in der naechsten Zeile statt! -->
<div id="content"
- tal:content="structure view/render">Page Content</div>
+ tal:content="structure view/content">Page Content</div>
- <i> For Information you can contact: cklinger at novareto.de</i>
+ <i> For Information you can contact: grok-dev at zope.org or channel #grok on freenode irc</i>
</body>
</html>
Modified: grokapps/grokformdemo/trunk/src/grokformdemo/configure.zcml
===================================================================
--- grokapps/grokformdemo/trunk/src/grokformdemo/configure.zcml 2009-09-21 14:30:46 UTC (rev 104385)
+++ grokapps/grokformdemo/trunk/src/grokformdemo/configure.zcml 2009-09-21 14:35:32 UTC (rev 104386)
@@ -1,7 +1,7 @@
<configure xmlns="http://namespaces.zope.org/zope"
xmlns:grok="http://namespaces.zope.org/grok">
<include package="grok" />
- <include package="megrok.z3cform.base" file="default_form_layer.zcml" />
+
<adapter
factory="z3c.form.hint.FieldDescriptionAsHint"
name="title"/>
Added: grokapps/grokformdemo/trunk/src/grokformdemo/crudcontact/__init__.py
===================================================================
--- grokapps/grokformdemo/trunk/src/grokformdemo/crudcontact/__init__.py (rev 0)
+++ grokapps/grokformdemo/trunk/src/grokformdemo/crudcontact/__init__.py 2009-09-21 14:35:32 UTC (rev 104386)
@@ -0,0 +1 @@
+#
Added: grokapps/grokformdemo/trunk/src/grokformdemo/crudcontact/contact.py
===================================================================
--- grokapps/grokformdemo/trunk/src/grokformdemo/crudcontact/contact.py (rev 0)
+++ grokapps/grokformdemo/trunk/src/grokformdemo/crudcontact/contact.py 2009-09-21 14:35:32 UTC (rev 104386)
@@ -0,0 +1,117 @@
+import grok
+
+from zope.interface import Interface
+from zope.schema import TextLine
+from grokformdemo.app import Grokformdemo
+from megrok.z3cform.base import extends, button, PageAddForm, PageEditForm, PageDisplayForm, Fields
+from megrok.z3cform.tabular import DeleteFormTablePage
+from megrok.z3ctable import LinkColumn, NameColumn, GetAttrColumn, CheckBoxColumn
+
+
+# Interface
+class IContact(Interface):
+ name = TextLine(title=u"Name")
+ surname = TextLine(title=u"Surname")
+ email = TextLine(title=u"Email")
+ phone = TextLine(title=u"Phone")
+
+# Content
+class Contact(grok.Model):
+ grok.implements(IContact)
+
+ def __init__(self, name="", surname="", email="", phone=""):
+ self.name = name
+ self.surname = surname
+ self.email = email
+ self.phone = phone
+
+# Container
+class ContactContainer(grok.Container):
+ pass
+
+
+class ContainerIndex(DeleteFormTablePage):
+ grok.name('index')
+ grok.context(ContactContainer)
+ extends(DeleteFormTablePage)
+ status = None
+
+ @button.buttonAndHandler(u'Add new Contact')
+ def apply(self, action):
+ self.redirect(self.url(self.context, 'add'))
+
+ def executeDelete(self, object):
+ del self.context[object.name]
+
+ def render(self):
+ return self.renderFormTable()
+
+class CheckBox(CheckBoxColumn):
+ grok.name('checkBox')
+ grok.adapts(None, None, ContainerIndex)
+ weight = 0
+
+ def getItemKey(self, item):
+ return '%s-selectedItems-%s' % (self.id, item.__name__)
+
+class Name(LinkColumn):
+ grok.name('Name')
+ grok.adapts(None, None, ContainerIndex)
+ weight = 1
+ linkName = u"index"
+
+
+class Surname(GetAttrColumn):
+ grok.name('surname')
+ grok.adapts(None, None, ContainerIndex)
+ attrName = u"surname"
+ weight = 2
+
+
+class Email(GetAttrColumn):
+ grok.name('email')
+ grok.adapts(None, None, ContainerIndex)
+ attrName = u"email"
+ weight = 3
+
+
+class Phone(GetAttrColumn):
+ grok.name('phone')
+ grok.adapts(None, None, ContainerIndex)
+ attrName = u"phone"
+ weight = 4
+
+# Add A Default Conatiner
+ at grok.subscribe(Grokformdemo, grok.IObjectAddedEvent)
+def addContactContainer(context, event):
+ context['contacts'] = ContactContainer()
+
+
+#Views
+class Add(PageAddForm):
+ grok.context(ContactContainer)
+ fields = Fields(IContact)
+
+ def create(self, data):
+ return Contact(**data)
+
+ def add(self, object):
+ self.object = object
+ self.context[object.name] = object
+ return object
+
+ def nextURL(self):
+ return self.url(self.object)
+
+
+class Edit(PageEditForm):
+ grok.context(Contact)
+ fields = Fields(IContact)
+
+
+class Index(PageDisplayForm):
+ grok.context(Contact)
+ fields = Fields(IContact)
+ actions = []
+ #template = grok.PageTemplateFile('display.pt')
+
Modified: grokapps/grokformdemo/trunk/src/grokformdemo/message/browser.py
===================================================================
--- grokapps/grokformdemo/trunk/src/grokformdemo/message/browser.py 2009-09-21 14:30:46 UTC (rev 104385)
+++ grokapps/grokformdemo/trunk/src/grokformdemo/message/browser.py 2009-09-21 14:35:32 UTC (rev 104386)
@@ -69,4 +69,9 @@
grok.name('index')
template = grok.PageTemplateFile('display.pt')
+ # This is a fix for new grokcore.version.
+ def render(self):
+ return ""
+ render.base_method = True
+
fields = field.Fields(interfaces.IHelloWorld)
Modified: grokapps/grokformdemo/trunk/versions.cfg
===================================================================
--- grokapps/grokformdemo/trunk/versions.cfg 2009-09-21 14:30:46 UTC (rev 104385)
+++ grokapps/grokformdemo/trunk/versions.cfg 2009-09-21 14:35:32 UTC (rev 104386)
@@ -1,32 +1,27 @@
-# This file contains a list of versions of the various grok modules that
-# belong together.
-# It was downloaded from http://grok.zope.org/releaseinfo/grok-1.0a4.cfg
-# when this project was created.
-
[versions]
-grok = 1.0a4
ClientForm = 0.2.9
-docutils = 0.4
-grokcore.component = 1.6
-grokcore.formlib = 1.1
-grokcore.security = 1.0
-grokcore.view = 1.7
-grokcore.viewlet = 1.0
+grokcore.annotation = 1.1
+grokcore.component = 1.7
+grokcore.formlib = 1.4
+grokcore.security = 1.2
+grokcore.site = 1.1
+grokcore.view = 1.12.2
+grokcore.viewlet = 1.3
grokui.admin = 0.3.2
martian = 0.11
mechanize = 0.1.7b
-Pygments = 0.8.1
-pytz = 2007k
+pytz = 2009l
RestrictedPython = 3.4.2
-simplejson = 1.7.1
+simplejson = 2.0.9
z3c.autoinclude = 0.2.2
z3c.flashmessage = 1.0
-z3c.testsetup = 0.2.1
+z3c.recipe.eggbasket = 0.4.3
+z3c.testsetup = 0.4
zc.catalog = 1.2.0
ZConfig = 2.5.1
zc.recipe.testrunner = 1.0.0
zdaemon = 2.0.2
-ZODB3 = 3.8.1
+ZODB3 = 3.8.3
zodbcode = 3.4.0
zope.annotation = 3.4.1
zope.app.apidoc = 3.4.3
@@ -70,7 +65,7 @@
zope.app.testing = 3.4.3
zope.app.tree = 3.4.0
zope.app.twisted = 3.4.1
-zope.app.wsgi = 3.4.1
+zope.app.wsgi = 3.4.2
zope.app.zapi = 3.4.0
zope.app.zcmlfiles = 3.4.3
zope.app.zopeappgenerations = 3.4.0
@@ -101,7 +96,7 @@
zope.modulealias = 3.4.0
zope.pagetemplate = 3.4.0
zope.proxy = 3.4.2
-zope.publisher = 3.4.6
+zope.publisher = 3.4.9
zope.schema = 3.4.0
zope.security = 3.4.1
zope.securitypolicy = 3.4.1
@@ -112,25 +107,7 @@
zope.tal = 3.4.1
zope.tales = 3.4.0
zope.testbrowser = 3.4.2
-zope.testing = 3.6.0
+zope.testing = 3.7.6
zope.thread = 3.4
zope.traversing = 3.4.1
zope.viewlet = 3.4.2
-
-
-# Here we pin the recipes and other packages that are not in the
-# downloaded versions.cfg of grok
-Paste = 1.7.2
-PasteDeploy = 1.3.2
-PasteScript = 1.7.3
-setuptools = 0.6c9
-z3c.evalexception = 2.0
-z3c.recipe.eggbasket = 0.4.1
-z3c.recipe.i18n = 0.5.0
-z3c.recipe.template = 0.1
-zc.buildout = 1.1.1
-zc.recipe.egg = 1.1.0
-zc.recipe.filestorage = 1.0.1
-grokcore.startup = 0.2
-
-
More information about the checkins
mailing list