Re: [Zope] Form variables with same name as folder names

2000-11-14 Thread Chris Withers

"Burwell, Becky " wrote:
 
 The simple answer:  use REQUEST.form['FOO']  to refer to the
 form variable.
 
 I just did an experiment and if I do the following my SQL Method:
dtml-if REQUEST.form['FOO']
 
 this is never true.

...because you're missing some " "

REQUEST.form['FOO'] is a python expression.

dtml-if REQUEST.form['FOO'] is short for dtml-var
name="REQUEST.form['FOO']"

so, unless you have a folder or document names 'REQUEST.form['FOO']', it
will return false :-S

What you want is dtml-if "REQUEST.form['FOO']", which is short for
dtml-if expr="REQUEST.form['FOO']".

This evaluates expr as a python expression...

 If I do:
 dtml-if "REQUEST.form['FOO']" or dtml-if "REQUEST.form['FOO]=='1'"
 
 I get name errors with REQUEST being unknown.

...an oddity of ZSQL methods :-( The REQUEST usually gets made available
in the namespace, but in ZSQL methods, only the parameters your specify
as 'arguments' get added to the namespace. At a guess, try adding
REQUEST to the 'Arguments' list...

good luck,

Chris

___
Zope maillist  -  [EMAIL PROTECTED]
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 )




Re: [Zope] Form variables with same name as folder names

2000-11-13 Thread Andy McKay

 1) the ZSQL manual,
http://www.zope.org/Documentation/Guides/ZSQL-HTML/ZSQL.1.4.4.html, says
that the first lookup should be variables in HTTP_REQUEST. So why is FOO
referring to my folder FOO?

Its true it does and I found the exact problem. A chance to lob this bug
into the collector.

 2) is there some way I could have referred to the variable FOO in my Z SQL
method without resorting to renaming the variable in my form?

Rename your folder :)



___
Zope maillist  -  [EMAIL PROTECTED]
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 )




Re: [Zope] Form variables with same name as folder names

2000-11-13 Thread Curtis Maloney

On Tue, 14 Nov 2000, "Burwell, Becky wrote:
 Hi. I am new to using Zope and just got stuck on the following problem. I
 am trying to use forms with an SQL database.

 I have a form with checkboxes and I use variables like FOO to capture the
 value. For example: input type="checkbox" name="FOO" value="1"

 The form has a post with the action to call a DTML document. In my DTML
 document I call a Z SQL Method called InsertMethod with REQUEST as the
 argument, for example  InsertMethod(REQUEST).

 My Z SQL Method InsertMethod has arguments including
   FOO=""

 And then in the body of the Z SQL method I have:

 dtml-if FOO
{code to insert into a database table}

 
 This working UNTIL I created a Folder named FOO. Then the value of FOO in
 the Z SQL method seemed to be the FOO folder and not FOO from REQUEST.  My
 workaround was to call the variable FOOCHECKBOX.


 2) is there some way I could have referred to the variable FOO in my Z SQL
 method without resorting to renaming the variable in my form?


A sneaky problem indeed, and once again, one caused by "convenient" 
shortcuts. (o8

The simple answer:  use REQUEST.form['FOO']  to refer to the form variable.

The longer answer:

To make life simpler on our key-weary fingers, DC made all the form variables 
part of the namespace, but put then sufficiently down the search path so they 
wouldn't get in the way of other objects.  Most of the time this is just 
great, but occasionaly you do run into this problem.

So, you can explicitly access all form variables with REQUEST.form[]... just 
as you can access all cookies via REQUEST.cookies[] 

I would advise you make a small DTML Document containing dtml-var REQUEST 
just to have a look at what it contains THEN go and check up the ZQR for 
all the members of REQUEST... and RESPONSE, while you're at it.. (o8


 Thanks!

 *becky*


Have a better one,
Curtis Maloney

___
Zope maillist  -  [EMAIL PROTECTED]
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 )




RE: [Zope] Form variables with same name as folder names

2000-11-13 Thread Burwell, Becky [EMAIL PROTECTED]

On Tue, 14 Nov 2000, "Burwell, Becky wrote:

 This working UNTIL I created a Folder named FOO. Then the 
value of FOO in
 the Z SQL method seemed to be the FOO folder and not FOO 
from REQUEST.  My
 workaround was to call the variable FOOCHECKBOX.


 2) is there some way I could have referred to the variable 
FOO in my Z SQL
 method without resorting to renaming the variable in my form?


A sneaky problem indeed, and once again, one caused by "convenient" 
shortcuts. (o8

The simple answer:  use REQUEST.form['FOO']  to refer to the 
form variable.

I just did an experiment and if I do the following my SQL Method:
   dtml-if REQUEST.form['FOO']

this is never true.

If I do:
dtml-if "REQUEST.form['FOO']" or dtml-if "REQUEST.form['FOO]=='1'"

I get name errors with REQUEST being unknown.

The REQUEST.form thing works in the DTML document that calls the SQL method but not
in the SQL method itself.

*becky*

___
Zope maillist  -  [EMAIL PROTECTED]
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 )