Bug 11721 - Use new DataTables include in suggestions template

This patch modifies the template for the suggestions page to use
the new DataTables include. This simplifies the inclusion of assets and
updates to the latest DataTables version.

Sorting is now configured to exclude articles when sorting the title
column.

To test, apply the patch and view the suggestions page (Acquisitions ->
Suggestions). Sorting of suggestions should work correctly.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes all tests and QA script.

Note: the columsn fund and status are not sortable/searchable
before and after applying the patch.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 2f379f3fa78ea12c3955addfa733fb8d8cdb0c2b)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Bug 11670 - Remove sorting from patron lists action columns

The list of patron lists has sortable columns for the add, edit, and
delete buttons. These columns should not be sortable. This patch removes
sorting.

This patch also adds the "btn-mini" class to the in-table buttons to
make the table more compact.

To test you must have existing patron lists. Apply the patch and
navigate to Tools -> Patron lists. The columns containing the add, edit,
and delete buttons should not be sortable. Other columns should sort
correctly.

---------------------------------------------------------------------

Created to patron lists and confirmed the collums 'add patrons', 'edit'
and 'delete' are no longer sortable. Column 'Name' and 'Patrons in list'
are still sortable. The size of buttons are smaller.
I also agree this is an improvement.

Signed-off-by: Petter Goksoyr Asen <boutrosboutrosboutros@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 9ac83cdaafb267e1a76aa957b86b7e7b8955d819)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Bug 11704: Make */svc/report print the correct headers

To test:
1 - Go through the first comments instructions to reproduce
    and verify the bug is present (OPAC and STAFF)
2 - Apply the patch
3 - Repeat step 1 and notice
   * characters are not broken anymore
   * the header is correct
4 - Sign off

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit aace5d436dbab1f13e2e1c06d0b4ed5f1ec13ced)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Bug 11652: ensure that merging authority records corrects biblios

When merging authority records in librarian interface biblio records
linked to deleted authority are not being corrected (i.e. have still
old heading and orpaned link in $9).

Test plan:
1. Have two authorities in the catalogue, linked to biblio records.
2. Merge them with the new merge facility (cf. Bug 5202).
3. Have a look a the biblio record(s) previously linked to the removed
   authority. It should still have the old heading AND orpaned authority
   link in $9.

4. Apply the patch.
5. Refresh the test records (or use another set).
6. Repeat 1-3. Headings should be refreshed and the correct authid link
   should be in $9 now.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes all tests and QA script.
Note: new record count on the authority record will show
      after reindexing.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 0070a7f6afb30b6f7ae8bc0eb073a4c39e0f783a)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Bug 11737 - Use new DataTables include in quotes management template

Bug 10649 introduced a new include file for adding DataTables-related
JavaScript assets. This patch adds use of this include file to the
quotes management page.

To test you should have a multiple quotes in your database. Apply the
patch and view the quotes manager page (tools/quotes.pl). Confirm that
table sorting works correctly.

Signed-off-by: merlissia <manuelimel@gmail.com>

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 326ccb57ce8c537630b117bc92bd49ca4947c52b)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Bug 11737: (follow-up) remove extra fnReloadAjax.js

the file dataTables.fnReloadAjax.js exists in the interface and
themelang directories.
It is only used in quotes.tt.
So the unused one can be removed.

test plan:
git grep fnReloadAjax.js
should return only 1 ref (quotes.tt)

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit e0d7d998c2025fdb8ed1caf4303f754e05164c97)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Bug 11739 - Use new DataTables include in notices template

Bug 10649 introduced a new include file for adding DataTables-related
JavaScript assets. This patch adds use of this include file to the
Notices & Slips page.

To test, view the Notices & Slips page (tools/letter.pl). Confirm that
the table of notices is sorted correctly.

Signed-off-by: merlissia <manuelimel@gmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 26696e3b299ff9ca96d7a834a172f6534ef952d5)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Bug 11735 - Use new DataTables include in calendar template

Bug 10649 introduced a new include file for adding DataTables-related
JavaScript assets. This patch adds use of this include file to the
calendar template and corrects some table sorting configuration errors.

