Ulrich P. Klein wrote:
How should I modify the custom widget in the recipe examples to make it
work with 3.2.0 ?
As it is, the program does not work from chapter 7 onward
I get this on zope.app.form.browser.SimpleInputWidget at every attempt to
display the widget:
instance = self._widget_factory(*args)
TypeError: __init__() takes exactly 4 arguments (3 given)
--- browser/widget.py.orig 2004-07-10 17:59:36.000000000 +0200
+++ browser/widget.py 2006-03-19 18:28:16.000000000 +0100
@@ -1,9 +1,9 @@
from zope.app import zapi
from zope.app.form.interfaces import IInputWidget
-from zope.app.form.browser.widget import SimpleInputWidget
+from zope.app.form.browser.sequencewidget import SequenceWidget
from zope.app.pagetemplate.viewpagetemplatefile import ViewPageTemplateFile
-class DynamicSequenceWidget(SimpleInputWidget):
+class DynamicSequenceWidget(SequenceWidget):
"""Widget for (simple) sequences that does not require the form to be
reloaded for every change."""
Close, but it still doesn't work.
The widget is displayed and works on the client, but I am unable to
insert ingredients.
Every time I click 'add' on the form, the ingredients list comes back
empty and the recipe is refused (an error occured; there are 1 input
errors).
I'm using Firefox 1.5
I'm attaching the list of changes I've applied to the book example
(chapter 17). Basically, the one above + the alternateViews and pdf ones.
diff -ruN worldcookery.orig/17sites/browser/configure.zcml
worldcookery/browser/configure.zcml
--- worldcookery.orig/17sites/browser/configure.zcml 2004-10-04
10:14:03.000000000 +0200
+++ worldcookery/browser/configure.zcml 2006-03-21 11:05:59.000000000 +0100
@@ -102,7 +102,7 @@
permission="zope.ManageContent"
fields="kitchen_tools"
>
- <widget field="kitchen_tools" class=".widget.DynamicSequenceWidget" />
+ <widget field="kitchen_tools" class=".widget.DynamicSequenceWidget" />
</browser:editform>
<include package=".skin" />
diff -ruN worldcookery.orig/17sites/browser/recipe.py
worldcookery/browser/recipe.py
--- worldcookery.orig/17sites/browser/recipe.py 2006-03-21 11:39:15.000000000
+0100
+++ worldcookery/browser/recipe.py 2006-03-21 11:38:43.000000000 +0100
@@ -10,10 +10,13 @@
view = zapi.getView(plaintext, '', self.request)
return view.render()
- def alternateViews(self):
- menu_service = zapi.getService(servicenames.BrowserMenu)
- menu_id = 'alternate_views'
- return menu_service.getMenu(menu_id, self.context, self.request)
+# def alternateViews(self):
+# menu_id = 'alternate_views'
+# return getMenu(menu_id, self.context, self.request)
+
+# menu_service = zapi.getService(servicenames.BrowserMenu)
+# menu_id = 'alternate_views'
+# return menu_service.getMenu(menu_id, self.context, self.request)
def rating(self):
return IRating(self.context)
diff -ruN worldcookery.orig/17sites/browser/recipeview.pt
worldcookery/browser/recipeview.pt
--- worldcookery.orig/17sites/browser/recipeview.pt 2004-09-11
15:20:44.000000000 +0200
+++ worldcookery/browser/recipeview.pt 2006-02-24 01:25:26.000000000 +0100
@@ -83,7 +83,7 @@
<h4 i18n:translate="">Also viewable as:</h4>
<ul>
- <li tal:repeat="item view/alternateViews">
+ <li tal:repeat="item context/@@view_get_menu/alternate_views">
<a href=""
tal:attributes="href string:${context/@@absolute_url}/${item/action}"
tal:content="item/title">alternate view</a>
diff -ruN worldcookery.orig/17sites/browser/widget.py
worldcookery/browser/widget.py
--- worldcookery.orig/17sites/browser/widget.py 2004-07-10 17:59:36.000000000
+0200
+++ worldcookery/browser/widget.py 2006-03-21 11:39:53.000000000 +0100
@@ -1,9 +1,9 @@
from zope.app import zapi
from zope.app.form.interfaces import IInputWidget
-from zope.app.form.browser.widget import SimpleInputWidget
+from zope.app.form.browser.sequencewidget import SequenceWidget
from zope.app.pagetemplate.viewpagetemplatefile import ViewPageTemplateFile
-class DynamicSequenceWidget(SimpleInputWidget):
+class DynamicSequenceWidget(SequenceWidget):
"""Widget for (simple) sequences that does not require the form to be
reloaded for every change."""
diff -ruN worldcookery.orig/17sites/pdf/browser.py worldcookery/pdf/browser.py
--- worldcookery.orig/17sites/pdf/browser.py 2006-03-21 11:40:52.000000000
+0100
+++ worldcookery/pdf/browser.py 2006-03-21 11:40:29.000000000 +0100
@@ -14,4 +14,4 @@
'attachment; filename=%s' % filename)
response.setHeader('Content-Type', 'application/pdf')
response.setHeader('Content-Length', len(pdf.data))
- response.write(pdf.data)
+ return pdf.data
_______________________________________________
Zope3-users mailing list
Zope3-users@zope.org
http://mail.zope.org/mailman/listinfo/zope3-users