koha.git
5 years agoBug 21986: Do not escape quotation marks when cataloguing
Jonathan Druart [Wed, 12 Dec 2018 14:05:19 +0000 (11:05 -0300)]
Bug 21986: Do not escape quotation marks when cataloguing

In several places we escape quotation marks using
  $value =~ s/"/"/g;
All the occurrences are wrong and must be removed.
Most of them are leftover of bug 11638 (Remove HTML from
addbiblio.pl), which removes the construction of html from pl scripts.

The problem has been highlighted by bug 13618, I did not track down why
the issue did not exist before (?)

Test plan:
0/ Use strings with quotation marks, like:
'Fiddle tune history : "bad" tunes'
You can also use other html characters to make the tests more complete,
like 'Fiddle tune history : <"bad" tunes>'
1/ authorities/authorities.pl
a. Edit an authority filling different fields with quotation marks
b. Edit it again
=> The display (inputs' values) is wrong, if you save the escaped quotes
will be inserted
2/ cataloguing/addbiblio.pl
Same editing a bibliographic record
3/ cataloguing/additem.pl
Same editing items
4/ members/memberentry.pl
Edit a patron's record and fill some fields with quotation marks
+ fields borrowernotes and opacnotes
=> The quotes are inserted directly in DB (escape is done before the
insert!)
5/ opac/opac-review.pl
For QA only: $js_ok_review is never used
6/ tools/batchMod.pl
For QA only: $value is always undefined at that point

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21973: Do not url escape casServerUrl
Jonathan Druart [Fri, 7 Dec 2018 13:26:02 +0000 (10:26 -0300)]
Bug 21973: Do not url escape casServerUrl

It is already escaped correctly in
C4::Auth_with_cas::_url_with_get_params using URI::Escape::uri_escape

Note that shibbolethLoginUrl is not and must be url escaped in template
("be consistent, they said")

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21931: Do not reset the ES mapping on 3.23.00.050
Jonathan Druart [Fri, 7 Dec 2018 19:49:00 +0000 (16:49 -0300)]
Bug 21931: Do not reset the ES mapping on 3.23.00.050

This update DB entry uses DBIx schema which does not make it crashes if
the table structure is changed.
Which happens on 18.06.00.054, that added search_field.weight

The entry 3.23.00.050 fails with
  Unknown column 'me.weight' in 'field list'

This patch removes the reset of the mapping and display a warning to
tell the administrator the mapping must be reset/inserted

Test plan:
Use a 3.22 dump and upgrade it

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21991: Pass param names to report limit tool
Nick Clemens [Wed, 12 Dec 2018 16:16:50 +0000 (16:16 +0000)]
Bug 21991: Pass param names to report limit tool

To test:
1 - Define a report like:
SELECT barcode, itemnumber
FROM items
WHERE (homebranch = <<Branch|branches>> AND 0 ) OR
<<Branch|branches>>=<<Branch|branches>>
2 - Run it, you get results
3 - Select 'Rows to display' 50
4 - No results
5 - Apply patch
6 - Run report
7 - Change display rows
8 - Results remain!

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21950: Remove filtering for query_cgi and limit_cgi
Jonathan Druart [Thu, 6 Dec 2018 13:07:18 +0000 (10:07 -0300)]
Bug 21950: Remove filtering for query_cgi and limit_cgi

We must not escape query_cgi and limit_cgi template-side, they are already
escape properly from build_query_compat using uri_escape_utf8.

To fix further problems we should replace all occurrences to make things
clear (I decided to keep the html filter so far, which did not hurt, but uri or url do)

Same patch as the following commit will be provided
commit 2fc599c0893620c395ca0492c9d9e3c860c8f951
    Bug 21526: Fix search result pages (url vs uri vs raw)

    query_cgi is uri_escaped from the pl, so we should displayed as raw

    Test plan:
    Use wide characters ❤
    Search, filter, facets, search history, rss (both interfaces)

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21969: Fix Koha::Account->outstanding_* matching the opposite on pathological...
Tomas Cohen Arazi [Thu, 6 Dec 2018 18:59:10 +0000 (15:59 -0300)]
Bug 21969: Fix Koha::Account->outstanding_* matching the opposite on pathological cases

This patch makes outstanding_* methods be safe regarding pathological
account lines that get converted into another type because of the value
of amountoutstanding

To test:
- Run:
  $ kshell
 k$ prove t/db_dependent/Koha/Account.t
=> FAIL: Tests fail because pathological account lines are wrongly
picked.
- Apply this patch
- Run:
 k$ prove t/db_dependent/Koha/Account.t
=>SUCCESS: All green!

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21969: Regression tests
Tomas Cohen Arazi [Thu, 6 Dec 2018 18:37:37 +0000 (15:37 -0300)]
Bug 21969: Regression tests

This patch introduces regression tests for Koha::Account::outstanding_*
methods so they don't pick wrong lines when amountoutstanding matches
what we are looking for (i.e. negative for credits and positive for
debits).

To test:
- Apply this patch
- Run:
  $ kshell
 k$ prove t/db_dependent/Koha/Account.t
=> FAIL: Tests fail because pathological account lines are wrongly
picked.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21947: Address other misordered FILTER lines
Mark Tompsett [Wed, 5 Dec 2018 03:44:25 +0000 (03:44 +0000)]
Bug 21947: Address other misordered FILTER lines

As per comment #3, this patch changes the order for all
the filters found with the recommended git grep.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21947: Swap the filter order
Mark Tompsett [Tue, 4 Dec 2018 18:58:17 +0000 (18:58 +0000)]
Bug 21947: Swap the filter order

TEST PLAN
----------
1) start your kohadevbox
2) cd kohaclone
3) git checkout -b bug_21947 origin/master
4) git bz apply 21947
5) reset_all
6) log in to staff client and add a 500$a with lots
   of blank lines between strings with some HTML.
7) look at the opac record Title notes tab.
   -- does it have <br>-mess? Should not.
8) repeat steps 5-7 on master, and you'll see
   a <br>-mess.
9) run qa test tools

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21759: Avoid manually setting amountoutstanding in _FixAccountForLostAndReturned
Tomas Cohen Arazi [Mon, 10 Dec 2018 19:45:00 +0000 (16:45 -0300)]
Bug 21759: Avoid manually setting amountoutstanding in _FixAccountForLostAndReturned

This patch changes the behaviour in the _FixAccountForLostAndFound
method.

The method will now add the amountoutstanding value for the lost item
fee to the CR credit to be generated. This means that:
- If there's some remaining debt, the same amount  will be added to the
  CR credit and used to cancel that debt. The final amountoutstanding
  will be the same as before, but an offset will be generated as
  required.