To test you should have multiple calendar entries in various categories
of holiday: Unique holidays, repeating yearly holidays, repeating weekly
holidays, and exceptions. Sorting of date columns should work regardless
of your dateformat system preference.

Signed-off-by: merlissia <manuelimel@gmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Note: Day of week is not correctly sorted: Sundays, Mondays, Thursdays.
But it is not a regression. It is caused by the ugly way to display
weekdays (document.write).

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit ef65eee25e2946adf20650d61781363f735058b6)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Bug 11757: remove dependency on POE

The last use of the POE family of Perl modules went away with
the removal of zebraqueue_daemon.pl per bug 9001.  Consequently,
this patch removes POE as a dependency.

To test:

[1] Verify that "git grep POE" and "git grep libpoe" report
    nothing.
[2] Verify that koha_perl_deps.pl -a does not report POE
    as a dependency.
[3] (extra credit) verify that Debian packages can be built
    that do not list libpoe-perl as a dependency.

This patch also updates some distro-specific installation
instructions and scripts, but makes no representations about
whether those instructions currently work.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit b67dac81cceaab356486001292cff40977682fff)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Bug 11748 - Remove unused jquery.uitablefilter.js plugin

This patch removes a jQuery plugin which was added for use with the old
tablesorter plugin. Since the tablesorter plugin has been removed and
replaced with DataTables this plugin can also be removed.

To test, apply the patch and search for instances of the plugin:

grep -r -l "jquery.uitablefilter.js" *

There should be no results.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 42b71b87cc21ff69072116c7e42b02ad1f85932b)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Bug 11628: add missing staffaccess permission to French userflags.sql file

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
This permission exists in other installer files (for all other languages).

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 1b08f924513daadaff1258659e17d5caf0a53ea4)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Bug 11764 - Move repeatedly redefined function toUC() into staff-global.js

toUC() is repeatedly declared on many administration templates. This
function, used to transform user input to uppercase, can be added to
staff-global.js to prevent repetition.

To test, confirm that transformation to uppercase is working on the
following Administration pages when text is entered in a form field and
focus is moved to the next field:

- Authority types -> New: Test the "Authority type" field.
- MARC bibliographic framework -> New framework: Test the "Framework
  code" field.
- Patron types and categories -> New category: Test the "Category code"
  field.
- Currencies and exchange rates -> New currency: Test the "Currency"
  field.
- Item types -> New item type: Test the "Item type" field.
- Z39.50 client targets -> New Z39.50 server: Test the "Z39.50 server"
  field.

The following pages do not call the toUC function despite the fact that
they included it:

auth_tag_structure.tt
printers.tt
roadtype.tt
stopwords.tt
systempreferences.tt

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
tools/letter.tt declares this js function and don't use it.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 3c7edd1cbef811de89d6ee0b54cd690dd36d6ff4)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Bug 11765 - Remove unused function isDate from templates

Several administration templates declare but do not use the JavaScript
function isDate(). This patch removes the declarations.

To test, apply the patch and search for instances of "isDate" in Koha
templates, includes, and JavaScript files. There should be no results.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
I'm not sure this function has ever been used.
This patch removes the toUC in tools/letter.tt too.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 1aeb1d7e0b4c027b0277f5f5878a3b047abd4b82)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Bug 11773: fix crash in sco-main.pl if no active currency is set

If no currency is defined as active and a patron with debts tries to
check out in welf checkout moduel, sco-main.pl crashes with:

Software error:
Can't use an undefined value as a HASH reference at /usr/share/kohaclone/opac/sco/sco-main.pl line 190.

This patch tests for active currency and simply does not display a
currency symbol if appropriate.

Test plan:

1) Make sure you have a patron with debts and no currency defined as
   active.  (Home › Administration › Currencies & Exchange rates
   › Currencies )
2) Go to Self checkout module and try to checkout an item to this patron
   Result: Crash with error message "Can't use an undefined value as a
   HASH..."
3) Apply patch
4) Reload and try to checkout again
   Expected result: Message "You owe the library..." without currency
   symbol
