Bug 22135: Display 'shelved out of order' error in inventory CSV export

When using the inventory tool with an uploaded barcode file
and checking the "Compare barcodes list to results",
"Check barcodes list for items shelved out of order" and
"Export to CSV file" checkboxes, the resulting CSV file showed
a blank in the "problem" column for items with out of order
callnumbers. With this patch, you'll see "Shelved out of order".

To test:
* Create 3 items with callnumbers and barcodes a, b, and c
* Go to Cataloguing > Inventory
* Enter a c b (each on its own line) into the barcode field
* Check "Compare barcodes list to results"
* Check "Check barcodes list for items shelved out of order"
* Check "Export to CSV file" (at the bottom)
* Verify the file has empty lines in the problem column
* Apply patch
* Repeat test, the empty lines should now read: "Shelved out of order"

Note: Also fixes "problem" to "Problem" to make capitalization
consistent. All those strings are currently not translatable,
this will be filed separately.

Co-authored-by: Mark Alexander <marka@pobox.com>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 5d35c3596d)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This commit is contained in:
Katrin Fischer 2023-05-29 15:41:44 +00:00 committed by Fridolin Somers
parent 5cc97ab746
commit b185fd3fe3

View file

@ -395,7 +395,7 @@ if (defined $input->param('CSVexport') && $input->param('CSVexport') eq 'on'){
my ( $table, $column ) = split '\.', $key;
push @translated_keys, NormalizeString($columns->{$table}->{$column} // '');
}
push @translated_keys, 'problem' if $uploadbarcodes;
push @translated_keys, 'Problem' if $uploadbarcodes;
$csv->combine(@translated_keys);
print $csv->string, "\n";
@ -418,6 +418,8 @@ if (defined $input->param('CSVexport') && $input->param('CSVexport') eq 'on'){
$errstr .= "no barcode,";
} elsif( $key eq 'checkedout' ) {
$errstr .= "checked out,";
} elsif( $key eq 'out_of_order' ) {
$errstr .= "shelved out of order,";
}
}
$errstr =~ s/,$//;