- If the line was written off, the behaviour remains unchanged, so no
  offset.
- If the line was payed and/or written off in full only the payments are
  refund, preserving the current behaviour.

To test:
- Apply the regression tests patch
- Run:
  $ kshell
 k$ prove t/db_dependent/Circulation.t
=> FAIL: Tests fail because the behaviour is not correct
- Apply this patch
- Run:
 k$ prove t/db_dependent/Circulation.t
=> SUCCESS: Tests now pass!
- Sign off :-D

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21759: Regression tests
Tomas Cohen Arazi [Mon, 10 Dec 2018 19:38:05 +0000 (16:38 -0300)]
Bug 21759: Regression tests

This patch tests for a new behaviour in the _FixAccountForLostAndFound
method.

The method will now add the amountoutstanding value for the lost item
fee to the CR credit to be generated. This means that:
- If there's some remaining debt, the same amount  will be added to the
  CR credit and used to cancel that debt. The final amountoutstanding
  will be the same as before, but an offset will be generated as
  required.
- If the line was written off, the behaviour remains unchanged, so no
  offset.
- If the line was payed and/or written off in full only the payments are
  refund, preserving the current behaviour.

Only changes to the 'remaining debt' use cases on this tests are
expected.

To test:
- Apply this patch
- Run:
  $ kshell
 k$ prove t/db_dependent/Circulation.t
=> FAIL: Tests fail because the behaviour is not correct.

Note: some tests order changes are introduced to avoid calling
discard_changes twice

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21465: Don't throw duplicate userid error if userid belongs to the matched patron
Nick Clemens [Tue, 2 Oct 2018 19:48:02 +0000 (19:48 +0000)]
Bug 21465: Don't throw duplicate userid error if userid belongs to the matched patron

To test:
 1 - Export your patrons
    a - Create a report 'SELECT * FROM borrowers'
    b - Run and save the report as csv (check your delimiter)
    c - Delete the borrowernumebr column
 2 - Use the Patron Import tool to import the csv from above
 3 - Set matching to 'cardnumber'
 4 - Set 'If matching record is already in the borrowers table:' to
Overwrite
 5 - Import
 6 - None are import because of matchign userid (their own)
 7 - Apply patch
 8 - Repeat
 9 - Patrons are successfully overwritten
10 - prove -v t/db_dependent/Koha/Patrons/Import.t
11 - prove -v t/db_dependent/Koha/Patrons.t

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21961: DBRev 18.12.00.001
Nick Clemens [Tue, 11 Dec 2018 20:31:19 +0000 (20:31 +0000)]
Bug 21961: DBRev 18.12.00.001

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21961: Fix typo in manage_didyoumean permission
Katrin Fischer [Thu, 6 Dec 2018 11:42:12 +0000 (12:42 +0100)]
Bug 21961: Fix typo in manage_didyoumean permission

The typo in the installer files will cause problems on new
installations as the code for the permission is wrong.

This means that on new installations the Did you mean? section
on the administration page won't show up.

In order to fix this, we need to correct the code in
permissions, but also the permissions for users who
this permission has been given to.

To test:
- Start without the patch
- Use a new installation with the permission typo
- Log in as superlibrarian
- Verify that the "did you mean?" configuration page
  is not visible
- Create another staff user with permission to access
  staff and manage_didyoumean checked
- Verify configuration page remains invisible
- Apply patch and run database update
- Check both users again, the config page should now sohw

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21908: (QA follow-up) Remove useless parentheses in query
Julian Maurice [Fri, 7 Dec 2018 09:19:44 +0000 (10:19 +0100)]
Bug 21908: (QA follow-up) Remove useless parentheses in query

Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21908: Add DISTINCT biblionumber to rebuild_zebra.pl
Fridolin Somers [Thu, 29 Nov 2018 09:50:06 +0000 (10:50 +0100)]
Bug 21908: Add DISTINCT biblionumber to rebuild_zebra.pl

Zebra indexing script misc/migration_tools/rebuild_zebra.pl as a table arg to allow filtering.
When using table=items we should use DISTINCT(biblionumber) to avoid indexing several times the same biblio record when it has several items.
This patch adds DISTINCT(biblionumber) in all cases it does not harm if its already unique.

Test plan :
1) Be sur you have a biblio record with biblionumber 1 with 3 items
2) Run misc/migration_tools/rebuild_zebra.pl -v -b --table items --where="biblionumber=1"
3) Without patch you see "Records exported: 3", with patch only one
4) Check indexing works well

Signed-off-by: Pierre-Marc Thibault <pierre-marc.thibault@inLibro.com>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21908: Add biblio_metadata to rebuild_zebra.pl tables
Fridolin Somers [Thu, 29 Nov 2018 09:15:00 +0000 (10:15 +0100)]
Bug 21908: Add biblio_metadata to rebuild_zebra.pl tables

Zebra indexing script misc/migration_tools/rebuild_zebra.pl as a table arg to allow filtering.
It is missing biblio_metadata to allow filtering on MARCXML with ExtractValue.

Test plan :
1) Be sur you have a biblio record with biblionumber 1
2) Run misc/migration_tools/rebuild_zebra.pl -h
3) You see : --table specify a table (can be items, biblioitems, biblio, biblio_metadata) to retrieve biblionumber to index.
4) Run misc/migration_tools/rebuild_zebra.pl -v -b --table biblio_metadata --where="biblio_metadata.biblionumber=1"
5) Check you dont have SQL errors

Signed-off-by: Pierre-Marc Thibault <pierre-marc.thibault@inLibro.com>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21849: Two useless Koha::Account::Offset->new calls need attention
Kyle M Hall [Fri, 16 Nov 2018 12:01:39 +0000 (07:01 -0500)]
Bug 21849: Two useless Koha::Account::Offset->new calls need attention

Came across those calls in bug 20598 in _FixOverduesOnReturn

        Koha::Account::Offset->new(
            {
                debit_id => $accountline->id,
                type => 'Forgiven',
                amount => $amountoutstanding * -1,
            }
        );

This does nothing if you don't store data.

Test Plan:
1) Apply this patch
2) Set up 2 items with overdue fines
3) Return one with dropbox mode
4) Note the dropbox account offset is created
5) Return one with full fine forgiveness
6) Note the forgiven account offset is created

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21849: Add unit tests
Kyle M Hall [Fri, 16 Nov 2018 14:54:39 +0000 (09:54 -0500)]
Bug 21849: Add unit tests

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21962: Fix authority search using 'all'
Nick Clemens [Thu, 6 Dec 2018 12:42:45 +0000 (12:42 +0000)]
Bug 21962: Fix authority search using 'all'

