Use the notify handler instead of the resolve handler to collect our
copies. This ensures we get them all instead of just the last one.
To reproduce the bug:
1. Open Item Status in the web staff client.
2. Load multiple items, perhaps by uploading a file of barcodes.
3. Select more than 1 item from the list.
4. Choose "Delete Items" from the Actions menu.
5. Note that the dialog indicates that you will delete 1 copy.
6. Click the Cancel button in the dialog.
To test, after applying the fix branch:
1. Open Item Status in the web staff client.
2. Load multiple items, perhaps by uploading a file of barcodes.
3. Select more than 1 item from the list.
4. Choose "Delete Items" from the Actions menu.
5. Note that that the dialog indicates you will delete X copies,
where X is the number of items selected.
6. Click OK and confirm that all copies were deleted.
7. You can confirm 6 by reloading the interface and uploading the
file of barcodes again.
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Jason Boyer <jboyer@library.in.gov>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
egCore.pcrud.search('acp',
{deleted : 'f', id : items.map(function(el){return el.id;}) },
{ flesh : 1, flesh_fields : { acp : ['call_number'] } }
- ).then(function(copy) {
- copy_objects.push(copy);
- }).then(function() {
+ ).then(function() {
var cnHash = {};
var perCnCopies = {};
angular.forEach(items, function(cp){service.add_barcode_to_list(cp.barcode)});
});
});
+ },
+ null,
+ function(copy) {
+ copy_objects.push(copy);
});
}