Bug 9126: Do not return from Check too early.

If there is no errors, it should continue instead of returning true.

+ move a block of code at the end of Check function. This avoid
detaching and re-attaching a HTML block if there are errors.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
The following queries show us the issues:
select count(*) from items;
select * from aqorders_items where ordernumber=XX;

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
To test:

AcqCreateItem = receive
UniqueItemFields = barcode

1) Create a new basket
2) Create a new order with quantity > 1
3) Close the basket and create a new invoice/shipment
4) Receive only 1 item.
   - Fill out the first item form with item type only. Click add.
   - Don't change second item form at all.
   - Click save.

Before patch:
2 items are created on the record, both with the selected itemtype.

After patch:
Only 1 item is created, which is correct.

Signed-off-by: Elliott Davis <elliott@bywatersolions.com>
Seems to work as described by the test plan
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
This commit is contained in:
Julian Maurice 2012-11-21 17:38:28 +01:00 committed by Jared Camins-Esakov
parent 22613e43cc
commit 3de2b44782
1 changed files with 7 additions and 13 deletions

View File

@ -18,17 +18,19 @@
}
});
var alertString;
if (total_errors==0) {
return true;
} else {
alertString = _("Form not submitted because of the following problem(s)");
if (total_errors != 0) {
var alertString = _("Form not submitted because of the following problem(s)");
alertString += "\n------------------------------------------------------------------------------------\n";
alertString += "\n- "+ total_errors+_(" mandatory fields empty (highlighted)");
alert(alertString);
return false;
}
if(check_additem('[% UniqueItemFields %]') == false){
alert(_('Duplicate values detected. Please correct the errors and resubmit.') );
return false;
};
// Remove last itemblock if it is not in items_list
var lastitemblock = $("#outeritemblock > div:last");
var tobedeleted = true;
@ -41,14 +43,6 @@
if(tobedeleted){
$(lastitemblock).remove();
}
if(check_additem('[% UniqueItemFields %]') == false){
alert(_('Duplicate values detected. Please correct the errors and resubmit.') );
if(tobedeleted) {
$(lastitemblock).appendTo("#outeritemblock");
}
return false;
};
[% END %]
return true;