To test:
1 - Set search engine to Zebra
2 - Have some authorities and indexes up to date
3 - Search authorities with option 'search entire record'
4 - No results
5 - Apply patch
6 - Run unit tests, they pass!
7 - Repeat search
8 - Results!

Signed-off-by: Pierre-Marc Thibault <pierre-marc.thibault@inLibro.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21962: Unit tests
Nick Clemens [Thu, 6 Dec 2018 12:41:41 +0000 (12:41 +0000)]
Bug 21962: Unit tests

Signed-off-by: Pierre-Marc Thibault <pierre-marc.thibault@inLibro.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21405: Fix authorities pagination for Zebra and ES
Nick Clemens [Mon, 3 Dec 2018 13:05:49 +0000 (13:05 +0000)]
Bug 21405: Fix authorities pagination for Zebra and ES

Bug 20261 introduced an error because search_auth_compat responded
differently for ES and Zebra, now bug 19365 fixed the underlying
difference. This patch restores previous code to fix pagination.

Additionally we add a fix for 10000+ results in ES and remove a double
import of C4::Auth

To test:
 1 - Perform an authorities search with 1+ pages using Zebra
 2 - Page through results, note you are only offseeting by 1 each time
 3 - Perform an authorities search with 10,000+ results in ES
 4 - Click on the last page and get an error
 5 - Apply patch
 6 - Retry Zebra search
 7 - Results should paginate correctly
 8 - Clicking on last page should return last results
 9 - Retry ES results
10 - Results should paginate correct
11 - Clicking on last page should return last results

Signed-off-by: Ere Maijala <ere.maijala@helsinki.fi>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21608: (QA follow-up) Rename revert button
Marcel de Rooy [Fri, 7 Dec 2018 08:43:58 +0000 (09:43 +0100)]
Bug 21608: (QA follow-up) Rename revert button

The label 'Revert found status' is replaced by 'Revert waiting status'
or 'Revert transit status' depending on hold.found/hold.intransit.
Note that hold comes from reserveloop in request.pl. The columns/keys
found and intransit are just booleans.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21608: Add value for 'rank-request' when dropdwn disabled
Nick Clemens [Mon, 26 Nov 2018 18:19:03 +0000 (18:19 +0000)]
Bug 21608: Add value for 'rank-request' when dropdwn disabled

When a field is disabled no value is submitted in the form - this was
causing found holds to be reverted

To test:
1 - Apply all patches except this one
2 - PLace several holds on one bib
3 - Set at least one waiting or intransit
4 - Making no adjustments hit "Update holds"
5 - Waiting/intransit holds are all reset
6 - Mark them waiting/intransit again
7 - Apply this patch
8 - Click 'update holds'
9 - Found status is not accidentally reverted

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21608: Add ID and fix filters
Nick Clemens [Tue, 13 Nov 2018 19:22:48 +0000 (19:22 +0000)]
Bug 21608: Add ID and fix filters

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21608: Disable dropdown for found holds - add button to revert
Nick Clemens [Thu, 25 Oct 2018 11:45:25 +0000 (11:45 +0000)]
Bug 21608: Disable dropdown for found holds - add button to revert

This patch disables the dropdown for found holds, and adds a new button
to revert the waiting status, setting the hold to priority 1

Additionally we remove some changes from 19469 and update the JS to skip
found holds when updating priority

To test:
1 - Find a record with multiple items
2 - Place 4 holds (or more)
3 - Capture one ohld as waiting, one as in transit
4 - View the holds on the record - switch the last to priority one
5 - Waiting and transit statuses get confused
6 - Apply patch
7 - Observe dropdown is now disabled for waiting holds
8 - Confirm other holds operate as expected
9 - Confirm 'Revert found status' resets hold

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Bug 21608: (follow-up) Use RevertWaitingStatus and do not alter _FixPriority

[EDIT]
Completely removed the changes to Reserves.pm by adding module prefix in
the request.pl script.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21911: Regression test
Josef Moravec [Fri, 30 Nov 2018 07:09:23 +0000 (07:09 +0000)]
Bug 21911: Regression test

This tests usuall cases, but note, that administrator could make a
branch with code "%%%" or so, which this test does not cover, and some
functionalities will not work in that case: opac limit override,
                holdinbranch facet

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21911: Fix OPAC scoping to work with new group system
Nick Clemens [Thu, 29 Nov 2018 14:17:37 +0000 (14:17 +0000)]
Bug 21911: Fix OPAC scoping to work with new group system

To test:

0 - Apply patch
1 - Create a library group enabled for opac search limits and add some
libraries
2 - Check the DB (or advanced search dropdown) to get the id of the
group (using 7 as example below)
3 - Add to apache configuration (OPAC virtualhost)
   SetEnv OPAC_SEARCH_LIMIT branch:multibranchlimit-7
   SetEnv OPAC_LIMIT_OVERRIDE 1
   RequestHeader add X-Koha-SetEnv "OPAC_SEARCH_LIMIT
   branch:multibranchlimit-7"
   RequestHeader add X-Koha-SetEnv "OPAC_LIMIT_OVERRIDE 1"
4 - Ensure OpacAddMastheadLibraryPulldown is disabled
5 - Restart all the things
6 - Visit the opac
7 - Perform a search, confirm it is scoped to the branches in the group

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21910: Does not deal with call context, ->search does already
Jonathan Druart [Thu, 6 Dec 2018 15:53:24 +0000 (12:53 -0300)]
Bug 21910: Does not deal with call context, ->search does already

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21910: Remove duplicated lines in tests
Jonathan Druart [Thu, 6 Dec 2018 15:52:54 +0000 (12:52 -0300)]
Bug 21910: Remove duplicated lines in tests

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21910: Koha::Library::Groups->get_search_groups should return the groups
Nick Clemens [Thu, 29 Nov 2018 14:11:36 +0000 (14:11 +0000)]
Bug 21910: Koha::Library::Groups->get_search_groups should return the groups

To test:
 1 - Add a library group (Admin->Library groups)
 2 - Enable use as an opac and staff search limit
 3 - Add some libraries to the group
 4 - Visit advanced search on staff and opac
 5 - Note the dropdown has as many empty rows as there are libraries
  in the group
 6 - Apply patch, restart all the things
 7 - Visit staff and opac advanced search
 8 - Confirm the group dropdowns are correct
 9 - Enable OpacMastheadLibraryPulldown
10 - Ensure the dropdown on opac shows groups correctly
11 - Confirm earchign groups works from all three locations
12 - prove -v t/db_dependent/LibraryGroups.t

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21778: Sort user list by surname,firstname unless user cannot manage patron lists...
Nick Clemens [Wed, 7 Nov 2018 01:32:26 +0000 (01:32 +0000)]
Bug 21778: Sort user list by surname,firstname unless user cannot manage patron lists OR edit patrons

