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

Requested reviews:
  OpenERP Core Team (openerp)
Related bugs:
  Bug #752269 in OpenERP Web Client: "Pay Invoice in v6.0.2 always prompts 
"Invalid form, correct red fields""
  https://bugs.launchpad.net/openobject-client-web/+bug/752269

For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-client-web/6.0-bug-752269-sma/+merge/56752

Hello,

Following steps to Reproduced the problem:
1) Create Customer Invoice Add Invoice Line.
2) Validate invoice and click on payment button.
4) Pay Invoice form open ,Fill the all required field and try to save it.
Then it gives error "Invalid form, correct red fields"

Problem is:
In Pay Invoice form, one selection field (`Payment Method`) (It fire onchange 
and fill one2many and other fields values, so for `account_id` value is not 
filled and `account_id` field is hidden and required.)

I am surprise after get the solution because problem is not at onchange method 
but at form_state.js form_setRequired method. because of the error in 
setRequired subsequent field-values returned by on_change were not reflected.

Thanks.
-- 
https://code.launchpad.net/~openerp-dev/openobject-client-web/6.0-bug-752269-sma/+merge/56752
Your team OpenERP R&D Team is subscribed to branch 
lp:~openerp-dev/openobject-client-web/6.0-bug-752269-sma.
=== modified file 'addons/openerp/static/javascript/form_state.js'
--- addons/openerp/static/javascript/form_state.js	2011-03-25 05:31:27 +0000
+++ addons/openerp/static/javascript/form_state.js	2011-04-07 12:50:58 +0000
@@ -159,7 +159,7 @@
 function form_onAttrChange(container, widgetName, attr, expr, elem) {
 
     var prefix = widgetName.slice(0, widgetName.lastIndexOf('/') + 1);
-    var widget = openobject.dom.get(widgetName);
+    var widget = jQuery(idSelector(widgetName));
 
     var result = form_evalExpr(prefix, expr, elem);
 
@@ -310,7 +310,7 @@
     }
     var editable = getElement('_terp_editable').value;
 
-    var $field = jQuery(idSelector(field));
+    var $field = typeof(field) == "string" ? jQuery(idSelector(field)) : field;
     if (editable == 'True' && required) {
         $field.toggleClass('requiredfield', required);
     }
@@ -323,9 +323,9 @@
     $field.removeClass('errorfield');
 
     var kind = $field.attr('kind');
-    
-    if (field.type == 'hidden' && kind == 'many2one') {
-        form_setRequired(container, openobject.dom.get(field.name + '_text'), required);
+
+   if ($field.attr('type') == 'hidden' && kind == 'many2one') {
+        form_setRequired(container, jQuery(idSelector($field.attr('name')) + '_text'), required);
     }
 }
 

_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-web
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-web
More help   : https://help.launchpad.net/ListHelp

Reply via email to