Bug 9348 - Format dates in HOLD notices consistently

Right now notices for holds awaiting pickup read something like this:

You have a hold available for pickup as of 2011-02-12.
This hold will expire if it is not picked up before: 02/22/2011.
If you no longer need this item or have any questions please contact us

Both dates should be formatting based on the dateformat system preference.

Test Plan:
1) Apply patch
2) Set the HOLD notice to the following:
    <<reserves.waitingdate>> / <<reserves.expirationdate>>
3) Place a hold for a patron
4) Enable the HOLD notice via email for that patron ( requires EnhancedMessaging )
5) Check the item in
6) Go to the borrower's Notices tab, check the body of the new HOLD notice,
   it should have two dates separated by a '/' in the format set by the dateformat
   system preference.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>

Patch works as advertised according to the test plan.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Tested also with the HOLD_PRINT notice.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Bug 9357: Missing 'c' option in MARC21 LEADER_18 value builder

This patch adds option 'c' to the position 18
of the leader value builder.
Also corrects label for option 'i'

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Elliott Davis <elliott@bywatersolions.com>
Works as described
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Bug 9407: patrons search should match substrings

    If a patron lives at 4345 Library Rd, a search on Street Address for
    Library should find it. However, it does not, but a search for 4345
    Library does.  This patch adds a "Search Type" drop-down, defaulting
    to the current behaviour.

    To test:
    1) Search for a patron based on a non-leading part of a field.
    2) Should return no results.
    3) Search again with "Search Type" of "Contains".
    4) Should return the patron.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Bug 9281: FIX add an order from a staged file

In GetMember the hash parameter contained
'C4::Members' => 'borrowernumber'
XXX => undef

Test plan:
In the acquition module, try to add an order to a basket from a staged file.
Without this patch, you get an error:
  DBD::mysql::st execute failed: called with 2 bind variables when 1 are needed at /home/koha/src/C4/Members.pm line 559

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
All tests pass, error only appearing in the log file.

Test plan:
1) Create a basket
2) Add one or multiple order lines using a staged file and the 'batch' feature.
   This is done by using the "Save" button at the bottom of the page instead
   of the "Add order" link next to a single entry.
3) Check your koha-error_log for the error above.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Bug 9402: letter v between 2 option tags

In HTML code generated for advanced search, a useless "v" letter
is visible after "dissertation or thesis (revised)</option>".
This patch suppress "v" letter is outside <option> markup
(and cosmetic change : "Adult" -> "adult" in public types)

To test : check HTML code generated by advanced search.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Fixes capitalization and a little problem in the HTML of an UNIMARC
plugin.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Bug 9211 - days_between wrong behaviour

As noted in comments #15, #16 and #17 of bug 8486, and its API,
Koha::Calendar->days_between should always returns a positive number
irrespective of the relative order of the parameters. This is still an
open bug, which arised when rewriting the Calendar.t file (Bug 9209).

Regards
To+

Sponsored-by: Universidad Nacional de Córdoba
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Added Paul's sign-off line, as despite it showing up in Bugzilla, it
wasn't on the patch.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Bug 9494: update default LOC z39.50 target settings

This patch updates the seed data from the target list at
http://www.loc.gov/z3950/lcserver.html#addr.

Comment: new target works. updated deleting and reloading
sample targets.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Elliott Davis <elliott@bywatersolions.com>
I agree with Galen that this may need to be incorproated as a follow-up
for current installations. Works fine for new installs
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Bug 9174: Fix itemtype image display in OPAC lists

Prior to this patch, C4::VirtualShelves::Page did not make sure that
the itemtype images that it chose when displaying itemtype images for
biblio-level itemtypes were for the correct interface, so
even on the OPAC the Intranet icons were requested. On standard
installations, intranet-tmpl is not available to the OPAC.

To test:
1) Set noItemTypeImages to "Show" and item-level_items to "biblio record"
2) Create a list and add an item with the default item type (942$c in
   MARC21) set to something with an itemtype image associated with it.
3) View the list in the OPAC.
4) If you are an a standard install, the itemtype image will be a broken
   link. If on a dev install, you can confirm with Firebug or the like
   that the image is pulled from /intranet-tmpl.
5) Apply patch.
6) Run `prove t/db_dependent/Koha.t` to confirm that the behavior of the
   routine used to retrieve the image URL is correct. (Note that you
   must have an item type with the code 'BK')
7) Refresh the list, noting that the display is now correct/the image is
   pulled from opac-tmpl.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
It works as expected. All tests in Koha.t passed.
Signed-off-by: Mason James <mtj@kohaaloha.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>

Conflicts:

	t/db_dependent/Koha.t

Squashed with: Bug 9174 follow-up: Eliminate warning and fix POD

Thanks to Marcel for spotting these issues.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Mason James <mtj@kohaaloha.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Bug 9268 - Scanning in barcode or ISBN in Acquisitions -> new order submits the form unexpectedly

To Test:

* Go to Acquisitions - Manage Orders
* Search for a vendor
* Click New Basket.
* Fill required fields
* Press Save.
* Click on "From a new (empty) record"
* Type in title Private Oz, Author Patterson, James.
* Scan (or type) ISBN - 9781864711875.
* (If not scanning, PRESS ENTER HERE)
* Nothing should happen. Form should not be submitted, no error message
  should appear.

Sponsored by: Hauraki District Libraries, New Zealand

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Tested according to test plan in Firefox and Chromium on Ubuntu.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Bug 9201 OAI-PMH mapping value cannot be 0

Allow the value of a OAI set mapping to be 0 / empty. Delete the mapping if field or subfield are empty.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Now it is possible to add a value == 0 or an empty string.
Signed-off-by: Mason James <mtj@kohaaloha.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Bug 9509 - batchMod.pl does not ensure each barcode is unique