To test:
1 - Create four users:
    1 superlibrarian (or with both edit patrons and manage patron
            lists)
    1 with only edit patrons and catalogue
    1 with only add to list and catalogue
    1 with catalogue but neither edit patrons or manage patron lists
2 - Search patrons signed in as each user
3 - Note different sorting
4 - Apply patch
5 - Try searching with each patron
6 - Results should always be sorted by surname, firstname
7 - Only in the case of neither extra permission should the checkboxes
be absent

Signed-off-by: Devinim <kohadevinim@devinim.com.tr>
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21955: Remove Cache::Memory as fallback for L2 cache
Jonathan Druart [Wed, 5 Dec 2018 19:39:02 +0000 (16:39 -0300)]
Bug 21955: Remove Cache::Memory as fallback for L2 cache

If Plack is running with several workers we must not use Cache::Memory
as L2 cache.

If a value is set from a worker, it will not be available from other
workers as the Cache::Memory instance is not shared (of course!)

Moreover we now have Koha::Cache::Memory::Lite that does the same job,
so we should not expect performance regressions by removing it.

See also the email sent to koha-devel for more info
http://lists.koha-community.org/pipermail/koha-devel/2018-December/045004.html

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21896: RM follow-up - fix tests
Nick Clemens [Fri, 30 Nov 2018 21:27:44 +0000 (21:27 +0000)]
Bug 21896: RM follow-up - fix tests

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 18805: Add ability to use up account credits
Tomas Cohen Arazi [Tue, 27 Nov 2018 23:28:29 +0000 (20:28 -0300)]
Bug 18805: Add ability to use up account credits

This patch introduces a new button in the 'Pay fines' tab  on the
patron's account page. This button, labeled 'Normalize account' is only
displayed when outstanding credits are available, that could be used to
pay up existing debts.

When clicking the button, the Koha::Account::normalize_balance method
(bug 21896) is used for the purpose.

To test:
- Apply this patch (on top of 21896)
- On a patron's 'Fines' tab, create a 'manual invoice' (maybe more than
  one)
- Go to the 'Pay fines' tab
=> SUCCESS: No 'Apply credits' button is displayed.
- On the 'create manual credit' tab, create a couple credits.
- Go to the 'Pay fines'
=> SUCCESS: 'Apply credits' button is displayed
- Click on 'Apply credits'
=> SUCCESS: Outstanding credits have been used to pay up debts.
- Play with different options (credit excedes debts and vice-versa, they
        match, etc)
=> SUCCESS: They all work as expected
- Sign off :-D

Signed-off-by: Christopher Brannon <cbrannon@cdalibrary.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21896: (QA follow-up) Document and Test for FIFO behaviour
Martin Renvoize [Thu, 29 Nov 2018 13:49:27 +0000 (13:49 +0000)]
Bug 21896: (QA follow-up) Document and Test for FIFO behaviour

A short dicussion lead to the decision to make it explictly clear that
this method will implicitly apply credits against debits in a 'First In
First Out' manor, meaning oldest outstanding debits will be paid off
first.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21896: (QA follow-up) Add tests for FIFO behaviour
Tomas Cohen Arazi [Thu, 29 Nov 2018 13:55:51 +0000 (10:55 -0300)]
Bug 21896: (QA follow-up) Add tests for FIFO behaviour

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21896: (QA follow-up) normalize_balance -> reconcile_balance rename
Tomas Cohen Arazi [Wed, 28 Nov 2018 13:24:36 +0000 (10:24 -0300)]
Bug 21896: (QA follow-up) normalize_balance -> reconcile_balance rename

This was requested on the QA review and I agree.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21896: Add Koha::Account::normalize_balance
Tomas Cohen Arazi [Tue, 27 Nov 2018 22:34:29 +0000 (19:34 -0300)]
Bug 21896: Add Koha::Account::normalize_balance

This patch adds the normalize_balance() method to Koha::Account. Its
purpose is to apply outstanding credits (i.e. manual ones ore remaining
amounts like in the case of refunds) to outstanding debts.

To test:
- Apply this patchset
- Run:
  $ kshell
 k$ prove t/db_dependent/Koha/Account.t
=> SUCCESS: Tests pass!
- Sign off :-D

Signed-off-by: Christopher Brannon <cbrannon@cdalibrary.org>
Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21896: Add unit tests for Koha::Account::normalize_balance
Tomas Cohen Arazi [Tue, 27 Nov 2018 20:06:20 +0000 (17:06 -0300)]
Bug 21896: Add unit tests for Koha::Account::normalize_balance

Signed-off-by: Christopher Brannon <cbrannon@cdalibrary.org>
Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 7143: Update about page for Nazlı
Nazlı Çetin [Thu, 29 Nov 2018 14:50:29 +0000 (14:50 +0000)]
Bug 7143: Update about page for Nazlı

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 7143: Update OpenHub link for Fridolin Somers in about page
Fridolin Somers [Wed, 28 Nov 2018 15:07:57 +0000 (16:07 +0100)]
Bug 7143: Update OpenHub link for Fridolin Somers in about page

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21736: Allow translating the localization widget messages
Pasi Kallinen [Wed, 31 Oct 2018 12:04:33 +0000 (14:04 +0200)]
Bug 21736: Allow translating the localization widget messages

The widget used to translate the item type names to other
languages has few javascript messages that cannot be translated.
Add the mechanism to enable their translation.

Test plan:

1) Install and update a language
2) Check the po-files, there's no msgid for
   "A translation already exists for this language."
3) Apply the patch
4) Install and update a language
5) There should be a msgid for the one in 2, and
   couple other messages from localization.tt
6) Translate those messages, update the translated templates
7) Go to Administration -> Item types -> Modify item type ->
   Translate into other languages
   Add a new translation, check that the message given by the widget
   was in correct language.

Signed-off-by: Pasi Kallinen <pasi.kallinen@joensuu.fi>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21905: Plugin hook intranet_catalog_biblio_enhancements_toolbar_button incorrectl...
Kyle M Hall [Wed, 28 Nov 2018 18:41:53 +0000 (13:41 -0500)]
Bug 21905: Plugin hook intranet_catalog_biblio_enhancements_toolbar_button incorrectly filtered

The new plugin hook intranet_catalog_biblio_enhancements_toolbar_button is rendered useless due to the outputted html being escaped using the html filter. It should be using the raw filter instead.

Test Plan:
1) Enable plugins
2) Download and install the latest version of the Kitchen Sink plugin
   https://github.com/bywatersolutions/koha-plugin-kitchen-sink/releases/download/v2.1.21/koha-plugin-kitchen-sink-v2.1.21.kpz
