[Checkins] SVN: z3c.tabular/trunk/ not well tested... fix my bug
Adam Groszer
agroszer at gmail.com
Mon Oct 19 08:35:33 EDT 2009
Log message for revision 105140:
not well tested... fix my bug
Changed:
U z3c.tabular/trunk/CHANGES.txt
U z3c.tabular/trunk/src/z3c/tabular/README.txt
U z3c.tabular/trunk/src/z3c/tabular/table.py
-=-
Modified: z3c.tabular/trunk/CHANGES.txt
===================================================================
--- z3c.tabular/trunk/CHANGES.txt 2009-10-19 12:04:59 UTC (rev 105139)
+++ z3c.tabular/trunk/CHANGES.txt 2009-10-19 12:35:32 UTC (rev 105140)
@@ -5,7 +5,7 @@
0.5.2dev (unrleased)
--------------------
-- ...
+- Fix my bug introduced in 0.5.1
0.5.1 (2009-10-19)
------------------
Modified: z3c.tabular/trunk/src/z3c/tabular/README.txt
===================================================================
--- z3c.tabular/trunk/src/z3c/tabular/README.txt 2009-10-19 12:04:59 UTC (rev 105139)
+++ z3c.tabular/trunk/src/z3c/tabular/README.txt 2009-10-19 12:35:32 UTC (rev 105140)
@@ -177,7 +177,7 @@
</form>
-Now we are ready to select an item by click on the link. We simlate this by
+Now we are ready to select an item by click on the link. We simulate this by
set the relevant data in the request:
>>> selectRequest = TestRequest(form={
@@ -187,103 +187,276 @@
>>> selectedItemTable.__name__ = 'view.html'
>>> selectedItemTable.update()
>>> print selectedItemTable.render()
- <form action="http://127.0.0.1" method="post"
- enctype="multipart/form-data" class="edit-form"
- name="subFormTable" id="subFormTable">
- <div class="viewspace">
+ <form action="http://127.0.0.1" method="post"
+ enctype="multipart/form-data" class="edit-form"
+ name="subFormTable" id="subFormTable">
+ <div class="viewspace">
+ <div>
+ <table width="100%" border="0" cellspacing="0" cellpadding="0">
+ <tr>
+ <td valign="top">
+ <div>
+ <table class="contents">
+ <thead>
+ <tr>
+ <th>Name</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr class="even">
+ <td><a href="http://127.0.0.1/container/view.html?subFormTable-selectedItem-0-selectedItems=first">first</a></td>
+ </tr>
+ <tr class="selected odd">
+ <td><a href="http://127.0.0.1/container/view.html?subFormTable-selectedItem-0-selectedItems=second">second</a></td>
+ </tr>
+ <tr class="even">
+ <td><a href="http://127.0.0.1/container/view.html?subFormTable-selectedItem-0-selectedItems=third">third</a></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </td>
+ <td valign="top">
+ <div class="tableForm">
+ <form action="http://127.0.0.1" method="post"
+ enctype="multipart/form-data" class="edit-form"
+ name="form" id="form">
+ <div class="viewspace">
+ <div class="required-info">
+ <span class="required">*</span>
+ – required
+ </div>
<div>
- <table width="100%" border="0" cellspacing="0" cellpadding="0">
- <tr>
- <td valign="top">
- <div>
- <table class="contents">
- <thead>
- <tr>
- <th>Name</th>
- </tr>
- </thead>
- <tbody>
- <tr class="even">
- <td><a href="http://127.0.0.1/container/view.html?subFormTable-selectedItem-0-selectedItems=first">first</a></td>
- </tr>
- <tr class="selected odd">
- <td><a href="http://127.0.0.1/container/view.html?subFormTable-selectedItem-0-selectedItems=second">second</a></td>
- </tr>
- <tr class="even">
- <td><a href="http://127.0.0.1/container/view.html?subFormTable-selectedItem-0-selectedItems=third">third</a></td>
- </tr>
- </tbody>
- </table>
+ <div id="form-widgets-title-row" class="row">
+ <div class="label">
+ <label for="form-widgets-title">
+ <span>Title</span>
+ <span class="required">*</span>
+ </label>
</div>
- </td>
- <td valign="top">
- <div class="tableForm">
- <form action="http://127.0.0.1" method="post"
- enctype="multipart/form-data" class="edit-form"
- name="form" id="form">
- <div class="viewspace">
- <div class="required-info">
- <span class="required">*</span>
- – required
+ <div class="widget">
+ <input id="form-widgets-title" name="form.widgets.title"
+ class="text-widget required textline-field"
+ value="Second" type="text" />
+ </div>
</div>
- <div>
- <div id="form-widgets-title-row" class="row">
- <div class="label">
- <label for="form-widgets-title">
- <span>Title</span>
- <span class="required">*</span>
- </label>
- </div>
- <div class="widget">
- <input id="form-widgets-title" name="form.widgets.title"
- class="text-widget required textline-field"
- value="Second" type="text" />
+ <div id="form-widgets-number-row" class="row">
+ <div class="label">
+ <label for="form-widgets-number">
+ <span>Number</span>
+ <span class="required">*</span>
+ </label>
</div>
- </div>
- <div id="form-widgets-number-row" class="row">
- <div class="label">
- <label for="form-widgets-number">
- <span>Number</span>
- <span class="required">*</span>
- </label>
- </div>
- <div class="widget">
- <input id="form-widgets-number"
- name="form.widgets.number"
- class="text-widget required int-field" value="2"
- type="text" />
- </div>
+ <div class="widget">
+ <input id="form-widgets-number"
+ name="form.widgets.number"
+ class="text-widget required int-field" value="2"
+ type="text" />
</div>
</div>
</div>
+ </div>
+ <div>
+ <div class="buttons">
+ <input id="form-buttons-apply" name="form.buttons.apply"
+ class="submit-widget button-field" value="Apply"
+ type="submit" />
+ </div>
+ </div>
+ </form>
+ </div>
+ </td>
+ </tr>
+ </table>
+ </div>
+ </div>
+ <div>
+ <div class="buttons">
+ <input id="subFormTable-buttons-delete"
+ name="subFormTable.buttons.delete"
+ class="submit-widget button-field" value="Delete"
+ type="submit" />
+ <input id="subFormTable-buttons-edit"
+ name="subFormTable.buttons.edit"
+ class="submit-widget button-field" value="Edit"
+ type="submit" />
+ <input id="subFormTable-buttons-cancel"
+ name="subFormTable.buttons.cancel"
+ class="submit-widget button-field" value="Cancel"
+ type="submit" />
+ </div>
+ </div>
+ </form>
+
+
+Clicking the ``Edit`` button at the same time should hold the same result:
+
+ >>> selectRequest = TestRequest(form={
+ ... 'subFormTable-selectedItem-0-selectedItems': 'second',
+ ... 'subFormTable.buttons.edit': 'Edit'})
+ >>> alsoProvides(selectRequest, IDivFormLayer)
+ >>> selectedItemTable = ContentFormTable(container, selectRequest)
+ >>> selectedItemTable.__name__ = 'view.html'
+ >>> selectedItemTable.update()
+ >>> print selectedItemTable.render()
+ <form action="http://127.0.0.1" method="post"
+ enctype="multipart/form-data" class="edit-form"
+ name="subFormTable" id="subFormTable">
+ <div class="viewspace">
<div>
- <div class="buttons">
- <input id="form-buttons-apply" name="form.buttons.apply"
- class="submit-widget button-field" value="Apply"
- type="submit" />
+ <table width="100%" border="0" cellspacing="0" cellpadding="0">
+ <tr>
+ <td valign="top">
+ <div>
+ <table class="contents">
+ <thead>
+ <tr>
+ <th>Name</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr class="even">
+ <td><a href="http://127.0.0.1/container/view.html?subFormTable-selectedItem-0-selectedItems=first">first</a></td>
+ </tr>
+ <tr class="selected odd">
+ <td><a href="http://127.0.0.1/container/view.html?subFormTable-selectedItem-0-selectedItems=second">second</a></td>
+ </tr>
+ <tr class="even">
+ <td><a href="http://127.0.0.1/container/view.html?subFormTable-selectedItem-0-selectedItems=third">third</a></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </td>
+ <td valign="top">
+ <div class="tableForm">
+ <form action="http://127.0.0.1" method="post"
+ enctype="multipart/form-data" class="edit-form"
+ name="form" id="form">
+ <div class="viewspace">
+ <div class="required-info">
+ <span class="required">*</span>
+ – required
</div>
- </div>
- </form>
+ <div>
+ <div id="form-widgets-title-row" class="row">
+ <div class="label">
+ <label for="form-widgets-title">
+ <span>Title</span>
+ <span class="required">*</span>
+ </label>
</div>
- </td>
- </tr>
- </table>
+ <div class="widget">
+ <input id="form-widgets-title" name="form.widgets.title"
+ class="text-widget required textline-field"
+ value="Second" type="text" />
+ </div>
+ </div>
+ <div id="form-widgets-number-row" class="row">
+ <div class="label">
+ <label for="form-widgets-number">
+ <span>Number</span>
+ <span class="required">*</span>
+ </label>
+ </div>
+ <div class="widget">
+ <input id="form-widgets-number"
+ name="form.widgets.number"
+ class="text-widget required int-field" value="2"
+ type="text" />
+ </div>
+ </div>
</div>
+ </div>
+ <div>
+ <div class="buttons">
+ <input id="form-buttons-apply" name="form.buttons.apply"
+ class="submit-widget button-field" value="Apply"
+ type="submit" />
</div>
+ </div>
+ </form>
+ </div>
+ </td>
+ </tr>
+ </table>
+ </div>
+ </div>
+ <div>
+ <div class="buttons">
+ <input id="subFormTable-buttons-delete"
+ name="subFormTable.buttons.delete"
+ class="submit-widget button-field" value="Delete"
+ type="submit" />
+ <input id="subFormTable-buttons-edit"
+ name="subFormTable.buttons.edit"
+ class="submit-widget button-field" value="Edit"
+ type="submit" />
+ <input id="subFormTable-buttons-cancel"
+ name="subFormTable.buttons.cancel"
+ class="submit-widget button-field" value="Cancel"
+ type="submit" />
+ </div>
+ </div>
+ </form>
+
+Unless ``allowEdit`` is ``False``.
+In this case the editform won't appear.
+
+ >>> selectRequest = TestRequest(form={
+ ... 'subFormTable-selectedItem-0-selectedItems': 'second',
+ ... 'subFormTable.buttons.edit': 'Edit'})
+ >>> alsoProvides(selectRequest, IDivFormLayer)
+ >>> selectedItemTable = ContentFormTable(container, selectRequest)
+ >>> selectedItemTable.__name__ = 'view.html'
+ >>> selectedItemTable.allowEdit = False
+ >>> selectedItemTable.update()
+ >>> print selectedItemTable.render()
+ <form action="http://127.0.0.1" method="post"
+ enctype="multipart/form-data" class="edit-form"
+ name="subFormTable" id="subFormTable">
+ <div class="viewspace">
<div>
- <div class="buttons">
- <input id="subFormTable-buttons-delete"
- name="subFormTable.buttons.delete"
- class="submit-widget button-field" value="Delete"
- type="submit" />
- <input id="subFormTable-buttons-edit"
- name="subFormTable.buttons.edit"
- class="submit-widget button-field" value="Edit"
- type="submit" />
- <input id="subFormTable-buttons-cancel"
- name="subFormTable.buttons.cancel"
- class="submit-widget button-field" value="Cancel"
- type="submit" />
- </div>
+ <table width="100%" border="0" cellspacing="0" cellpadding="0">
+ <tr>
+ <td valign="top">
+ <div>
+ <table class="contents">
+ <thead>
+ <tr>
+ <th>Name</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr class="even">
+ <td><a href="http://127.0.0.1/container/view.html?subFormTable-selectedItem-0-selectedItems=first">first</a></td>
+ </tr>
+ <tr class="selected odd">
+ <td><a href="http://127.0.0.1/container/view.html?subFormTable-selectedItem-0-selectedItems=second">second</a></td>
+ </tr>
+ <tr class="even">
+ <td><a href="http://127.0.0.1/container/view.html?subFormTable-selectedItem-0-selectedItems=third">third</a></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </td>
+ <td valign="top">
+ </td>
+ </tr>
+ </table>
+ </div>
+ </div>
+ <div>
+ <div class="buttons">
+ <input id="subFormTable-buttons-delete"
+ name="subFormTable.buttons.delete"
+ class="submit-widget button-field" value="Delete"
+ type="submit" />
+ <input id="subFormTable-buttons-cancel"
+ name="subFormTable.buttons.cancel"
+ class="submit-widget button-field" value="Cancel"
+ type="submit" />
</div>
- </form>
\ No newline at end of file
+ </div>
+ </form>
Modified: z3c.tabular/trunk/src/z3c/tabular/table.py
===================================================================
--- z3c.tabular/trunk/src/z3c/tabular/table.py 2009-10-19 12:04:59 UTC (rev 105139)
+++ z3c.tabular/trunk/src/z3c/tabular/table.py 2009-10-19 12:35:32 UTC (rev 105140)
@@ -225,6 +225,8 @@
self.request), name=self.subFormName)
def updateSubForm(self):
+ if not self.supportsEdit:
+ return
selectedItem = self.selectedItem
if selectedItem is None:
return
@@ -244,9 +246,9 @@
self.subForm.ignoreRequest = True
self.subForm.update()
- @button.buttonAndHandler(u'Edit')
- def handleSubForm(self, action,
- condition=lambda form:form.supportsEdit):
+ @button.buttonAndHandler(u'Edit', condition=lambda form:form.supportsEdit)
+ def handleSubForm(self, action):
+ self.updateSubForm()
self.doSubForm(action)
@button.buttonAndHandler(_('Cancel'), name='cancel',
More information about the checkins
mailing list