5) Define a currency as active and try to checkout again
   Expected result: Message "You owe..." with currency symbol

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 1db56c834b297eb7fd968691f66ef3517771cba5)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Bug 11743 - Remove unused DataTables plugin from OPAC theme directories

The Bootstrap and CCSR theme directories contain older copies of the
DataTables plugin which is no longer in use. This patch removes them
both.

To test, apply the patch and confirm that DataTables still work on the
following pages in both the Bootstrap and CCSR OPAC themes:

- The Cart. Add items to the Cart, open it and confirm that the table is
  sorted correctly.

- The detail page: View the detail page for a title (opac-detail.pl)
  with multiple items and confirm that the table of items is sorted
  correctly.

- A subscription's "full history" page: Navigate to the detail page of a
  subscription in your catalog which has received multiple issues. From
  the subscriptions tab click the "More details" link, then the "Full
  history" link. Confirm that the table of issues is sorted correctly.

- Search history: Enable the EnableOpacSearchHistory system
  preference. Perform a few searches so that your current session
  will record them. View the search history page and confirm that the
  tables of current and past searches are sorted correctly.

- Suggestions (enable 'suggestion' system pref if necessary)
- Tags (enable TagsEnabled if necessary)
- Most popular (enable OpacTopissue if necessary)

- User summary (opac-user.pl): Checkouts, overdues, and holds tables
  should all sort correctly.
- Self checkout: Enable WebBasedSelfCheck if necessary. Check out as a
  patron who has multiple existing checkouts. Confirm that the table is
  sorted correctly.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Existing uses of datatables.min.js don't point to the theme directory.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit d3c565f12c5c9136588a17e6497d860f6c5e95ed)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Bug 10789: Remove unnecessary calls to $sth->finish in C4::Acquisitions

C4::Acquisitions contained a number of unnecessary calls to
$sth->finish. Removed these and the associated variables introduced to
cache query results between fetch and the return

Where finish was the end of the routine I have added an
explicit return to document that no data is returned.

A number of places made query calls and fetched a single
row. Such a case could require an explicit finish.
These assume that they are looking up with a unique key.
To remove assumptions and isolate the code from future changes
I've switched these to fetching all and returning the
first row. I have commented these cases.

For fuller explanation see perldoc DBI

What I tested:
Edit existing basket, chnged name
Modify order line, change vendor price
Create new basket and add order
Delet this order
Delte this basket
New Basket, new order, user added, user removed
Add contract to vendor, change details, delete contract
Search order biblio
Create basket group, add basket to group, remove basket from group
Delete basket group
Receive order

Everything behaved as I expected

Signed-off-by: Marc Veron <veron@veron.ch>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 2fac9a76450835337b015956a6f3150586aa5a17)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Bug 10789: Follow-up: Fix typo "infermation"

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 201af593f885ecb11c76d02baa6e27ef5e744e30)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Bug 10789: Follow-up: restored second SQL parameter in GetLastOrderReceivedFromSubscriptionid

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit e27ea08887a0332692c37b05b15021b14b1bef78)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Bug 11730: ensure that C4::Charset loads C4::Context

C4::Charset::SetMarcUnicodeFlag() fetches system preference
values, so since it invokes routines in C4::Context, it should
load the module.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit b9d2a832db6d2a75d6466a349b769e8285d1f0c8)

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Bug 11756: improve default sorting on hold ratios report

The DataTables plugin doesn't by default take multiple columns into
account when sorting. The hold ratios report presents a situation where
it makes sense to sort by default based on two columns: hold count and
title, since there are likely to be many titles with the same hold
count.

This patch adds sorting by default on holds (descending) and title
(ascending). It also modifies the configuration of the title sort to
exclude articles when sorting.

To test, view the hold ratios report. If necessary use the filter form
to reduce the minimum hold ratio and generate more results. Confirm that
the correct columns can be sorted.

Note that by default one can manually trigger sorting on two columns by
shift-clicking the second column header.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 7514dc897cc49683915112229667ec1f654873ae)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>