3) Browse to catalogue/detail.pl for a record
4) Note you see the raw html of the plugin output in the toolbar
5) Apply this patch
6) Restart all the things
7) Reload the page
8) Note the html is now correctly rendered as a button

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21861: (follow-up) replace onchange() with jQuery equivalent
Andreas Roussos [Thu, 22 Nov 2018 13:55:25 +0000 (15:55 +0200)]
Bug 21861: (follow-up) replace onchange() with jQuery equivalent

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21861: The MARC modification template actions editor does not always validate...
Andreas Roussos [Sat, 17 Nov 2018 18:03:36 +0000 (20:03 +0200)]
Bug 21861: The MARC modification template actions editor does not always validate user input

The MARC modification template actions editor does not validate
user input when adding a conditional clause, making it possible
to save a modification action without filling in all necessary
fields.

This patch fixes that.

Test plan:
1) Create a MARC modification template and add a new action,
   e.g. "Copy All field(s) 200$a to field 600$a".
   Add a condition ("if" or "unless") but leave the relevant
   field and subfield textboxes empty.
   Add "matches" or "doesn't match" as a comparison operator.
   Check the "RegEx" checkbox, leave the regex textbox empty.
2) Click on "Add action" and notice how it accepts your input.
   Also notice the extra space in the Action column RegEx.
3) Edit your modification action and notice the missing "m/"
   before the conditional RegEx.

4) Apply the patch and hit CTRL-F5 to reload the relevant JS.

5) Edit the modification action you added previously (or add
   a new one). Try leaving the textboxes mentioned above empty
   and then submit your changes. You should get pop-up windows
   informing you about missing fields.
6) Now try typing a value in the conditional regex textbox and
   Update your action. In the Action column, there should be
   no spaces between the delimiters of the matching operator
   and the value you just entered.
7) Edit your action: notice how the "m/" before the regular
   expression and the "/" after it are now showing correctly.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21897: Typo in postinst
Mirko Tietgen [Wed, 28 Nov 2018 10:18:09 +0000 (11:18 +0100)]
Bug 21897: Typo in postinst

Small typo (missing space)

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21895: Fix path to POT file
Julian Maurice [Wed, 28 Nov 2018 09:05:19 +0000 (10:05 +0100)]
Bug 21895: Fix path to POT file

Signed-off-by: Mirko Tietgen <mirko@abunchofthings.net>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21895: Fix translation for package install
Julian Maurice [Tue, 27 Nov 2018 23:51:45 +0000 (00:51 +0100)]
Bug 21895: Fix translation for package install

The string extraction process was not taking into account the fact that
standard/package install have a completely different directory structure
than the dev install

This patch tries to keep the exact same behaviour for dev installs,
while making it work for standard install by using opachtdocs,
intrahtdocs, opacdir and intranetdir from $KOHA_CONF

Test plan:
1. Follow test plan in
https://gitlab.com/koha-community/Koha/commit/d708255c7a4d981c7c7bdd0644a75202ec43b297
2. Do a standard install and repeat step 1 on this new install
3. If you know how to build the Debian package, build it, install it and
verify that koha-translate works as expected
4. prove t/LangInstaller.t

Signed-off-by: Mirko Tietgen <mirko@abunchofthings.net>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoKoha 18.12 - ...and Steven!
Nick Clemens [Thu, 29 Nov 2018 16:09:55 +0000 (16:09 +0000)]
Koha 18.12 - ...and Steven!

We are the Koha devs
We’ll always save the day!
And if sometimes we can’t
The community finds a way!
That’s why the people of this world believe in
Users, Librarians, and Devs..

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoCorrect release notes encoding issues v18.11.00
Nick Clemens [Tue, 27 Nov 2018 12:04:15 +0000 (12:04 +0000)]
Correct release notes encoding issues

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoUpdate version in Koha.pm
Nick Clemens [Tue, 27 Nov 2018 11:43:45 +0000 (11:43 +0000)]
Update version in Koha.pm

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoUpdate release notes for 18.11.00 release
Nick Clemens [Tue, 27 Nov 2018 02:00:58 +0000 (02:00 +0000)]
Update release notes for 18.11.00 release

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoIncrement version for 18.11.00 release
Nick Clemens [Tue, 27 Nov 2018 01:39:26 +0000 (20:39 -0500)]
Increment version for 18.11.00 release

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoTranslation updates for Koha 18.11.00
Koha translators [Tue, 27 Nov 2018 01:22:14 +0000 (22:22 -0300)]
Translation updates for Koha 18.11.00

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21867: Replace remaining document.element.onchange calls in marc_modification_tem...
Marcel de Rooy [Tue, 20 Nov 2018 15:45:17 +0000 (16:45 +0100)]
Bug 21867: Replace remaining document.element.onchange calls in marc_modification_templates.js

Replace onchange() by jQuery change().

Test plan:
Go to marc mod templates. Add, edit and delete. Check if works and no js
errors.
git grep -l -E "onchange\(" should not have occurrences outside lib.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Andreas Roussos <arouss1980@gmail.com>
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 19365: (QA follow-up) Ensure we use a modern enough perl
Martin Renvoize [Tue, 20 Nov 2018 10:06:43 +0000 (10:06 +0000)]
Bug 19365: (QA follow-up) Ensure we use a modern enough perl

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 19365: Clean up, fix and add new tests.
Martin Renvoize [Tue, 20 Nov 2018 10:06:24 +0000 (10:06 +0000)]
Bug 19365: Clean up, fix and add new tests.

Moved db_dependent tests to the proper directory in the hierarchy, fixed tests to check correct results now that the authority query builder works better and added several new tests to cover changed functionality.

Sponsored-by: National Library of Finland
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 19365: Index authority fields as phrases
Ere Maijala [Tue, 13 Nov 2018 14:53:30 +0000 (16:53 +0200)]
Bug 19365: Index authority fields as phrases

Followup change to the mappings syntax from bug 19893. Indexing as phrases allows to properly search for matching headings comprised of multiple subfields (e.g. author name with year of birth).

Sponsored-by: National Library of Finland
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 19365: Fix search for duplicate authorities with Elasticsearch
Ere Maijala [Sun, 16 Sep 2018 21:10:22 +0000 (00:10 +0300)]
Bug 19365: Fix search for duplicate authorities with Elasticsearch

Sponsored-by: National Library of Finland
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 19365: Fix several issues with the Elasticsearch code
Ere Maijala [Fri, 14 Sep 2018 03:40:24 +0000 (06:40 +0300)]
Bug 19365: Fix several issues with the Elasticsearch code

Also optimize it so it's actually usable.

Test plan:

1. To test it properly you need biblio and authority data. You might get away with enabling AutoCreateAuthorities and BiblioAddsAuthorities so that authorities are created in the process. Another option would be to import authorities first e.g. from LoC.
2. Make sure the authority index has been properly created with "misc/search_tools/rebuild_elastic_search.pl -a -d"
3. Run "misc/link_bibs_to_authorities.pl -v -l" twice and observe the results.

Sponsored-by: National Library of Finland
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21869: Fix incorrect value setting in DB update
Nick Clemens [Mon, 26 Nov 2018 13:08:05 +0000 (13:08 +0000)]
Bug 21869: Fix incorrect value setting in DB update

To test:
1 - Set some value for MarkLostAsReturned syspref
2 - Set your db version to 17.12.00.035 (or load an older db)
3 - updatedatabase
4 - Note your values are lost and db is incorrectly set
5 - Apply patch
6 - Reset values
7 - Reset DB version
8 - Run updatedatabase
9 - Original values are retained

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21878: (follow-up) Fix a few uri filter in facets
Marcel de Rooy [Mon, 26 Nov 2018 09:30:12 +0000 (10:30 +0100)]
Bug 21878: (follow-up) Fix a few uri filter in facets

We need to adjust a few query_cgi | uri filters here too.
Note that sort_by should be filtered by uri, not url.

Similar change on staff side.

Test plan:
Toggle Show all items/Limit available items.
Check: git grep -l "query_cgi | uri"

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21878: (follow-up) Fix a few query_cgi filters in opac-search-history
Marcel de Rooy [Mon, 26 Nov 2018 09:10:37 +0000 (10:10 +0100)]
Bug 21878: (follow-up) Fix a few query_cgi filters in opac-search-history

We need to replace the uri filter on query_cgi to make some URLs work.

Test plan:
Check if the links on user page, search history work for biblio and auth
in current and previous release.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21878: To fix pagination problem in OPAC
Nazlı Çetin [Fri, 23 Nov 2018 14:23:07 +0000 (14:23 +0000)]
Bug 21878: To fix pagination problem in OPAC

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21644: better UNIMARC XSLT display of 210 in intranet
Fridolin Somers [Wed, 24 Oct 2018 12:23:02 +0000 (14:23 +0200)]
Bug 21644: better UNIMARC XSLT display of 210 in intranet

In intranet default UNIMARC XSLT display of 210 is tricky.
It tests each subfield with a complex conditional prefix.
In OPAC default UNIMARC XSLT display 210 is simply displayed with a loop on all subfields.

I propose to use the same code as OPAC in intranet.
It allows to display $f and removes strange middle-score character.

Test plan:
1) Doni't apply patch
2) Use an UNIMARC database
3) Use default XSLT in all displays
4) Configure a framework to allow 210 subfields from 'a' to 'h'
5) Edit a record with this framework
6) In each 210 subfield enter its letter : $a a, $b b ...
7) Save record
8) Look at record in OPAC, you see : "Publication: a, b : c, d, e, f : g, h"
9) Look at record in intranet
10) You see : ""Publication: a, b : c, d - e : g, h
11) Apply patch
12) Look at record in intranet
13) You see : "Publication: a, b : c, d, e, f : g, h"

Signed-off-by: Andreas Roussos <arouss1980@gmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
This patch makes intranet consistent with staff again on this area.
Note that we loose some punctuation like "- e".

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21730: DBRev 18.06.00.062
Nick Clemens [Mon, 26 Nov 2018 12:49:25 +0000 (12:49 +0000)]
Bug 21730: DBRev 18.06.00.062

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21730: Add missing PA_CLASS authorized values categories
Jonathan Druart [Wed, 31 Oct 2018 20:42:43 +0000 (17:42 -0300)]
Bug 21730: Add missing PA_CLASS authorized values categories

PA_CLASS is missing from the list of AV category

Test plan:
Execute the update DB entry
Confirm that you now have PA_CLASS in the AV category list

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21874: (QA follow-up) Fix intranet sendshelf
Marcel de Rooy [Fri, 23 Nov 2018 11:02:51 +0000 (12:02 +0100)]
Bug 21874: (QA follow-up) Fix intranet sendshelf

Move encode line below regex line.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21874: Fix encoding of cart and list email subjects
Katrin Fischer [Fri, 23 Nov 2018 10:30:49 +0000 (11:30 +0100)]
Bug 21874: Fix encoding of cart and list email subjects

The subject of the cart and list emails is not correctly
encoded and displays incorrectly in some email clients.

To test:

Lists:
- Create a list, name it using umlauts or other diacritics
  Example:  Jugendbücher (books for youths in German)
- Add some items to your list
- Email yourself the list
- Verify that the email subject is broken

Cart:
- Install another language with non-latin characters like Greek
- Fill the cart with some titles
- Send yourself the cart
- Verify that the email subject is broken

Note: Some email clients display correctly, others not.
      It's known to be incorrect in Outlook and web.de,
      displaying nicely in Thunderbird.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Tested all four scripts by manipulating the cart text too in templates.
Follow-up handles intranet sendshelf.

Note: I asked Katrin to remove the encode UTF-8 statements, since we
convert to MIME and the subject line should never be UTF-8.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21649: Pass guarantee info to template when adding child
Nick Clemens [Mon, 19 Nov 2018 14:47:04 +0000 (14:47 +0000)]
Bug 21649: Pass guarantee info to template when adding child

To test:
1 - Find an adult patron
2 - Click 'Add child'
3 - Note address/phone info does not carry over
4 - Apply patch
5 - Repeat
6 - Note information populates

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Todd <tgoatley@gmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
It works, but the code is ugly and hard to maintain.

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21758: Navigation in Z39.50 result pages not working in Acquisitions
Owen Leonard [Wed, 21 Nov 2018 16:42:03 +0000 (16:42 +0000)]
Bug 21758: Navigation in Z39.50 result pages not working in Acquisitions

This patch makes markup corrections to the acquisitions Z39.50 search
results template so that the navigation form works correctly.

Also changed: Removed invalid type attributes from style and script
tags.

To test, apply the patch and go to Acquisitions -> Vendor -> Basket.

- Add to basket -> From an external source
- Perform a Z39.50 search which will return multiple pages of results
- On the search results page, use the form at the bottom of the page to
  navigate through results. Confirm that both the "Go" form and the
  next/previous buttons work.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21774: Cloned item subfields disappear when editing an item
Marcel de Rooy [Thu, 8 Nov 2018 13:49:10 +0000 (14:49 +0100)]
Bug 21774: Cloned item subfields disappear when editing an item

Bug 10306 changed behavior on cloning item subfields by no longer splitting
constructions like 'A | B' in item fields like ccode.

