[Zope-Checkins] CVS: Zope/lib/python/OFS/dtml -
properties.dtml:1.12.16.3
Brian Lloyd
brian at zope.com
Wed Jan 14 15:05:21 EST 2004
Update of /cvs-repository/Zope/lib/python/OFS/dtml
In directory cvs.zope.org:/tmp/cvs-serv9030
Modified Files:
Tag: Zope-2_7-branch
properties.dtml
Log Message:
forward-port Toby's encoding fixes from 2.6 branch
=== Zope/lib/python/OFS/dtml/properties.dtml 1.12.16.2 => 1.12.16.3 ===
--- Zope/lib/python/OFS/dtml/properties.dtml:1.12.16.2 Wed Nov 5 04:39:12 2003
+++ Zope/lib/python/OFS/dtml/properties.dtml Wed Jan 14 15:05:20 2004
@@ -1,5 +1,23 @@
-<dtml-call "REQUEST.set('management_page_charset','UTF-8')">
+<dtml-if management_page_charset>
+ <dtml-comment>
+ A site-global encoding specification in a property.
+ Note that this feature only works if there are no unicode objects
+ around. This means that this feature is not likely to be supported
+ in all future versions of zope.
+ </dtml-comment>
+ <dtml-call "REQUEST.set('management_page_charset_tag','')">
+<dtml-else>
+ <dtml-comment>
+ Thankfully no site-global encoding specification in a property.
+ We can set UTF-8, and unicode properties will work.
+ </dtml-comment>
+ <dtml-call "REQUEST.set('management_page_charset','UTF-8')">
+ <dtml-call "REQUEST.set('management_page_charset_tag','UTF-8:')">
+</dtml-if>
+
+<dtml-if "REQUEST.get('management_page_charset',None)=='UTF-8'">
<dtml-var "u' '">
+</dtml-if>
<dtml-var manage_page_header>
<dtml-with "_(management_view='Properties')">
<dtml-var manage_tabs>
@@ -45,7 +63,7 @@
<tr>
<td align="left" valign="top" width="16">
<dtml-if "'d' in _['sequence-item'].get('mode', 'awd')">
- <input type="checkbox" name="_ids:utf8:string:list" value="&dtml-id;"
+ <input type="checkbox" name="_ids:<dtml-var "REQUEST['management_page_charset_tag']">string:list" value="&dtml-id;"
id="cb-&dtml-id;">
<dtml-else>
</dtml-if>
@@ -65,21 +83,21 @@
<input type="text" name="&dtml-id;:&dtml-type;" size="35"
value="<dtml-if "hasProperty(id)"><dtml-var "('%s' % getProperty(id))" html_quote></dtml-if>">
<dtml-elif "type in ('float', 'date')">
- <input type="text" name="&dtml-id;:utf8:&dtml-type;" size="35"
+ <input type="text" name="&dtml-id;:<dtml-var "REQUEST['management_page_charset_tag']">&dtml-type;" size="35"
value="<dtml-var "getProperty(id)" html_quote>">
<dtml-elif "type in ['string','ustring']">
- <input type="text" name="&dtml-id;:utf8:&dtml-type;" size="35"
+ <input type="text" name="&dtml-id;:<dtml-var "REQUEST['management_page_charset_tag']">&dtml-type;" size="35"
value="<dtml-var "getProperty(id)" html_quote>">
<dtml-elif "type=='boolean'">
<input type="checkbox" name="&dtml-id;:boolean" size="35"
<dtml-if "getProperty(id)">CHECKED</dtml-if>>
<dtml-elif "type in ['tokens','utokens']">
- <input type="text" name="&dtml-id;:utf8:&dtml-type;" size="35"
+ <input type="text" name="&dtml-id;:<dtml-var "REQUEST['management_page_charset_tag']">&dtml-type;" size="35"
value="<dtml-in "getProperty(id)">&dtml-sequence-item; </dtml-in>">
<dtml-elif "type in ['text','utext']">
- <textarea name="&dtml-id;:utf8:&dtml-type;" rows="6" cols="35"><dtml-var "getProperty(id)" html_quote></textarea>
+ <textarea name="&dtml-id;:<dtml-var "REQUEST['management_page_charset_tag']">&dtml-type;" rows="6" cols="35"><dtml-var "getProperty(id)" html_quote></textarea>
<dtml-elif "type in ['lines','ulines']">
- <textarea name="&dtml-id;:utf8:&dtml-type;" rows="6" cols="35"><dtml-in
+ <textarea name="&dtml-id;:<dtml-var "REQUEST['management_page_charset_tag']">&dtml-type;" rows="6" cols="35"><dtml-in
"getProperty(id)">&dtml-sequence-item;<dtml-if
sequence-end><dtml-else><dtml-var "'\n'"></dtml-if></dtml-in></textarea>
@@ -87,7 +105,7 @@
<dtml-if "hasProperty(select_variable)">
<div class="form-element">
- <select name="&dtml-id;:utf8:text">
+ <select name="&dtml-id;:<dtml-var "REQUEST['management_page_charset_tag']">text">
<dtml-in "getProperty(select_variable)">
<option
<dtml-if "_['sequence-item']==getProperty(id)">SELECTED</dtml-if>
@@ -97,7 +115,7 @@
</div>
<dtml-elif "_.has_key(select_variable)">
<div class="form-element">
- <select name="&dtml-id;:utf8:text">
+ <select name="&dtml-id;:<dtml-var "REQUEST['management_page_charset_tag']">text">
<dtml-in "_[select_variable]">
<option
<dtml-if "_['sequence-item']==getProperty(id)">SELECTED</dtml-if>
@@ -115,7 +133,7 @@
<dtml-if "hasProperty(select_variable)">
<div class="form-element">
- <select name="&dtml-id;:utf8:list:string" multiple
+ <select name="&dtml-id;:<dtml-var "REQUEST['management_page_charset_tag']">list:string" multiple
size="<dtml-var "_.min(7, _.len(getProperty(select_variable)))">">
<dtml-in "getProperty(select_variable)">
<option<dtml-if
@@ -127,7 +145,7 @@
</div>
<dtml-elif "_.has_key(select_variable)">
<div class="form-element">
- <select name="&dtml-id;:utf8:list:string" multiple
+ <select name="&dtml-id;:<dtml-var "REQUEST['management_page_charset_tag']">list:string" multiple
size="<dtml-var "_.min(7, _.len(_[select_variable]))">">
<dtml-in "_[select_variable]">
<option<dtml-if
@@ -218,7 +236,7 @@
</div>
</td>
<td align="left" valign="top">
- <input type="text" name="id:utf8:string" size="30" value=""/>
+ <input type="text" name="id:<dtml-var "REQUEST['management_page_charset_tag']">string" size="30" value=""/>
</td>
<td align="left" valign="top" class="form-label">
Type
@@ -233,12 +251,14 @@
<option>lines</option>
<option>long</option>
<option selected>string</option>
- <option>ustring</option>
- <option>text</option>
- <option>tokens</option>
- <option>utext</option>
- <option>utokens</option>
- <option>ulines</option>
+ <dtml-if "REQUEST['management_page_charset'] == 'UTF-8'">
+ <option>ustring</option>
+ <option>text</option>
+ <option>tokens</option>
+ <option>utext</option>
+ <option>utokens</option>
+ <option>ulines</option>
+ </dtml-if>
<option>selection</option>
<option>multiple selection</option>
</select>
@@ -252,7 +272,11 @@
</div>
</td>
<td colspan=2 align="left" valign="top">
- <input type="text" name="value:utf8:ustring" size="30" />
+ <dtml-if "REQUEST['management_page_charset'] == 'UTF-8'">
+ <input type="text" name="value:UTF-8:ustring" size="30" />
+ <dtml-else>
+ <input type="text" name="value:string" size="30" />
+ </dtml-if>
</td>
<td align="right" valign="top">
<div class="form-element">
More information about the Zope-Checkins
mailing list