bug 6281: add test case for sorting LC call numbers correctly

My thanks to Michael Flanagan of UCAR for providing some of
these examples.

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 87ab820a20e1ef935d4d29c6fed313e9723fcb64)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
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>
bug 6281: add Library::CallNumber::LC as a required Perl dependency

This module is currently packaged by Debian for Wheezy and by
Ubuntu for Precise and Quantal.

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 f1c45784dc5dfa431ef68e5d38a14b6fb93c904d)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
bug 9370: test case for splitting LC call number

QH541.15.C6 C25 2012 should be split as follows:

QH
541.15
.C6
C25
2012

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 ecf6721060607b621c58f234ab5a5f43e30b1d98)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
bug 9370: add invalid call number to LC splitting test cases

'123 ABC FOO BAR' is intentionally *not* a valid LC call number,
but in order to preserve legacy behavior, it should be split on
whitespace.

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 a5e9e15663289489e0baafff73d7bed20434b8ec)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
bug 9370: improve splitting of LC call numbers for labels

Use the Perl module Library::CallNumber::LC to parse and split
LC call numbers when generating spine labels.

For example, QH541.15.C6 C25 2012 should be split as follows:

QH
541.15
.C6
C25
2012

To test, create an item with call number QH541.15.C6 C25 2012
and classification source LC, then create a spine label for that
item using a layout of type 'biblio' that has the split call numbers
option enabled.  The call number should be split as indicated above.

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 edb8bddff074769a95744b6a7fa59eff61e0cfc1)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 10297 - categorycode and branchcode should be required when adding patrons

categorycode and branchcode should show as required under all
circumstances, not just when they are included in the
BorrowerMandatoryField system preference. This patch adds the correct
classes and hints to those fields.

To test, view the patron entry form for a new or existing patron.
Category and Library should show that they are required.

Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 81bfae93649a2f1a93f4722d052fc529c6495d71)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Logical addition
Bug 10443 - Table borrower_files does not exists in kohastructure.sql file

As a consequence, the borrower_files table would not exist
in Koha databases that were installed starting at 3.10.0
or later.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 2e86612a15c228357223beaf996f4b3350334b2e)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 10443: (follow-up) make sure borrower_files has FK constraint

This follows the example of the DBrev that introduced
this table.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 43b17feed6ce64bdff6b31918e40170f6681e397)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 10443: DBRev 3.12.01.001 - make sure borrower_files exists

This schema update ensures that the borrower_files table
will exist for libraries who first installed Koha at 3.10.x.

Sponsored-by: Universidad Nacional de Córdoba
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 10458: t/Z3950.t should be removed too

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit cab50698f57c88670241d88028afebd3eb5b5dd8)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 10458: Remove obsolete Z3950 module and test

Are not used. Contain several FIXMEs.
Removing them makes life easier.

Test plan:
Actually, you cannot test this.
But for confidence: do a Z3950 search in cataloguing and acquisition.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 63ba05183e627bbe7278b9064d22e93d39b65461)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 10444 - In advanced search(more), [+] and [-] should behave like links on hover

This patch add href="#" to the [+] and [-] links for adding and removing
search terms. It also defines its style so it doesn't show underlined.

To test:
- Browse your OPAC to "Advanced Search" and then "More options".
- The [+] and [-] don't change the cursor on hover
- Apply the patch, reload and see the cursor changes
- Functionality should remain unchanged

Regards
To+

Sponsored-by: Universidad Nacional de Córdoba
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 5b53b59fe47e01d3427fda89d444246a7968688e)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 10444 - (CCSR followup) In advanced search(more), [+] and [-] should behave like links on hover

Same fix for CCSR.

Regards
To+

Sponsored-by: Universidad Nacional de Córdoba
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 0fc32a427427dbb27c5c33728b62d5135dc209df)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 10444: Fix prevent the default action on click

In particular, clicking the [+] and [-] links on the
OPAC advanced search page will no longer scroll
the page back to the top.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 6e6ed4306521f4e8966c4b40f23ce2d539476d1a)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 10315 - Use easier readable font for generated passwords

The text inputs on the change password form are not very big, and the
default sans-serif font isn't always good for showing unambiguous
characters. This patch sets a larger, monospace font for those fields.

To test, apply the patch, clear your browser cache, and open the patron
change password form (members/member-password.pl). The inputs should be
more readable, especially the password fields when you click to fill
with a randomly generated password.

Signed-off-by: Mirko Tietgen <mirko@abunchofthings.net>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 1a15b26e65fb57c622ed11cb0c7459516e6e023c)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 10425 - Help page missing for Local Use preferences

When viewing Local Use system preferences tab, the help button will lead to an error page.
This is because Local Use tab uses not the same script has other tabs : systempreferences.pl.

This patch adds help/systemprefences.tt

Test plan :
- Go to Local Use preferences : /cgi-bin/koha/admin/systempreferences.pl
- Click on Help link (at right top)
- See you get the same page as other preferences tab help

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 0e0a1a61a62473de7ae92bde9d0f3617c34ba325)
Bug 10425: tweaks to text of help for local use system preference

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit c02b57bd5cacc3fbe981f5d8331c7cfe8aa178a7)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 10245: add CSS classes to OPAC detail items table header

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Classes now appear on <th> as well for easy styling.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Passes koha-qa.pl, template changes only. Adds classes and id's to table
headers, makes no other changes.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit da6f70c697bd445c7f37bf3cd698021c0bf14e90)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Some table headers are missing classes and ids still...
Bug 10466: fix glitch in OPAC display of titles saved to list

When displaying (in the OPAC) the set of records saved to a list,
an apparently random number (typically 33 or 34) is sometimes
displayed at the end of the publication description.  In particular,
this can occur when XSLT is *not* being used to display search results;
this patch corrects the problem.

Now for the technical details:

This patch checks to see if "size" is undefined. If it is, we add a
blank (i.e. "") value to it in place of undef.

If we do not do this, calling "itemloo.size" will return the size
of the "itemloo" hash, rather than the value for the "size" key.

This is because "size" is a virtual method in Template Toolkit. It's
uncertain why the value is retrieved for the "size" key when there is
a defined value and why TT doesn't use the method instead, and that
it uses "size" as a method only if there is either no "size" key or
if the value tied to the "size" key is null/undef. This might be a
feature or it might be a bug in TT...

In the meantime, we will check to see if it's undefined. If it is,
we'll give it a value.

This bug has been identified in the opac-search.pl, search.pl and
addbooks.pl pages before. To address it, we're currently checking
if there is a "size" key, and if not...we're adding one with a blank
value.

This patch takes up that same idea, although I think it might be better
to rename the variable before passing it to TT in case the behaviour
of TT changes in the future in regards to how it handles virtual
methods.

N.B. Obviously, this only affects users not using XSLTs.

--

Test Plan:

Before applying the patch:

0) Make sure you have opac search result XSLT turned off

1) Find bib records that do not have a 300$c (Dimensions) value.
2) Find bib records that do have a 300$c (Dimensions) value.

(N.B. These values should be stored in the `size` column of biblioitems).

3) Add items from both sets of records to a List
4) Note that records without a 300$c will display a number at the end
of the "Publication" description/string. It should be something like
33 or 34 in most cases.
5) Note that records with a 300$c don't display this number. They just
show the value from 300$c.

Apply the patch.

6) Clear your cache, refresh the page, etc.
7) Note that the number (e.g. 33 or 34) has disappeared from the end
of the "Publication" description/string.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Added a small comment at the end of this one line.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit ceada35e008e6a60b62f384ec386e80b03fe0130)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>