Merge lp:~openerp-dev/openobject-client-web/6.0-bug-752269-sma into lp:openobject-client-web

Proposed by Sananaz (Open ERP)
Status: Rejected
Rejected by: Xavier (Open ERP)
Proposed branch: lp:~openerp-dev/openobject-client-web/6.0-bug-752269-sma
Merge into: lp:openobject-client-web
Diff against target: 33 lines (+5/-5)
1 file modified
addons/openerp/static/javascript/form_state.js (+5/-5)
To merge this branch: bzr merge lp:~openerp-dev/openobject-client-web/6.0-bug-752269-sma
Reviewer Review Type Date Requested Status
Xavier (Open ERP) (community) Disapprove
Review via email: mp+56752@code.launchpad.net

Description of the change

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.

To post a comment you must log in.
Revision history for this message
Xavier (Open ERP) (xmo-deactivatedaccount) wrote :

Already fixed locally by adding a guard to idSelector preventing stupid stuff like giving it a node (which was not in its specs). I'll just push the fix.

review: Disapprove

Unmerged revisions

4570. By Sananaz (Open ERP)

[FIX] When call o2m onchange then surprisely stuck after o2m defaults(pay invoice).

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'addons/openerp/static/javascript/form_state.js'
2--- addons/openerp/static/javascript/form_state.js 2011-03-25 05:31:27 +0000
3+++ addons/openerp/static/javascript/form_state.js 2011-04-07 12:50:58 +0000
4@@ -159,7 +159,7 @@
5 function form_onAttrChange(container, widgetName, attr, expr, elem) {
6
7 var prefix = widgetName.slice(0, widgetName.lastIndexOf('/') + 1);
8- var widget = openobject.dom.get(widgetName);
9+ var widget = jQuery(idSelector(widgetName));
10
11 var result = form_evalExpr(prefix, expr, elem);
12
13@@ -310,7 +310,7 @@
14 }
15 var editable = getElement('_terp_editable').value;
16
17- var $field = jQuery(idSelector(field));
18+ var $field = typeof(field) == "string" ? jQuery(idSelector(field)) : field;
19 if (editable == 'True' && required) {
20 $field.toggleClass('requiredfield', required);
21 }
22@@ -323,9 +323,9 @@
23 $field.removeClass('errorfield');
24
25 var kind = $field.attr('kind');
26-
27- if (field.type == 'hidden' && kind == 'many2one') {
28- form_setRequired(container, openobject.dom.get(field.name + '_text'), required);
29+
30+ if ($field.attr('type') == 'hidden' && kind == 'many2one') {
31+ form_setRequired(container, jQuery(idSelector($field.attr('name')) + '_text'), required);
32 }
33 }
34