If it is really recommended to clone item subfields, I am not so sure
about. But this patch at least restores the possibility to do so while
we discuss if we should ;)

Test plan:
[1] Run Items.t
[2] Make an item subfield repeatable in framework. And test edit items.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Works as expected. Also fixes the display of collections on the items
table (on editing items).

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21819: (QA follow-up) Replace onchange() in touched code
Marcel de Rooy [Tue, 20 Nov 2018 15:32:46 +0000 (16:32 +0100)]
Bug 21819: (QA follow-up) Replace onchange() in touched code

AFAIK we should not call document...onchange() and assume that it works.
Apparently, it does at least in some browsers. But we are not sure.
We could easily replace them here by the documented jQuery counterpart.

Note: If you try git grep -l -E "onchange\(" you will find some
occurrences in two libraries and only in one js file (this one).
We should replace all occurrences here; will open a new report for that.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Verified that the change event was triggered: span should expand/collapse.

Signed-off-by: Andreas Roussos <arouss1980@gmail.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21819: Marc modification templates action always checks Regexp checkbox
Andreas Roussos [Sat, 17 Nov 2018 09:35:00 +0000 (11:35 +0200)]
Bug 21819: Marc modification templates action always checks Regexp checkbox

When editing a MARC modification template action, the 'RegEx'
checkbox to the right of the 'to field' textboxes will always
appear checked, even if no regular expression has been added.

This patch fixes that.

Test plan (steps 1-5 are copied from the original report -- thanks Pasi!):
1) Go to Tools > Marc modification templates, and create a new template
2) Add a new action to the template
3) Edit the action so it's "Move" field to another field.
   Do not check the RegEx checkbox after the "To" field.
4) Save the action.
5) Edit the same action again. The checkbox is now checked.
6) Apply the patch and hit Ctrl-F5 to do a hard refresh in your browser.
7) Edit the action you saved in 4): this time the 'RegEx' checkbox
   should be unchecked.
8) For completeness, add a regular expression to the "Move" action
   created in 3) and click on 'Update action'. When you re-edit this
   action the 'RegEx' checkbox should be checked.

Signed-off-by: Pasi Kallinen <pasi.kallinen@joensuu.fi>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21615: Move stock rotation in the tools menu
Isobel Graham [Mon, 19 Nov 2018 12:08:33 +0000 (12:08 +0000)]
Bug 21615: Move stock rotation in the tools menu

Mentored-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Andreas Roussos <arouss1980@gmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21854: Use template plugin to display category description
Nick Clemens [Fri, 16 Nov 2018 17:23:14 +0000 (17:23 +0000)]
Bug 21854: Use template plugin to display category description

Rather than getting the description in the script and passing, we should
just use the tmeplate plugin to get the description from the category
code.

To test:
1 - Find a patron, note their category
2 - Visit Tools - Batch patron modification
3 - Enter barcode of patron above
4 - Note category does not show in the display of patrons to be modified
5 - Apply patch
6 - Reload the page, note the patron category displays
7 - Modify the patron (anything but category)
8 - Check that category still diplays correctly in results

Signed-off-by: Pierre-Marc Thibault <pierre-marc.thibault@inLibro.com>
Signed-off-by: Andreas Roussos <arouss1980@gmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21837: Don't set holdingbranch filter using selected homebranch filter
Nick Clemens [Wed, 14 Nov 2018 19:08:09 +0000 (19:08 +0000)]
Bug 21837: Don't set holdingbranch filter using selected homebranch filter

To recreate:
1 - Open the overdues report (don't worry if you don't have results)
2 - Choose to filter by homebranch
3 - Note the holdingbranch filter is set to the selected homebranch
4 - Apply patch
5 - Clear filters
6 - repeat
7 - only homebranch is set

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21529: (bug 13618 follow-up) Display print notices with HTML tags
Jonathan Druart [Mon, 22 Oct 2018 20:52:46 +0000 (17:52 -0300)]
Bug 21529: (bug 13618 follow-up) Display print notices with HTML tags

Replace a wrong html filter with raw.

Test plan:
Define a HOLD or DISCHARGE notice template, with html tags.
Generate them and confirm that html tags are displayed (which restore
the existing behaviour prior to bug 13618)

Signed-off-by: Andrew Isherwood <andrew.isherwood@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21529: (follow-up) USE raw filter
Andrew Isherwood [Mon, 29 Oct 2018 14:10:42 +0000 (14:10 +0000)]
Bug 21529: (follow-up) USE raw filter

In order to be able to make use of the $raw filter, we need to USE it
first

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21853: (follow-up) to solve printpdf error
Mark Tompsett [Sun, 18 Nov 2018 05:36:44 +0000 (05:36 +0000)]
Bug 21853: (follow-up) to solve printpdf error

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Theoretically this follow-up makes no difference. All modules only export
printpdf and now we are just asking explicitly for printpdf. But if it
resolves some exception on the rule..

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21853: Fix PDF export of basketgroups
Julian Maurice [Sat, 17 Nov 2018 10:58:02 +0000 (11:58 +0100)]
Bug 21853: Fix PDF export of basketgroups

In recent versions of Perl, '.' is not included by default in @INC. This
breaks PDF export of basketgroups.

