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>
(cherry picked from commit b185fd3fe3)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
This commit is contained in:
Katrin Fischer 2023-05-29 15:41:44 +00:00 committed by Matt Blenkinsop
parent 6c72cc1f21
commit e92900dd56

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