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>
This commit is contained in:
Katrin Fischer 2023-05-29 15:41:44 +00:00 committed by Tomas Cohen Arazi
parent c7cf368f16
commit 5d35c3596d
Signed by: tomascohen
GPG key ID: 0A272EA1B2F3C15F

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/,$//;