This patch moves acqui/pdfformat/*.pm files in Koha namespace so that
they can be 'require'd without manipulating @INC

Test plan:
1. Turn off Plack/Starman and test PDF export for every value of
   OrderPdfFormat system preference
2. Turn on Plack/Starman and test PDF export for every value of
   OrderPdfFormat system preference
3. Test on a dev install and a standard/package install

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21823: Force creation of POT file even if there is no messages
Julian Maurice [Tue, 13 Nov 2018 16:00:23 +0000 (17:00 +0100)]
Bug 21823: Force creation of POT file even if there is no messages

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21835: (QA follow-up) Fix failing test
Martin Renvoize [Fri, 16 Nov 2018 15:10:05 +0000 (15:10 +0000)]
Bug 21835: (QA follow-up) Fix failing test

The illrequest api response should always be augmented with an id_prefix
field which is not part of the core illrequest object

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21567: Remove Koha_ExternalContent_RecordedBooks.t
Tomas Cohen Arazi [Wed, 14 Nov 2018 18:11:07 +0000 (15:11 -0300)]
Bug 21567: Remove Koha_ExternalContent_RecordedBooks.t

This patch removes this file. The included tests are similar to those in
the db_dependent section, with the difference that this have some things
mocked. But the tests still require name resolution and connecting to
the RB servers. This situation breaks package building without any
noticeable gain.

The feature could be better tested by mocking WebService::ILS calls (so
no external world contact), but it belongs to a separate bug report.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Mirko Tietgen <mirko@abunchofthings.net>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21567: Move Koha_ExternalContent_OverDrive.t to db_dependent
Mirko Tietgen [Thu, 15 Nov 2018 23:07:14 +0000 (00:07 +0100)]
Bug 21567: Move Koha_ExternalContent_OverDrive.t to db_dependent

This tests pass on the build step only because they are skipped, due to
the absense of Test::DBIx::Class library.

It makes sense for them to be in the db_dependent directory, as they are
not completely mocked (re: external world interactions).

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21815: Rephrase HidePersonalPatronDetailOnCirculation
Katrin Fischer [Sat, 3 Nov 2018 08:29:39 +0000 (08:29 +0000)]
Bug 21815: Rephrase HidePersonalPatronDetailOnCirculation

Makes it a little easier to translate, also fixes whitespace and capitalization.

Signed-off-by: Devinim <kohadevinim@devinim.com.tr>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21839: Fix capitalization of "Print Label" link
Katrin Fischer [Wed, 14 Nov 2018 21:17:13 +0000 (22:17 +0100)]
Bug 21839: Fix capitalization of "Print Label" link

Fixed the spelling to follow Koha's capitalization rules to
"Print label".

To test:
- Edit an item in the GUI
- Look at the Actions pull down in the table above
  the item form

Signed-off-by: Andreas Roussos <arouss1980@gmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21516: Compiled CSS
Nick Clemens [Fri, 16 Nov 2018 12:57:46 +0000 (12:57 +0000)]
Bug 21516: Compiled CSS

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21516: (ALTERNATE) Request notes CSS bug makes them unreadable
Owen Leonard [Tue, 9 Oct 2018 14:34:55 +0000 (14:34 +0000)]
Bug 21516: (ALTERNATE) Request notes CSS bug makes them unreadable

This alternate patch makes multiple markup corrections to the ILL
requests templates. It reformats the request details to use a list,
making it consistent with similar interfaces (see patron details,
baskets in acquisitions). The display of notes has been changed so that
it uses a paragraph tag instead of <pre>.

To test, apply the patch and rebuild the staff client CSS.

- Manage an ILL request which has staff and OPAC notes. Everything
  should look readable.
- Running validation on the HTML should only return warnings coming from
  global include files (js_includes.inc).

Signed-off-by: Andrew Isherwood <andrew.isherwood@ptfs-europe.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21838: Wrong alignment of instructors in course reserves
Owen Leonard [Thu, 15 Nov 2018 13:39:33 +0000 (13:39 +0000)]
Bug 21838: Wrong alignment of instructors in course reserves

This patch adds CSS to course reserve pages so that multiple instructors
on a course are displayed well.

To test, apply the patch and:

 - Add or edit a course.
   - Test adding and removing instructors, saving, and adding and removing
     again.
 - View a course with multiple instructors and confirm that they are
   displayed well.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Awesome, Owen :-D

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20598: Update number of tests
Nick Clemens [Fri, 16 Nov 2018 12:51:27 +0000 (12:51 +0000)]
Bug 20598: Update number of tests

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20598: (QA follow-up) Tiny fixes
Marcel de Rooy [Fri, 16 Nov 2018 09:37:55 +0000 (10:37 +0100)]
Bug 20598: (QA follow-up) Tiny fixes

[1] Correct POD for _FixOverduesOnReturn
Is called by AddReturn, AddRenewal and LostItem.
Also tested in Circulation.t btw

[2] $dbh is not used in _FixOverduesOnReturn
[3] Moving all parameters to the first line.
[4] Variable $uquery is not used too.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20598: Unit test
Kyle M Hall [Mon, 5 Nov 2018 13:31:40 +0000 (13:31 +0000)]
Bug 20598: Unit test

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20598: Accruing fines not closed out by longoverdue.pl if WhenLostForgiveFine...
Kyle M Hall [Tue, 17 Apr 2018 18:11:41 +0000 (14:11 -0400)]
Bug 20598: Accruing fines not closed out by longoverdue.pl if WhenLostForgiveFine is not enabled

Test Plan:
1) Ensure WhenLostForgiveFine is disabled
2) Create an overdue with a fine
3) Mark it lost with longoverdue.pl
4) Note it is still marked as an accruing fine
5) Apply this patch
6) Repeat steps 1-3
7) Note it is no longer an accruing fine!

Signed-off-by: Maryse Simard <maryse.simard@inlibro.com>
Followed the test plan and it works.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 18677: (QA follow-up) Trivial fixes to Chargelostitem.t
Marcel de Rooy [Fri, 16 Nov 2018 09:04:55 +0000 (10:04 +0100)]
Bug 18677: (QA follow-up) Trivial fixes to Chargelostitem.t

Kind of funny that we did not touch this test here. But it passed!
Trivial fixes:
[1] Typo precessfee
[2] Typo the linked
[3] Add rollback

Test plan:
Run t/db_dependent/Circulation/Chargelostitem.t

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 18677: Remove new issue_id param from charlostitem
Jonathan Druart [Thu, 1 Nov 2018 14:47:47 +0000 (11:47 -0300)]
Bug 18677: Remove new issue_id param from charlostitem

We have the itemnumber no need to pass the issue_id, we can retrieve it
from chargelostitem

Signed-off-by: Michal Denar <black23@gmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 18677: Make the tests pass
Jonathan Druart [Thu, 1 Nov 2018 14:47:16 +0000 (11:47 -0300)]
Bug 18677: Make the tests pass

Signed-off-by: Michal Denar <black23@gmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 18677: issue_id is not added to accountlines for lost item fees
Kyle M Hall [Wed, 11 Apr 2018 18:08:57 +0000 (14:08 -0400)]
Bug 18677: issue_id is not added to accountlines for lost item fees

Test Plan:
1) Apply this patch
2) prove t/db_dependent/Accounts.t

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Michal Denar <black23@gmail.com>
[EDIT:]
Patch should have increased the number of tests obviously.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21835: Fix display of request ID
Andrew Isherwood [Wed, 14 Nov 2018 16:08:32 +0000 (16:08 +0000)]
Bug 21835: Fix display of request ID

We now populate the id_prefix property in the API response. It turns out
that explicitly casting to a string wasn't necessary as JS does "the
right thing" when concatenating a string and an integer

Test plan:

- Before applying the patch view the ILL requests table
- TEST: Observe that the Request number column displays as NaN
- Apply the patch
- Refresh the page
- TEST: Observe that the request number now displays correctly
- Add the following block to your koha-conf.xml:

<branch>
    <code>**The code of a branch that has an ILL request attached to
    it**</code>
    <prefix>YAY</prefix>
</branch>

- Refresh the page
- TEST: Observe the request made on the branch that you specified in the
config are now prefixed with "YAY-"

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>