HTML data entry forms and ZPTs

"Ken Winter" <[email protected]>
Newsgroups gmane.comp.web.zope.page-templates
Message-ID <002b01c554c0$e33a9b10$6603a8c0@kenxp>
I'm trying to build a data-entry form using only ZPTs (no DTML, except in
the ZSQL methods that put the data into the DB).  

My little test page is at
http://dhat.vega.zettai.net/clients/ridhwan/dhr3/deltest.htm.  At the top
are the persons currently in the site's MySQL database; the retrieval of
them works fine.  What doesn't work is the attempt to delete a person by
entering an Id into the field and pressing the "Delete this Person" button.


The core ZPT code for this page is:

<h1> People (deletion test)</h1>
<table tal:repeat="row here/dbobs/read_all_people" width="100%" border="0"
cellspacing="0" cellpadding="0"><font face="Verdana, Arial, Helvetica,
sans-serif">
<tr> 
<td width="44%" tal:content="string:${row/person_id} - ${row/first_name}
${row/middle_names} ${row/last_name}">Filler</td>
<td width="56%">&nbsp;</td>
</tr>
</table>
<p></p>
<form action="python:here.dbobs.delete_person_py(context.REQUEST.person_id)"
method="post" name="delete_form">
<p>Id of Person To Delete: 
   <input type="text" name="person_id:int" />
</p>
<p> 
   <input name="do_delete" type="submit" id="do_delete" value="Delete this
Person" />
</p>
</form>
<p>The &quot;Ids&quot; are the numbers in front of each person's name.</p>
<p><a href="deltest.htm">Refresh This Page</a></p>
<p tal:replace="python:here.dbobs.test1('MyParamValue')">Junk</p>	

Here is the entire body of the Python script "delete_person_py(id)" that the
ZPT <form> tag is trying to call and that in turn invokes the ZSQL
"delete_person" method:

       container.delete_person(person_id=id)

and here's the ZSQL method "delete_person" that it calls:

       delete from person where person_id = <dtml-sqlvar person_id type=int>

I think I have the problem narrowed down to the call from the ZPT to the
Python script, which somehow fails to pass the form variable "person_id"
that is needed to select the person to delete.  For example, I know that I
can do deletes successfully by invoking the Python script directly from the
ZMI.  I have tried every variation on the data-passing that I can think of.
I've tried calling the ZSQL method directly from the ZPT.  The successful
call to another script at the bottom of the page rules out a bunch of other
problems.  I have scoured every Zope reference I can find - there are plenty
of examples of doing forms with DTML (e.g.
http://www.faqts.com/knowledge_base/view.phtml/aid/5518/fid/567), but none
for doing forms with ZPTs.

There's just gotta be a "well, duh" simple solution to this, but it has
escaped me.

- Thanks in advance for your help!
- Ken Winter

_______________________________________________
ZPT mailing list
[email protected]
http://mail.zope.org/mailman/listinfo/zpt
winmail.dat (application/ms-tnef, 10.9 KB) - not displayed
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.