Bug 9070: [SIGNED-OFF] authority searches in auth_finder error out

When using authority records imported into Koha from elsewhere, you
can get an error like:
    Can't use string ("HASH(0xbc6c{30)") as a HASH ref while "strict refs" in use at /usr/share/koha/lib/C4/AuthoritiesMarc.pm line 363.
in authorities/auth_finder.pl. This patch fixes that error.

To test:
1) You will need records imported from elsewhere.
2) Use the authority control plugin in a bib record to search for one of
   those headings.
3) Observe you get a nasty error.
4) Apply patch.
5) Repeat step 2.
6) Observe the error is gone.
7) Sign off.

Signed-off-by: Magnus Enger <magnus@enger.priv.no>
Works as advertised. No warning about "defined(%hash) is deprecated"
under perl v5.10.1.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>

Conflicts:
	C4/AuthoritiesMarc.pm

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Bug 9024: Adding sample patron attributes to German web installer

Adds SHOW_BCODE as sample patron attribute to the German web installer.

To test:
- Run the web installer in German, make sure the new sample data shows up
and can be installed.

Signed-off-by: Mirko Tietgen <mirko@abunchofthings.net>
Passed-QA-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Bug 9024: Add missing sample data to existing files

Adds missing authorised values (enhancement)

Adds missing slip notice templates (bug fix)
Koha will complain if you try to print a slip and there is no notice
defined for them, so this is not really an improvement, but kind of a bug fix.

Signed-off-by: Mirko Tietgen <mirko@abunchofthings.net>
Passed-QA-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Bug 9024: Fix typo

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Bug 9077 [3.8.x] OPAC Social media links broken by fix for Bug 8973

This patch returns the structure of the social media icons
markup to the state it was in before the application of the
patch for Bug 8973 and adds the missing filters which would
have been added by that patch.

To test, view any OPAC detail page in origin/3.8.x. After
applying this patch the social media icons should appear
normally.

Signed-off-by: Srikanth Dhondi <srikanth@catalyst.net.nz>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Bug 8954: Make languages list in advanced search translatable (revision 1)

In opac-search.pl and search.pl, this patch moves the $lang variable from the end to the begining of the script, and use it as a parameter for getAllLanguages.
In Languages.pm, getAllLanguages function is modified :
- if no parameter is passed to the function, it returns english languages names
- if a $lang parameter conforming to RFC4646 syntax is passed :
-- the function returns languages names translated in $lang if possible
-- if a language name is not translated in $lang in database, the function returns english language name
To test, set your opac and staff interface in english and in other languages and check search.pl and opac-search.pl :
- If language names in your languages_description table are translated in the same language you use for your GUI, the language names in dropdown list will be translated in this language (+native name).
- If your GUI is in english, or in a language into whitch languages names are not translated in languages_description, the dropdown list will stay in english (+native name).

Signed-off-by: Marc Veron <veron@veron.ch>

Patch behaves as expected.

With Opac language set to French I got all languages with French language name.
With German (de-DE), I got only a few with German language names (and all other with English ones),
this was due to missing entries for de-DE in table language_descriptions.
This behaviour is consistent with the description above.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>

Tested language list in OPAC and staff advanced search is translated
properly after applying the patch. Checked that language switcher still
works like it should.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Fixed typo in POD.

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Bug 8800 - useDaysMode=Datedue wrong behaviour (revisited)

useDaysMode=Datedue wasn't used as advertised in the docs. Added
next_open_day and prev_open_day subs to Koha::Calendar and some tests for them.

- Koha::Calendar->addDate was rewritten in a more sane way (also split into
  addHours and addDays for convenience).
- Fixed a bug introduced in Bug 8966 regarding dt truncation and dtSets->contains
- Minor docs typos
- Use the passed Calendar mode or default to 'Calendar' in Koha::Calendar->_mockinit.
- Tests

I'm writing some db-dependent tests for is_holiday, and hopefully for CalcDateDue so any
rewrite/followup doesn't break things.

Regards
To+

Sponsored-by: Universidad Nacional de Córdoba
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passed-QA-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>

