[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