bug 6281: introduce LC::CallNumber::LC for sorting LC call numbers
authorGalen Charlton <gmc@esilibrary.com>
Fri, 17 Aug 2012 15:23:47 +0000 (11:23 -0400)
committerTomas Cohen Arazi <tomascohen@gmail.com>
Fri, 28 Jun 2013 14:06:17 +0000 (11:06 -0300)
commitd7862378f006603fb742bd5fe896ea8a0222a5bd
tree3df01d3394aeedd17709fad9e4ac700ed133e860
parentcee5651e11e48c240136e764b628545a1ba6d05e
bug 6281: introduce LC::CallNumber::LC for sorting LC call numbers

This replaces the previous hand-coded normalizer.  Because
LC::CallNumber::LC appears to reject strings that aren't valid
LC call numbers, significant changes to the test cases were
made as well -- however, the one that really counts is the
last one which verifies the sorting.

To recalculate the call number sort key for each item, it is necessary
to run misc/maintenance/touch_all_items.pl

To test, create item records with the following call numbers, setting
the classification sort to 'lcc':

QC100 .U57 NO. 555 1986
QC145 .A57 V.12 1980
QC145.45 .H4 D65 1998
QC995 .E29 1997

Next, make a report of them in the inventory tool.  The items should be sorted
in the above order.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit bc87274c66a50712dccb15656001d97f2a36fba5)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
C4/ClassSortRoutine/LCC.pm
t/ClassSortRoutine_LCC.t