← Back to team overview

openerp-dev-web team mailing list archive

[Merge] lp:~openerp-dev/openobject-client-web/6.0-opw-3980-sma into lp:openobject-client-web/6.0

 

Sananaz (Open ERP) has proposed merging lp:~openerp-dev/openobject-client-web/6.0-opw-3980-sma into lp:openobject-client-web/6.0.

Requested reviews:
  OpenERP Core Team (openerp)
Related bugs:
  Bug #712352 in OpenERP Web Client: "Change account type"
  https://bugs.launchpad.net/openobject-client-web/+bug/712352

For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-client-web/6.0-opw-3980-sma/+merge/54813

Hello,

- Install l10n_ch module
- Go to Sales > Address Book > Customer
- Accounting tab > Bank Details > Create new 
- Change Bank Type

When bank type states change apply readonly, required attributes.

Thank you.


-- 
https://code.launchpad.net/~openerp-dev/openobject-client-web/6.0-opw-3980-sma/+merge/54813
Your team OpenERP R&D Team is subscribed to branch lp:~openerp-dev/openobject-client-web/6.0-opw-3980-sma.
=== modified file 'addons/openerp/static/javascript/form_state.js'
--- addons/openerp/static/javascript/form_state.js	2011-01-19 00:54:20 +0000
+++ addons/openerp/static/javascript/form_state.js	2011-03-25 05:45:49 +0000
@@ -61,8 +61,9 @@
         src = evt.src();
     else
         src = evt.target;
-    
+
     var value = typeof(src.value) == "undefined" ? getNodeAttribute(src, 'value') || src.innerHTML : src.value;
+    var $field = jQuery(idSelector(widget));
 
     if (MochiKit.Base.isArrayLike(states)) {
         form_setVisible(container, widget, findIdentical(states, value) > -1);
@@ -79,13 +80,22 @@
     }
 
     var attr = states[value];
-
-    if (attr && has_readonly)
-        form_setReadonly(container, widget, attr['readonly']);
-
-    if (attr && has_required)
-        form_setRequired(container, widget, attr['required']);
-
+    if (has_readonly) {
+    	if (attr) {
+        	form_setReadonly(container, widget, attr['readonly']);
+    	}
+    	else {
+        	form_setReadonly(container, widget, parseInt($field.attr('fld_readonly')));
+    	}
+    }
+    if (has_required) {
+    	if (attr) {
+        	form_setRequired(container, widget, attr['required']);
+    	}
+        else {
+        	form_setRequired(container, widget, parseInt($field.attr('required')));
+        }
+    }
 }
 
 function form_hookAttrChange() {
@@ -239,7 +249,7 @@
 
 function form_setReadonly(container, fieldName, readonly) {
 
-    var $field = jQuery(fieldName) || jQuery(idSelector(fieldName));
+    var $field = typeof(fieldName) == "string" ? jQuery(idSelector(fieldName)) : jQuery(fieldName);
 
     if (!$field.length) {
         return;
@@ -298,12 +308,15 @@
     if (!field) {
         field = container;
     }
-	var editable = getElement('_terp_editable').value;
+    var editable = getElement('_terp_editable').value;
 
-    var $field = jQuery(field);
-    if (editable == 'True') {
+    var $field = jQuery(idSelector(field));
+    if (editable == 'True' && required) {
         $field.toggleClass('requiredfield', required);
     }
+    else {
+    	$field.removeClass('requiredfield');
+    }
     if(required) {
         $field.removeClass('readonlyfield');
     }

=== modified file 'addons/openerp/widgets/form/templates/char.mako'
--- addons/openerp/widgets/form/templates/char.mako	2010-12-01 10:06:02 +0000
+++ addons/openerp/widgets/form/templates/char.mako	2011-03-25 05:45:49 +0000
@@ -2,7 +2,7 @@
     <span class="char">
         <input type="${password and 'password' or 'text'}" size="1"
             id="${name}" name="${name}" class="${css_class}"
-            ${py.attrs(attrs, kind=kind, maxlength=size, value=value)}/>
+            ${py.attrs(attrs, kind=kind, maxlength=size, value=value, required=required and 1 or 0, fld_readonly=readonly and 1 or 0)}/>
         % if translatable:
             <img src="/openerp/static/images/stock/stock_translate.png" class="translatable" />
             <script type="text/javascript">

=== modified file 'addons/openerp/widgets/form/templates/many2one.mako'
--- addons/openerp/widgets/form/templates/many2one.mako	2010-12-01 10:06:02 +0000
+++ addons/openerp/widgets/form/templates/many2one.mako	2011-03-25 05:45:49 +0000
@@ -11,7 +11,7 @@
     <%self:m2o_container>
         <span class="m2o">
             <input type="hidden" id="${name}" name="${name}" class="${css_class}" value="${value}"
-                ${py.attrs(attrs, kind=kind, domain=domain, context=ctx, relation=relation)}/>
+                ${py.attrs(attrs, kind=kind, domain=domain, context=ctx, relation=relation, required=required and 1 or 0, fld_readonly=readonly and 1 or 0)}/>
             <input type="text" id="${name}_text" class="${css_class}" size="1"
                 ${py.attrs(attrs, kind=kind, relation=relation, value=text)}/>
 


Follow ups