[Erp5-report] r35498 fabien - /erp5/trunk/products/ERP5Form/dtml/proxyFieldTales.dtml

nobody at svn.erp5.org nobody at svn.erp5.org
Thu May 20 17:06:10 CEST 2010


Author: fabien
Date: Thu May 20 17:06:07 2010
New Revision: 35498

URL: http://svn.erp5.org?rev=35498&view=rev
Log:
same as r35493 for tales tab : make fields readonly if the delegated checkbox is checked

Modified:
    erp5/trunk/products/ERP5Form/dtml/proxyFieldTales.dtml

Modified: erp5/trunk/products/ERP5Form/dtml/proxyFieldTales.dtml
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Form/dtml/proxyFieldTales.dtml?rev=35498&r1=35497&r2=35498&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Form/dtml/proxyFieldTales.dtml [utf8] (original)
+++ erp5/trunk/products/ERP5Form/dtml/proxyFieldTales.dtml [utf8] Thu May 20 17:06:07 2010
@@ -84,9 +84,11 @@
                   <dtml-if "proxy_field.is_delegated(field_id)">
                     <input type="checkbox" 
                            name="<dtml-var checkbox_key>" 
+                           onclick="toggleFieldState(event)"
                            checked="checked" />
                   <dtml-else >
                     <input type="checkbox" 
+                           onclick="toggleFieldState(event)"
                            name="<dtml-var checkbox_key>" />
                   </dtml-if >
                 </dtml-let >
@@ -99,9 +101,15 @@
               <dtml-var "field.title()">
               </div>
               </td>
-              <td align="left" valign="top">
-              <dtml-var "field.render(value)">
-              </td>
+              <dtml-if "proxy_field.is_delegated(field_id)">
+                <td align="left" valign="top" class="to_disable delegated">
+                <dtml-var "field.render(value)">
+                </td>
+              <dtml-else >
+                <td align="left" valign="top" class="to_disable">
+                <dtml-var "field.render(value)">
+                </td>
+              </dtml-if>
               <td><div class="form-element">
               <dtml-var "current_field.form.get_field(field.id).meta_type">
               </div></td>
@@ -130,9 +138,53 @@
 
 </table>
 </form>
+<script type="text/javascript">
+function isClass(object, className) {
+        if (object.className != undefined){
+        return (object.className.search('(^|\\s)' + className + '(\\s|$)') != -1);
+        }
+        return false;
+}
+function GetElementsWithClassName(elementName,className) {
+        var allElements = document.getElementsByTagName(elementName);
+        var elemColl = new Array();
+        for (i = 0; i< allElements.length; i++) {
+                if (isClass(allElements[i], className)) {
+                        elemColl[elemColl.length] = allElements[i];
+                }
+        }
+        return elemColl;
+}
+var class_deletaged_list = GetElementsWithClassName('*','delegated');
+for(var i=0; i<class_deletaged_list.length; i++) {
+  element = class_deletaged_list[i].childNodes[1];
+  if (element.type == 'hidden'){
+    element = class_deletaged_list[i].childNodes[2];
+  }
+  element.readOnly = true;
+}
 
-
-
+function toggleFieldState(evt) {
+  evt=(evt)?evt:event;
+  var target=(evt.target)?evt.target:evt.srcElement;
+  tr_parent = target.parentNode.parentNode;
+  allElements = tr_parent.childNodes;
+  for (i=0; i<allElements.length; i++) {
+    if (isClass(allElements[i], 'to_disable')) {
+      field = allElements[i].childNodes[1];
+      if (field.type == 'hidden'){
+        field = allElements[i].childNodes[2];
+      }
+      if (field.readOnly){
+        field.readOnly = false;
+      }
+      else{
+        field.readOnly = true;
+      }
+    }
+  }
+}
+</script>
 <dtml-var manage_page_footer>
 
 




More information about the Erp5-report mailing list