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%"> </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 "Ids" 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
<<attachment: winmail.dat>>
_______________________________________________ ZPT mailing list [email protected] http://mail.zope.org/mailman/listinfo/zpt