Conflicts:
	t/Calendar.t

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Bug 9078 - is_holiday should honour holiday exceptions

Make is_holiday return 0 for holiday exceptions.

Note: This patch makes several current ok tests fail. My first guess is test data is not
constructed ok. More on this later.

Sponsored-by: Universidad Nacional de Córdoba
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passed-QA-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Bug 9078 - fixing exceptions broke tests

Fixing the holiday exceptions arised a problem with how the test data was constructed.
This made several tests fail.

This patch fixes the add_holiday function. Tests should pass now.

Sponsored-by: Universidad Nacional de Córdoba
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passed-QA-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Bug 8163: Click to populate XSLT preferences with "default" or empty values

This patch adds markup and JavaScript to the system preferences
interface so that the user can click "default" or "empty" to populate
an XSLT-related pref with those vaules.

To test, open system preferences for the OPAC or staff client. In
the description for an XSLT-related preference click the "default"
link to populate the field with "default." Click the "leave empty"
link to empty the field.

Revised according to Julian Maurice's suggestion for a more
generic, flexible way to implement it.

Signed-off-by: Melia Meggs <melia@test.bywatersolutions.com>
Passed-QA-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Bug 8983: Typo in UNIMARCslim2OPACResults.xsl

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Passed-QA-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Bug 8546 - Error in description of OPAC Advanced Search Publication date range search

The publication date range search description in the OPAC suggests
that a search like "-1987" or "2008-" is not inclusive when it
actually is. This patch corrects the description.

Signed-off-by: Melia Meggs <melia@test.bywatersolutions.com>
Passed-QA-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Bug 5521 - item edit form appears if no items found

This patch changes the template so that if no items are
found the page doesn't show "The following barcodes were found"
and doesn't show the item edit form.

To test, submit a batch which contains no valid barcodes.
Compare to a batch which contains some or all valid barcodes.

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
All tests succeed.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Bug 9115 - basket window should close automatically when placing a hold

If you choose to place a hold from the Cart pop-up, the entire
holds process (possibly including login) takes place in the cart
window. Upon completion of the operation you're left with a second
window which has lost its context as the Cart.

This patch revises the hold process so that when you click the
hold link in the cart the operation is moved to the main window
and the Cart window closes.

Since the holdSel() function doesn't require interaction with
template variables I have moved it to basket.js along with the
described changes.

To test, put items in your Cart and open it. Select items to
place on hold and click the "Place hold" link. The cart
should close, and the items you selected should appear on the
place hold screen in the main window.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Checked in Firefox and Chromium in Ubuntu, works nicely.
All tests pass.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Bug 9073 - Download option from the cart should match the menu button in lists

This patch moves the staff client Cart download choices into a toolbar
menu button instead of requiring that the user make the choice via a form
in the pop-up window.

To test, add items to Cart in the staff client. Open the cart and
choose a download option from the Download menu. Your download
should complete correctly without the page changing or reloading.

Unrelated edit: Eliminating duplicate document.ready() block by
consolidating a couple of lines of JavaScript.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Checked all export formats can be selected and downloaded, including
CSV profiles.
All tests and perlcritic pass.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Bug 8515 - OPAC password change does not obey OpacPasswordChange

The OPAC change password template enforces the OpacPasswordChange
preference by preventing the form from appearing. However, the
script doesn't contain any check for OpacPasswordChange so it is
vulnerable to someone submitting data to it by some other means.

This patch adds a check for OpacPasswordChange to the script and
revises the template logic in order to show the right warning
in all circumstances.

To test, turn off OpacPasswordChange and navigate manually to
opac-passwd.pl. You should see a warning that you can't change
your password.

Turn on OpacPasswordChange load the change password page and
save the page to your desktop. Turn off OpacPasswordChange and
submit a password change via the saved page. Without the patch
this would result in a password change. After the patch it
should not.

Signed-off-by: Melia Meggs <melia@test.bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Confirmed bug and made sure patch fixes it.
Passes all tests and perlcritic.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Bug 8481: Items table is showing in opac-MARCdetail.pl but not in MARCdetail.pl

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>