@@ -, +, @@ date for MARC21 - Without patch in a MARC21 installation: - Search by publication date - Verify that the results don't match the publication year you searched for. - Try sorting the table by publication year. - Verify that the sort doesn't work. - Apply patch. - Repeat both, search and sort. - Verify both work correctly now. - Repeat tests on a UNIMARC installation. - Verify both still work. --- catalogue/itemsearch.pl | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) --- a/catalogue/itemsearch.pl +++ a/catalogue/itemsearch.pl @@ -128,6 +128,9 @@ if (scalar keys %params > 0) { my $op = shift @op; if (defined $q and $q ne '') { if ($i == 0) { + if (C4::Context->preference("marcflavor") ne "UNIMARC" && $field eq 'publicationdate') { + $field = 'copyrightdate'; + } $f = { field => $field, query => $q, @@ -181,10 +184,15 @@ if (scalar keys %params > 0) { }; } + my $sortby = $cgi->param('sortby') || 'itemnumber'; + if (C4::Context->preference("marcflavor") ne "UNIMARC" && $sortby eq 'publicationyear') { + $sortby = 'copyrightdate'; + } + warn $sortby; my $search_params = { rows => $cgi->param('rows') // 20, page => $cgi->param('page') || 1, - sortby => $cgi->param('sortby') || 'itemnumber', + sortby => $sortby, sortorder => $cgi->param('sortorder') || 'asc', }; --