Test plan:
1) Browse to Tools › Batch item deletion
2) Enter a list of barcodes, make sure you have at
   least one barcode listed more than once
3) Click continue
4) Verify the duplicated barcode shows up multiple times in the table
5) Apply patch
6) Refresh the page
7) Verify each barcode now displays only once

Signed-off-by: Liz Rea <liz@catalyst.net.nz>
verified bug and fix - both good.

Nice test plan, thanks!

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Bug 9546 : Updating make manifest tardist

To test
perl Makefile.PL
make manifest tardist

Before the patch you will get an error, after the patch it will create
the tarball

Signed-off-by: Mason James <mtj@kohaaloha.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
make manifest tardist and make manifest zipdist work
perfectly after patch was applied.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Bug 7507 - Audience Subtype limit on OPAC Advanced Search does not have all Audiences

The OPAC audience subtype limit did not have all the audiences defined
by the MARC record (and available in the staff client advanced search).
It also incorrectly labelled some of the audiences that it did include.

This patch copies the (correct) audiences from the staff client template
to the OPAC template.

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Test plan:
 * Search before applying by audience
 * Apply patch
 * Search by a newly appeared audience
 * Search by an audience that was there before

All tests pass!

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Replace tab with 4 spaces.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Bug 9552 - BIB1 Relation "Greater Than" Attribute Not Mapped Properly in CCL.Properties

Currently, you can use "lt,le,eq,ge" in your CCL query to handle
"lesser than, lesser or equal to, equal to, greater than or equal
to" relationships.

The only one missing is "gt" (Bib1 2=5).

The mappings are also off "ne, phonetic, stem", but those are Bib1
attributes that Zebra doesn't support, so that's not really relevant.

To test:

[1] Before applying the patch, try the following query in the OPAC:

pubdate,gt:2006

You should get "no results found".

[2] After applying the patch (and note that ccl.properties will usually
need to be installed in the run-time Zebra configuration directory), try
the same search.  This time, you could get back the titles whose
publication date is after 2006.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Bug 9493: confirmations for user holds in opac are not translatable

In opac-user.tt, javascript for user holds confirmations (cancel, suspend, resume) are not translatable.
This is because text is in onclick attribute, withtout javascript method for translatable strings : _().

This patch moves those strings as variables into script tag and sets them translatable.

Test plan :
- set a hold for a user
- Go to OPAC user page "my summary"
- click on "Cancel"
=> you get a confirmation message
- click on "Suspend all holds"
=> you get a confirmation message
- click on "Resume all suspended holds"
=> you get a confirmation message
Test this is 'en' and another language.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Bug 9499 - --itemscontent= option is undocumented in advanced-notice.pl cronjob + default date should be date_due, not issuedate

To Test:

Set up a borrower to receive due and/or predue notices.
Define your predue and/or due notice to use <<items.content>>
Give your borrower an issue that will trigger a notice to be sent
(Example: Henry Acevedo has checked out a book that will be coming due tomorrow,
he wants to receive predue notices 1 day in advance)

On the command line, run (your paths may vary, these are mine):
sudo env KOHA_CONF=/etc/koha/sites/devlibrary/koha-conf.xml PERL5LIB=/usr/share/koha/lib perl advance_notices.pl -c -n

Note that the date listed is the due date, not the issue date.

Then run:
sudo env KOHA_CONF=/etc/koha/sites/devlibrary/koha-conf.xml PERL5LIB=/usr/share/koha/lib perl advance_notices.pl -c -n --itemscontent=issuedate,title,author,barcode

Note that the date listed is the issue date, not the date due.

Also run
sudo env KOHA_CONF=/etc/koha/sites/devlibrary/koha-conf.xml PERL5LIB=/usr/share/koha/lib perl advance_notices.pl --help

Should show the help.

sudo env KOHA_CONF=/etc/koha/sites/devlibrary/koha-conf.xml PERL5LIB=/usr/share/koha/lib perl advance_notices.pl --man

Should show the man page version of the help.

sudo env KOHA_CONF=/etc/koha/sites/devlibrary/koha-conf.xml PERL5LIB=/usr/share/koha/lib perl advance_notices.pl

Should show the help. This script requires confirmation before running (-c or nothing is done).

Note that the documentation refers to the --itemscontent= option and now allows --man as well as --help. Also it is a proper POD.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>

Works as advertised according to the fine test plan.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Bug 9320 Pending reserves report should not show waiting items

    Test plan : * chose an item reserved by multiple patrons.
                * return the item and confirm reservation =>
                  item is waiting to be picked up
                * run circ/pendingreserves.pl
                    => without patch, this item is shown in the list
                    => with the patch, only really available items are show.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>

Works according to test plan. The title with one waiting item appeared
in pending holds report before the patch, doesn't appear after the
patch.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Follow up fixing the case of SQL
Bug 9329: Wrong message for already expired cards

Previously users would see the same message whether their card was about
to expire or was already expired. This patch adds a new message to
handle cards which are about to expire, following the
NotifyBorrowerDeparture system preference.

TEST PLAN :

The best way to test would to have at the same time :
- a SQL client to change the expiry date of a borrower
- an OPAC session opened for the same patron.

Case 1: expiry date is set in the future
-> no warning

Case 2: expiry date is set in the near future (within the
"NotifyBorrowerDeparture" system preference range)
-> a warning says the card will expire on **date**

Case 3: expiry date is set in the past
-> before patch, same warning as Case 2
-> after patch, new warning indicating that the card has expired

Signed-off-by: Owen Leonard <oleonard@myacpl.org>

Added description to the patch and copied test plan from the bug report.
Patch passes test plan.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>