[Zope] Problem w/ form writing to database

Steve Spicklemire steve@spvi.com
Mon, 09 Jul 2001 22:06:55 -0500


Hi Terry,

	You want the "action" of your form to be another DTML Method that calls
the ZSQLMethod and then either displays some confirmation UI, or
redirects to something intelligent. 

e.g., 

<dtml-call newTicket>

Thanks Your Ticket has been entered!

<form action="&dtml-URL1;">
<input type="SUBMIT" value="OK!">
</form>

-steve

Terry McKenna wrote:
> 
> I am trying to build a Help Desk Trouble Ticket
> tracking system. I want to use a web based form to
> allow customers to enter trouble tickets. The problem
> I am having is that when I submit the form, the zope
> development environment pulls up its native database
> "test" form instead of making an entry in the
> database. It seems I can only enter data to my
> external database through the Zope "test" form. Any
> ideas?
> ---------------------------------------------------
> 
> "submitTicket" method:
> 
> <form action="troubleTicket/newTicket" method="get">
> <table>
>   <tr>
>     <th align=right>Name:
>     <td><input type="text" name="name" size=32>
>   <tr>
>     <th align=right>Phone:
>     <td><input type="text" name="phone" size=10>
>   <tr>
>     <th align=right>E-Mail:
>     <td><input type="text" name"email" size=32>
>   <tr>
>     <th aligh=right>App:
>     <td><select name="app">
>         <option>N/A
>         <option>Servie Inquiry
>         <option>Idea DataMart
>         <option>Siebel Smart Serve
>         <option>S4 Operations
>         </select>
>   <tr>
>     <th aligh=right>Server:
>     <td><select name="server">
>         <option>N/A
>         <option>caycom3
>         <option>caycom4
>         <option>caydec1
>         <option>caydec2
>         <option>cosclim1
>         <option>cossi01
>         <option>cspcom1
>         <option>cspcom2
>         <option>cspsie05
>         <option>norsi01
>         <option>omzdie06
>         <option>omzsie07
>         <option>omzsie09
>         <option>s4reports
>         <option>system2
>         </select>
>     <tr>
>       <th align=right>Priority:
>       <td><select name="pri">
>       <option>4
>       <option>3
>       <option>2
>       <option>1
>       </select>
> </table>
> <table>
>       <tr>
>         <td> 1 = 1 hr response
>       <tr>
>         <td> 2 = 4 hr response
>       <tr>
>         <td> 3 = 24 hr response
>       <tr>
>         <td> 4 = 72 hr response
> </table>
>     <p><h4>Description of Problem:</h4>
>     <textarea name="description" cols="37" rows="5">
>     </textarea>
>     <p><input type="submit" name="submit" value="
> Submit "
> </form>
> ---------------------------------------------------------------
> 
> Z SQL method "newTicket":
> 
> insert into ticket3 values
> (<dtml-sqlvar ticketNum type="int" optional>,
>  <dtml-sqlvar name type="string">,
>  <dtml-sqlvar phone type="string">,
>  <dtml-sqlvar email type="string">,
>  <dtml-sqlvar app type="string">,
>  <dtml-sqlvar server type="string">,
>  <dtml-sqlvar priority type="int">,
>  <dtml-sqlvar problem type="string">)
> --------------------------------------------------------------
> 
> submitTicket calls newTicket. I think submitTicket
> passes the values entered by the user on the form to
> newTicket. I thought that should be enough for
> NewTicket to make an entry in the database but the
> Zope "test" interface populates the screen when I hit
> submit.
> 
> -Thanks in advance.
> 
> __________________________________________________
> Do You Yahoo!?
> Get personalized email addresses from Yahoo! Mail
> http://personal.mail.yahoo.com/
> 
> _______________________________________________
> Zope maillist  -  Zope@zope.org
> http://lists.zope.org/mailman/listinfo/zope
> **   No cross posts or HTML encoding!  **
> (Related lists -
>  http://lists.zope.org/mailman/listinfo/zope-announce
>  http://lists.zope.org/mailman/listinfo/zope-dev )