[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