]> git.koha-community.org Git - koha.git/log
koha.git
6 years agoBug 10306: Add tests for module changes
Marcel de Rooy [Wed, 19 Jul 2017 14:54:40 +0000 (16:54 +0200)]
Bug 10306: Add tests for module changes

GetMarcSubfieldStructure: In Biblio.t we are adding a subtest that checks
the structure returned by this routine. Is it a hashref pointing to
arrayrefs of hashrefs? ;)
In Search.t this routine was mocked. The change in the returned structure
is now applied to this mock too (moving the marc tag hashes into
arrayrefs).

GetMarcFromKohaField: In Biblio.t we add a subtest for it. We are checking
if it returns multiple mappings (per kohafield) and calling it in scalar
context too.

GetMarcSubfieldStructureFromKohaField: The existing subtest in Biblio.t is
expanded to also test the call in list context.

TransformKohaToMarc: This sub has its own test script. We are adding a
subtest in TransformKohaToMarc.t for a test with multiple mappings,
and for mapping to a control field in another framework. This also tests
the additional framework parameter.
Additionally, we add a test for the new no_split option used for items.

TransformMarcToKoha: This implicitly tests its helper sub _get_inverted.
This patch adds a new test script for this routine.

TransformMarcToKohaOneField: A few tests are added to the previous new
test script.

Test plan:
[1] Run t/db_dependent/Biblio.t
[2] Run t/db_dependent/Biblio/TransformKohaToMarc.t
[3] Run t/db_dependent/Biblio/TransformMarcToKoha.t
[4] Run t/db_dependent/Search.t

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 10306: Allow controlfields in TransformKohaToMarc
Marcel de Rooy [Thu, 20 Jul 2017 10:37:56 +0000 (12:37 +0200)]
Bug 10306: Allow controlfields in TransformKohaToMarc

Since the interface allows you to connect a kohafield to a MARC
controlfield, this routine should be able to handle that. Unfortunately
it did not.

Test plan:
Change will be tested in Biblio/TransformKohaToMarc.t in the next patch.

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 10306: Core module changes for multiple mappings
Marcel de Rooy [Wed, 19 Jul 2017 14:25:04 +0000 (16:25 +0200)]
Bug 10306: Core module changes for multiple mappings

In order to allow multiple Koha to MARC mappings (for one kohafield), we
need to adjust a few key routines in C4/Biblio.pm. This results in a few
changes in dependent modules too.

Note: Multiple mappings also include 'alternating' mappings. Such as the
case of MARC21 260 and 264: only one of both fields will be used. Sub
TransformMarcToKoha will handle that just fine; the opposite transformation
is harder, since we do no longer know which field was the source. In that
case TransformKohaToMarc will fill both fields. We only use that operation
in Koha for items (in Acquisition and Cataloging).

Sub GetMarcSubfieldStructure
This sub used a selectall_hashref, which is fine as long as we have only
one mapping for each kohafield. But as DBI states it: If a row has the same
key as an earlier row then it replaces the earlier row. In other words,
we lose the first mapping if we have two.
This patch uses selectall_arrayref with Slice and rearranges the output so
that the returned hash returns an arrayref of hashrefs for each kohafield.
In order to improve consistency, we add an order clause to the SQL
statement used too.

Sub GetMarcFromKohaField
This sub just returned one tag and subfield, but in case of multiple
mappings we should return them all now.
Note: Many calls still expect just one result and will work just fine:
    my ($tag, $sub) = GetMarcFromKohaField(...)
A possible second mapping would be silently ignored. Often the sub is
called for biblionumber or itemnumber. I would not recommend the use of
multiple mappings for such fields btw.
In case the sub is called in scalar context, it will return only the first
tag (instead of the number of tags and subfields).

Sub GetMarcSubfieldStructureFromKohaField
This sub previously returned the hash for one kohafield.
In scalar context it will behave like before: it returns the first hashref
in the arrayref that comes from GetMarcSubfieldStructure.
In list context, it returns an array of all hashrefs (incl. multiple
mappings).
The sub is not used in C4::Ris. Removed the use statement.

Sub TransformKohaToMarc
This sub got a second parameter: frameworkcode.
Historically, Koha more or less assumes kohafields to be defined across all
frameworks (see Koha to MARC mappings). Therefore it falls back to Default
when it is not passed.
When going thru all mappings in building a MARC record, it also supports
multiple mappings. Note that Koha uses this routine in Acquisition and in
Cataloging for items. Normally the MARC record is leading however and the
Koha fields are derivatives for optimization and reporting.

The added third parameter allows for passing a new option no_split => 1.
We use this option in C4::Items::Item2Marc; if two item fields are mapped to
one kohafield but would have different values (which would be very unusual),
these values are glued together. When transforming to MARC again, we do not
want to duplicate the item subfields, but we keep the glued value in both
subfields. This operation only affects items, since we are not doing this
reverse operation for biblio and biblioitem fields.

Sub _get_inverted_marc_field_map
This sub is a helper routine of TransformMarcToKoha, the opposite
transformation. When saving a MARC record, all kohafields are extracted
including multiple mappings.
Suppose that you had both 260c and 264c in your record (which you won't),
than both values get saved initially into copyrightdate like A | B. The
additional code for copyrightdate will extract the first year from this
string.
A small fix in TransformMarcToKoha makes that it only saves a value in a
kohafield if it is defined and not empty. (Same for concatenation.)

Sub TransformMarcToKohaOneField
This sub now just calls TransformMarcToKoha and extracts the requested
field. Note that since we are caching the structure, this does not result
in additional database access and is therefore performance-wise
insignificant. We simplify code and maintenance.
Instead of modifying the passed hashref, it simply returns a value. A call
in C4::Breeding is adjusted accordingly. The routine getKohaField in
Koha::MetadataRecord is redirected to TransformMarcToKohaOneField.
NOTE: The fourth patch restructures/optimizes TransformMarcToKoha[OneField].

Sub get_koha_field_from_marc
This sub can be removed. A call is replaced by TransformMarcToKohaOneField
in C4::XISBN.

Note: The commented lines for sub ModZebrafiles are removed (directly under
TransformMarcToKohaOneField).

Test plan:
For unit tests and interface tests, please see follow-ups.
Run qa tools in order to verify that the modules still compile well.
Read the code changes and verify that they make sense.

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 19776: Fix random failures (category_type vs categorycode='X')
Jonathan Druart [Thu, 7 Dec 2017 17:42:03 +0000 (14:42 -0300)]
Bug 19776: Fix random failures (category_type vs categorycode='X')

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 19775: Try & prevent Search/History.t to fail randomly
Jonathan Druart [Thu, 7 Dec 2017 16:41:06 +0000 (13:41 -0300)]
Bug 19775: Try & prevent Search/History.t to fail randomly

 #   Failed test 'There are still 8 searches after calling delete with an interval = 6 days'
 #   at t/db_dependent/Search/History.t line 185.
 #          got: '6'
 #     expected: '8'

 #   Failed test 'There are still 2 searches after calling delete with an interval = 2 days'
 #   at t/db_dependent/Search/History.t line 191.
 #          got: '0'
 #     expected: '2'
 # Looks like you failed 2 tests of 27.
[15:04:12] t/db_dependent/Search/History.t

It looks like it does not longer fail with this change (date comparaison wrongly rounded to second in mysql?)

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 7143: Update about page for new dev - Victor Grousset
Jonathan Druart [Thu, 7 Dec 2017 14:28:54 +0000 (11:28 -0300)]
Bug 7143: Update about page for new dev - Victor Grousset

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 19496: ReplytoDefault is a pref, not a C4::Context method
Jonathan Druart [Thu, 7 Dec 2017 13:52:28 +0000 (10:52 -0300)]
Bug 19496: ReplytoDefault is a pref, not a C4::Context method

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 19496: Fixing to_address for patron notes
Aleisha Amohia [Mon, 27 Nov 2017 21:33:58 +0000 (21:33 +0000)]
Bug 19496: Fixing to_address for patron notes

This patch ensures the patron note to_address is the branch email or the
Koha Admin email, and the from_address is the patron's email.

To test:
1) Ensure syspref 'allowcheckoutnotes' is turned on
2) Go to OPAC, leave a note on a checkout
3) Confirm that the note is received (in mysql message_queue) but the
to_address is the patron's email - this is wrong
4) Apply patch and refresh OPAC
5) Leave a note on a checkout
6) Confirm that the note is received in message queue
7) Confirm that the to_address is one of:
- branch email
- branch reply to
- syspref ReplytoDefault
- syspref KohaAdminEmailAddress
8) Confirm that the from_address is one of:
- patron email
- patron emailpro
- patron B_email

Sponsored-by: Catalyst IT
Signed-off-by: David Bourgault <david.bourgault@inlibro.com>
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 19724: DBIC Schema changes
Jonathan Druart [Thu, 7 Dec 2017 13:26:32 +0000 (10:26 -0300)]
Bug 19724: DBIC Schema changes

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 19724: DBRev 17.12.00.001
Jonathan Druart [Thu, 7 Dec 2017 13:20:36 +0000 (10:20 -0300)]
Bug 19724: DBRev 17.12.00.001

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 18907: Build has deprecating message
Mark Tompsett [Thu, 6 Jul 2017 15:42:43 +0000 (15:42 +0000)]
Bug 18907: Build has deprecating message

Following the instructions at:
https://wiki.koha-community.org/wiki/Building_Debian_Packages_-_The_Easy_Way
Receiving the following message in the build:
dpkg-source: warning: relation < is deprecated: use << or <=

This patch tweaks the list-deps.
git diff origin/master -- debian/list-deps shows just the one line
changed from < to << as per the messages suggestion and eythian's
suggestion on IRC:
http://irc.koha-community.org/koha/2017-07-06#i_1950698

The control file can be regenerated from the command-line:
./debian/update-control
However, it will be attached separately.

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 12497: Fix OPAC search history reachable by URL even when disabled
Victor Grousset [Fri, 24 Nov 2017 11:02:47 +0000 (12:02 +0100)]
Bug 12497: Fix OPAC search history reachable by URL even when disabled

Test plan:
1. Set EnableOpacSearchHistory syspref to "Keep"
2. Make a search in the OPAC
3. Go to /cgi-bin/koha/opac-search-history.pl
4. Set the EnableOpacSearchHistory syspref to "Don't keep"
5. Refresh the OPAC page to show that history is still accessible
6. Apply the patch
7. Refresh the OPAC page, you should end on the 404 page
8. Set EnableOpacSearchHistory syspref to "Keep"
9. Go to /cgi-bin/koha/opac-search-history.pl which should be reachable

Signed-off-by: David Bourgault <david.bourgault@inlibro.com>
Signed-off-by: Charles Farmer <charles.farmer@inLibro.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 12497: Fix search history non-accessible when OPAC was private
Victor Grousset [Thu, 23 Nov 2017 15:03:14 +0000 (16:03 +0100)]
Bug 12497: Fix search history non-accessible when OPAC was private

(when the user didn't have the "borrowers" permission)

Test plan:
1. Set syspref "OpacPublic" to false (Disable)
2. Log in as a user without any permission
3. Try to access the search history. The link is next to "Log out"
4. Then you should see "Access denied"
5. Apply this patch
6. Refresh the page
7. Then you should see the search history

Signed-off-by: David Bourgault <david.bourgault@inlibro.com>
Signed-off-by: Charles Farmer <charles.farmer@inLibro.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 19674: Broken indicators of changed fields in manage staged MARC records template
Owen Leonard [Tue, 21 Nov 2017 16:17:32 +0000 (16:17 +0000)]
Bug 19674: Broken indicators of changed fields in manage staged MARC records template

This patch returns some CSS to the manage staged MARC records template
which was incorrectly removed by Gug 16538.

To test, apply the patch and go to Tools -> Staged MARC management.
Choose a staged MARC file.

Changing any of the <select> fields in the first section should cause a
label to appear showing that the selection has changed, along with a
link to reset the option to its original state. Clicking 'Reset' should
make the label and the link disappear.

Signed-off-by: Claire Gravely <claire.gravely@bsz-bw.de>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 19602: Add usage statistics link to administration sidebar menu
Owen Leonard [Thu, 9 Nov 2017 16:47:42 +0000 (16:47 +0000)]
Bug 19602: Add usage statistics link to administration sidebar menu

This patch adds a link to the new usage statistics page in the
administration sidebar menu.

To test, apply the patch and view an administration page which includes
the admin sidebar. Confirm that the link to usage statistics is there.

Visit the usage statistics page and confirm that the usage statistics
link in the sidebar is display in bold.

Signed-off-by: Simon Pouchol <simon.pouchol@biblibre.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 19595: Clicking plugin link does not fill item's date acquired field
Owen Leonard [Fri, 10 Nov 2017 12:59:58 +0000 (12:59 +0000)]
Bug 19595: Clicking plugin link does not fill item's date acquired field

This patch updates the dateaccessioned plugin for the item edit form to
return functionality which was removed in a previous patch.

To test, apply the patch and open an item for editing. Clicking the
"..." link next to the "Date acquired" field should insert the current
date, overwriting the existing date.

Open a blank item add form. Putting the cursor in the "Date acquired"
field should automatically insert the current date.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Added a comment line in set_to_today.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 19551: Fix wrong order of operations in cash register report
Nick Clemens [Tue, 31 Oct 2017 13:17:26 +0000 (13:17 +0000)]
Bug 19551: Fix wrong order of operations in cash register report

To test:
1 - Find or create a fine for a patron
2 - Write it off
3 - Home -> Reports -> Cash register
4 - Fill in current date and transaction type 'Write off'
5 - Click Submit
-- see your write off
6 - Fill in previous dates and transaction type 'Write off'
7 - Click Submit
-- see your write off (bad)
8 - Apply patch
9 - Rerun steps 3-7
-- write only visible for current date.

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 18993: Allow Test::More version 1.302073
Mason James [Thu, 16 Nov 2017 07:45:03 +0000 (20:45 +1300)]
Bug 18993: Allow Test::More version 1.302073

Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 18993: Bump Test::More to 1.302075
Jonathan Druart [Tue, 3 Oct 2017 15:37:14 +0000 (12:37 -0300)]
Bug 18993: Bump Test::More to 1.302075

Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 18993: Bump libtest-simple-perl to 1.302075
Mirko Tietgen [Mon, 31 Jul 2017 09:05:00 +0000 (11:05 +0200)]
Bug 18993: Bump libtest-simple-perl to 1.302075

Signed-off-by: Mason James <mtj@kohaaloha.com>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 19724: Add timestamp to biblio_metadata and deletedbiblio_metadata
Julian Maurice [Fri, 1 Dec 2017 12:47:59 +0000 (12:47 +0000)]
Bug 19724: Add timestamp to biblio_metadata and deletedbiblio_metadata

Since bug 17196, biblioitems.timestamp is not always updated after a
change in the MARC record.
We need to know the last modification time of the MARC record for some
features (like OAI-PMH parameters 'from' and 'until' for instance)

This patch only adds the missing column in biblio_metadata and
deletedbiblio_metadata

Test plan:
1. Run updatedatabase.pl
2. Verify that both tables have the new column, its value should be the
   greatest timestamp value from the corresponding biblio and
   biblioitems table entries
   You can verify with the following SQL query:
     SELECT b.biblionumber, b.timestamp as biblio_ts,
     bi.timestamp as biblioitems_ts, m.timestamp as biblio_metadata_ts
     FROM biblio_metadata m
     LEFT JOIN biblioitems bi ON (bi.biblionumber = m.biblionumber)
     LEFT JOIN biblio b ON (b.biblionumber = m.biblionumber);

Signed-off-by: David Bourgault <david.bourgault@inlibro.com>
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 19638: Remove false positive obsolete reports (auth_header.marcxml)
Jonathan Druart [Mon, 4 Dec 2017 18:39:48 +0000 (15:39 -0300)]
Bug 19638: Remove false positive obsolete reports (auth_header.marcxml)

Bug 17898 tries to help users identify reports affected by the move of marcxml to the biblio_metadata table, however, the auth_header table still uses the column name 'marcxml' and so reports as needing updated though it doesn't.

C4::Reports::Guided::convert_sql only converts if the sql query contain biblioitems and marcxml.
We should use the same regexp in the controler script.

Test plan:
Use a sql report that use auth_header.marcxml (see https://wiki.koha-community.org/wiki/SQL_Reports_Library)
After the this the report should not be longer marked as obsolete on the report list view

Replicated bug with the following SQL:
select marcxml from auth_header;

Patch applied correctly and functioned as expected.

Signed-off-by: Dilan Johnpullé <dilan@calyx.net.au>
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 7143: Update about page for new dev - Simon Pouchol
Jonathan Druart [Thu, 7 Dec 2017 12:47:28 +0000 (09:47 -0300)]
Bug 7143: Update about page for new dev - Simon Pouchol

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 10222: Correct and expand to other languages
Mark Tompsett [Mon, 23 Oct 2017 14:00:53 +0000 (14:00 +0000)]
Bug 10222: Correct and expand to other languages

This added column names, and reformated to be a bit more readable.
This also adds this change to de-DE, es-ES, fr-CA, and nb-NO.
While there was printer_profiles for it-IT, the Italian file seems
to not use the same numbers, and does not visibly look like it needs
these changes.

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 10222: Error when saving Demco label templates
Chris Nighswonger [Thu, 16 Apr 2015 16:07:29 +0000 (12:07 -0400)]
Bug 10222: Error when saving Demco label templates

This patch fixes a bug whereby if you open either of the
Demco label templates (loaded by the sample data) and
click "save" without making any changes you will get an
error:

Can't bless non-reference value at C4/Creators/Profile.pm
line 92.

It also fixes another minor bug in the creator sample data.

To test:

1. Install all sample data in a clean database.
2. In the label tool, edit either of the Demco label templates.
3. Save the template and observe the error mentioned above.
4. Drop and recreate the database.
5. Apply the patch.
6. Repeate steps 1-3 and note the successful save.

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 18990: Overdue Notices are not sending through SMS correctly
Nick Clemens [Fri, 28 Jul 2017 11:58:46 +0000 (11:58 +0000)]
Bug 18990: Overdue Notices are not sending through SMS correctly

Bug 18478 fixed sms via email problems under the assumption that
to_address was either smsalertnumber or blank.

It seems overdues set the to_address to email. This patch changes the
code to enforce that an sms sent with emial driver will use the
smsalertnumebr and provider defined for the borrower, regardless of what
is set in the queue

To test:
 1 - Define a messaging prefs for a patron to recieve hold notices via
  SMS
 2 - Ensure you have defined an SMS message for an overdue letter
 3 - Set an SMS alert number for patron
 4 - Set the SMS::Send driver to 'Email'
 5 - Checkout an item as overdue to trigger notice above
 6 - Run overdue_notices.pl
 6 - Check the db and note the address is email
 7 - run process_message_queue.pl
 8 - Check db - address is email followed by service provider
 9 - Apply patch
 10 - repeat
 11 - Message to_address should be populated with smsalertnumber

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 19643: Pagination buttons on staged marc management are stacking instead of inline
Owen Leonard [Thu, 16 Nov 2017 19:19:33 +0000 (19:19 +0000)]
Bug 19643: Pagination buttons on staged marc management are stacking instead of inline

This patch modifies the template for staged MARC import management to
correct a problem with the style of pagination links.

To test you must have more than 25 staged imports. Go to Tools -> Staged
MARC management. The pagination links, both at the top and the bottom,
should look correct (use multi-page SQL report results for reference).

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 19681: Correct result count formatting
David Bourgault [Wed, 22 Nov 2017 18:58:21 +0000 (13:58 -0500)]
Bug 19681: Correct result count formatting

This simply passes the missing information to the template.

Test plan:
0) Apply patch
1) Go to Tools > Label creator > New > Label batch
2) Press 'Add items'
3) Do a search that will return few items
4) The result count will read "Results 1 through X of X"

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 19692: fix unclosed div in opac-shelves.tt
Simon Pouchol [Fri, 24 Nov 2017 15:53:49 +0000 (16:53 +0100)]
Bug 19692: fix unclosed div in opac-shelves.tt

Test plan:
1. set syspref OpacKohaUrl to "Show"
2. Log into the OPAC
3. /cgi-bin/koha/opac-shelves.pl
4. Notice that "Powered by Koha" is not in the footer in this page.
  When on the other tabs it's in the footer (out of .main)
5. Apply this patch
6. Notice that "Powered by Koha" now in the footer in the "your lists" page

Signed-off-by: Dominic Pichette <dominic@inlibro.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 19533: Hold pulldown for itemtype is empty if hold placement needs override
Kyle M Hall [Thu, 26 Oct 2017 11:35:53 +0000 (07:35 -0400)]
Bug 19533: Hold pulldown for itemtype is empty if hold placement needs override

Test Plan:
1) Enable AllowHoldPolicyOverride
2) Enable AllowHoldItemTypeSelection
3) Create a situation where adding a hold for a patron would trigger a tooManyReserves
   warning.
4) Note the itemtype pulldown is empty
5) Apply this patch
6) Reload the page
7) Itemtype pulldown should have values

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 18833: Plugin unimarc_field_210c pagination error
Fridolin Somers [Wed, 21 Jun 2017 11:05:40 +0000 (13:05 +0200)]
Bug 18833: Plugin unimarc_field_210c pagination error

In plugin unimarc_field_210c, the editors search results have pagination.
First page works but not other pages.

The main problem whas mainly because $startfrom var was missused. It is defined in C4::Output::pagination_bar as page number.
This patch corrects by using a $offset var.
Also removes dead code, obsoleted by using C4::Output::pagination_bar.
Also changes hardcoded results per page from 19 to 20.

Test plan :
- Use UNIMARC catalogue
- Define in framework value builder unimarc_field_210c on 210$c
- Create autority type EDITORS with heading 200$b
- Create 22 authorities of that type
- Index those new authorities
- Create a new biblio record
- Click on 210$c plugin
- Click on "Search"
- You see 20 results
- Click on page 2
=> Without patch you get empty table
=> With patch you get 2 results
- Check that you see "Results 21 to 22 of 22"
- Delete 2 autorities and retest

Works as intended.

Signed-off-by: Simon Pouchol <simon.pouchol@biblibre.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 19456: Make patron-title ability to be generated with or without html tags
Josef Moravec [Fri, 13 Oct 2017 06:44:55 +0000 (06:44 +0000)]
Bug 19456: Make patron-title ability to be generated with or without html tags

Modified pages:
circ/circulation.pl
circ/circulation_batch_checkouts.pl
members/boraccount.pl
members/files.pl
members/holdshistory.pl
members/housebound.pl
members/moremember.pl
members/notices.pl
members/purchase-suggestions.pl
members/readingrec.pl
members/routing-lists.pl
members/statistics.pl

Test plan:
0) Do not apply the patch
1) Have a patron with title/salution filled in
2) Confirm bug, go for example to circ/circulation page and see there is
html in <title> tag (you can see it in your browser page/window title)
3) Apply the patch
4) Go through circulation/patron pages (see modified page above) and
confirm there is no html in <title> tag, but on the page itself the
salutation should be in <span class="patron-title">

Signed-off-by: David Bourgalt <david.bourgault@inlibro.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 19640: fix OPAC IdRef webservice display
Fridolin Somers [Thu, 16 Nov 2017 14:22:48 +0000 (15:22 +0100)]
Bug 19640: fix OPAC IdRef webservice display

The OPAC webservice IdRef display was broken.
The call returns results but citations where empty.
Maybe the webservice has changed.

This patch corrects the fetch of datas in result.
Also fixes a small HTML missing tag tr.
Also adds a comment with link to official doc :
http://documentation.abes.fr/aideidrefdeveloppeur/index.html#MicroWebBiblio

Test plan :
1) Enable system preference IdRef
2) Choose an existing PPN like 032581270
3) Look result on : https://www.idref.fr/services/biblio/032581270.json
4) Call in OPAC website : /cgi-bin/koha/opac-idref.pl?unimarc3=032581270
5) Without patch you see only one role containing empty rows
6) With patch you see all roles with correct rows

Signed-off-by: Simon Pouchol <simon.pouchol@biblibre.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Amended: removed unused @unimarc3 (not to be confused with $unimarc3).

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 19646: (QA follow-up) Fix tab character
Marcel de Rooy [Fri, 24 Nov 2017 08:27:14 +0000 (09:27 +0100)]
Bug 19646: (QA follow-up) Fix tab character

Resolve qa tools warning:
 FAIL   koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/marc21_linking_section.tt
   FAIL   forbidden patterns
                forbidden pattern: tab char (line 172)

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 19646: fix value_builder marc21_linking_section template
Fridolin Somers [Fri, 17 Nov 2017 12:38:06 +0000 (13:38 +0100)]
Bug 19646: fix value_builder marc21_linking_section template

When using marc21_linking_section cataloging plugin, you get the error :
Template process failed: undef error - The method selected is not
covered by tests! at /home/koha/src/C4/Templates.pm line 122.

It commes from [% IF ( itypeloo.selected ) %], selected is not defined
in itypeloo.

This patch removes this condition because all item types are fetched
from database, there is not one selected. It sets "All item types" as
selected. Also correctes two errors in HTML : ending form and div,
"<a_class=" instead of "<a class="

Test plan :
1) Use a MARC21 database
2) Define marc21_linking_section cataloging plugin in framework, on
   773$t for example
3) Create a new biblio record
4) Click on icon in 773$t
5) Check plugin works fine

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 19683: Fix authority types in tools/export template
David Bourgault [Wed, 22 Nov 2017 19:35:27 +0000 (14:35 -0500)]
Bug 19683: Fix authority types in tools/export template

Fixes the bug by correcting the variable names in the template.

To test:
1) Tools > Export > Export authority records
2) Authority Types dropdown is not empty

Signed-off-by: Claire Gravely <claire.gravely@bsz-bw.de>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Amended: Changing the export script and unblessing is not needed.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 19766: (bug 19058 follow-up) Fix Preview routing slip
Jonathan Druart [Wed, 6 Dec 2017 19:33:56 +0000 (16:33 -0300)]
Bug 19766: (bug 19058 follow-up) Fix Preview routing slip

This patch fixes the following errors:
The method reserve_id is not covered by tests at /home/vagrant/kohaclone/C4/Reserves.pm line 859.
The method set is not covered by tests at /home/vagrant/kohaclone/C4/Reserves.pm line 871.
Can't call method "store" on an undefined value at /home/vagrant/kohaclone/C4/Reserves.pm line 871.

This is caused by
  commit ba1f2f93ef58c8dd935add3e215facdd4a589d12
    Bug 19058: Move C4::Reserves::GetReserveId to the Koha namespace

We are calling ->reserve_id on a Koha::Holds set.

Test plan:
- Serials -> Find subscription -> "Edit routing list" in the sidebar
- Add 1+ recipients
- Save -> "Save and preview routing slip"

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoKoha 17.12 - Panuku (start of a new dev cycle)
Jonathan Druart [Wed, 29 Nov 2017 16:50:45 +0000 (13:50 -0300)]
Koha 17.12 - Panuku (start of a new dev cycle)

Panaku is a Māori word and have the meaning of "movement".
It can be used to talk about the unstable/development version of Koha.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoDBRev 17.11.00.000 v17.11.00
Jonathan Druart [Mon, 27 Nov 2017 15:28:18 +0000 (12:28 -0300)]
DBRev 17.11.00.000

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoAdd release notes for Koha 17.11
Jonathan Druart [Mon, 27 Nov 2017 15:27:39 +0000 (12:27 -0300)]
Add release notes for Koha 17.11

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoTranslation updates for Koha 17.11.00
Bernardo Gonzalez Kriegel [Mon, 27 Nov 2017 12:31:19 +0000 (09:31 -0300)]
Translation updates for Koha 17.11.00

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 19695: Fix another instance of ->find in list context (uncertainprice.pl)
Stefan Berndtsson [Mon, 27 Nov 2017 11:33:21 +0000 (12:33 +0100)]
Bug 19695: Fix another instance of ->find in list context (uncertainprice.pl)

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 7143: Update timeline (2 new devs)
Jonathan Druart [Sun, 26 Nov 2017 19:37:35 +0000 (16:37 -0300)]
Bug 7143: Update timeline (2 new devs)

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 19675: Fix update notice templates when they are translatable
Andreas Jonsson [Sun, 26 Nov 2017 17:10:38 +0000 (14:10 -0300)]
Bug 19675: Fix update notice templates when they are translatable

Avoid the following error:
DBD::mysql::db do failed: Duplicate entry
'acquisition-xxx--email-default' for key 'PRIMARY' [for Statement "

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 19536: Odd number of elements in anonymous hash in svc/bib
Marcel de Rooy [Fri, 27 Oct 2017 09:38:31 +0000 (11:38 +0200)]
Bug 19536: Odd number of elements in anonymous hash in svc/bib

Resolve:
Odd number of elements in anonymous hash at svc/bib line 69.
Odd number of elements in anonymous hash at svc/bib line 118.

You can see such warnings when testing the Rancor editor.

Replacing url_param by param in fetch_bib since it is a GET call.
Not sure about doing the same in update_bib since that is a POST.
The scalar context will resolve the odd number warns.

Adding a scalar in svc/new_bib too.

Test plan:
Try URL /cgi-bin/koha/svc/bib/[number] with and without the patch.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 18357: Handle unlimited on-site checkouts
Jonathan Druart [Thu, 2 Nov 2017 16:22:31 +0000 (13:22 -0300)]
Bug 18357: Handle unlimited on-site checkouts

If on-site checkouts are set to unlimited (i.e. NULL/undef), they are
currently blocked.

Test plan:
1/ Set All/All rule with Unlimited/unlimited for normal/onsite checkouts
2/ Will be able to perform onsite checkout
3/ Edit rule to be 15/Unlimited normal/onsite
4/ Will be able to perform onsite checkout
=> Without this patch it was blocked
5/ Set rule to 15/15
6/ Onsite checkouts work again

Signed-off-by: David Bourgault <david.bourgault@inlibro.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 18712: (QA follow-up) Add count of tests
Nick Clemens [Mon, 13 Nov 2017 13:43:05 +0000 (13:43 +0000)]
Bug 18712: (QA follow-up) Add count of tests

Before patches we did 47 tests or none, we should plan the same number
of tests now

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 18712: Remove unecessary fixtures
Jonathan Druart [Thu, 2 Nov 2017 13:26:08 +0000 (10:26 -0300)]
Bug 18712: Remove unecessary fixtures

2 fixtures are in a subroutine that is never called, it can be removed

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 18712: Fix t/Matcher.t if DB is empty
Jonathan Druart [Thu, 2 Nov 2017 13:13:46 +0000 (10:13 -0300)]
Bug 18712: Fix t/Matcher.t if DB is empty

t/Matcher.t is failing with an empty DB, the data are not mocked
correctly

Test plan:
drop your DB and recreate it without any data and prove t/Matcher.t

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 19626: (QA follow-up) Small optimization
Marcel de Rooy [Fri, 17 Nov 2017 08:23:40 +0000 (09:23 +0100)]
Bug 19626: (QA follow-up) Small optimization

We are only using $calendar when the pref is set.
Date calculation can be moved in if-else structure.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 19626: Calculate expiration date for existing holds based on waitingdate
Nick Clemens [Wed, 15 Nov 2017 13:03:57 +0000 (13:03 +0000)]
Bug 19626: Calculate expiration date for existing holds based on waitingdate

To test:
1 - Have/create a 16.11 instance with some waiting holds
2 - Those holds should not have an expirationdate
3 - Make sure some of the holds are waiting longer than
ReservesMaxPickupDelay
BACKUP THE DB
4 - Upgrade to 17.05 (or later)
5 - Check the expirationdate for the holds
6 - The date wil be in the future (curdate + delay)
7 - Restore DB
8 - Apply patch
9 - Run the upgrade again
10 - expirationdate should now be based on waitingdate

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 19596: Don't try to get hold or items count for non-existent biblios
Nick Clemens [Wed, 8 Nov 2017 17:55:00 +0000 (17:55 +0000)]
Bug 19596: Don't try to get hold or items count for non-existent biblios

Patch applies and works as expected.

Signed-off-by: Dilan Johnpullé <dilan@calyx.net.au>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 19481: Set default sort options as sortable in ES default mappings
Nick Clemens [Wed, 18 Oct 2017 10:29:24 +0000 (10:29 +0000)]
Bug 19481: Set default sort options as sortable in ES default mappings

To test:
1 - Setup Koha with ES
2 - perform a search
3 - try sorting by pubdate, acqdate, popularity, or title
4 - Search fails!
5 - Apply patch
6 - visit:
/cgi-bin/koha/admin/searchengine/elasticsearch/mappings.pl?op=reset&i_know_what_i_am_doing=1
7 - Re-index ES
8 - Perform search
9 - All sorting options should work

Signed-off-by: David Bourgault <david.bourgault@inlibro.com>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 18131: Followup - Use data if biblionumber_tag < 10
Nick Clemens [Wed, 1 Nov 2017 16:13:23 +0000 (16:13 +0000)]
Bug 18131: Followup - Use data if biblionumber_tag < 10

Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 18131: ES - Fix matching staged records - Authority
Jonathan Druart [Thu, 23 Mar 2017 17:44:54 +0000 (14:44 -0300)]
Bug 18131: ES - Fix matching staged records - Authority

Occurrences of C4::AuthoritiesMarc::SearchAuthorities must be replaced
by search_auth_compat.

You need to define the search index of matching rule with one of the
values defined in %koha_to_index_name (from
Koha::SearchEngine::Elasticsearch::QueryBuilder::build_authorities_query_compat)

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 18131: ES - Fix matching staged records
Jonathan Druart [Mon, 27 Feb 2017 13:20:48 +0000 (14:20 +0100)]
Bug 18131: ES - Fix matching staged records

The code in C4::Matches::get_matches is terrible and a bug has been introduced
by bug 12478 because of its way to handle uniqueness.

If search engine is elastic, simple_search_compat returns array ref of MARC::Record,
used as a string for the key of the matches hashref we get things like
"MARC::Record=HASH(0x8f76ab0)".
Yes, terrible...

The file is never staged and we get an internal server error:
    stage-marc-import.pl: Can't locate object method "fields" via package "MARC::Record=HASH(0x8f76ab0)" (perhaps you forgot to load "MARC::Record=HASH(0x8f76ab0)"?) at /home/vagrant/kohaclone/C4/Biblio.pm line 2691

To recreate the issue:
- Set SearchEngine == Elastic
- Create a matching rule on 999$c (you need to edit the existing one and specify
'Local-number' as search index, not 'local-number')
- Import a file with bibliographic records and use the matching rule you defined.

Test plan:
Import authority and bibliographic records with Zebra and Elastic using a matching rule.
Everything should work correctly.

Note: I found a bug when importing authorities using Elastic, see bug 17255 comment 38.

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 19559: Add '-' to list of characters we don't split search terms on
Nick Clemens [Wed, 1 Nov 2017 15:47:39 +0000 (15:47 +0000)]
Bug 19559: Add '-' to list of characters we don't split search terms on

Test plan assumes
QueryAutoTruncate = automatically
SearchEngine = Elasticsearch

To test:
0 - Apply Unit test patch only
1 - prove t/db_dependent/Koha_SearchEngine_Elasticsearch_Search.t
2 - Should fail
3 - Apply this patch
4 - prove t/db_dependent/Koha_SearchEngine_Elasticsearch_Search.t
5 - should pass
6 - search for 'Local-number:"4"' (or a vlid biblionumber)
7 - should get expected result

Signed-off-by: David Bourgault <david.bourgault@inlibro.com>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 19559: Add tests
Nick Clemens [Wed, 1 Nov 2017 15:46:59 +0000 (15:46 +0000)]
Bug 19559: Add tests

Signed-off-by: David Bourgault <david.bourgault@inlibro.com>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 19651: SIP/ILS/Item misses title and author
Stefan Berndtsson [Thu, 23 Nov 2017 13:43:18 +0000 (14:43 +0100)]
Bug 19651: SIP/ILS/Item misses title and author

Signed-off-by: Benjamin Rokseth <bensinober@gmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Amended $item->biblio by $biblio.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 19655: Add tests
Jonathan Druart [Sun, 26 Nov 2017 15:55:27 +0000 (12:55 -0300)]
Bug 19655: Add tests

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 19655: Make To.json escape doesn't escape newlines to create valid JSON
Kyle M Hall [Mon, 20 Nov 2017 16:05:35 +0000 (11:05 -0500)]
Bug 19655: Make To.json escape doesn't escape newlines  to create valid JSON

JSON does not allow real line-breaks. If a field contains them and they are not escaped, a JSON parser will be unable to convert the stringified JSON back into an object.

This is clearly exemplified by the guarantor search, where a multi-line note on the guarantor's record will break the ability to select that guarantor.

Test Plan:
1) Create Patron A with a "Circulation note" that has multiple lines in it
2) Create Patron B
3) Attempt to set Patron A to be the guarantor for Patron B
4) Note selecting the patron does nothing
5) Apply this patch
6) Repeat step 3
7) Selecting the guarantor now works!

Signed-off-by: Simon Pouchol <simon.pouchol@biblibre.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 18547: (QA follow-up) Add comments to make tests clearer
Nick Clemens [Mon, 13 Nov 2017 15:34:53 +0000 (15:34 +0000)]
Bug 18547: (QA follow-up) Add comments to make tests clearer

Tests had some confusion with names and results, though they do seem to
cover the changes here.

I believe the tests highlight that ReserveControlBranch has no effect,
and possibly it should? Beyond the scope here but left those tests
for future work to be done

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 18547: On shelf holds allowed > "If all unavailable" ignores default hold policy
Mirko Tietgen [Wed, 3 May 2017 19:13:49 +0000 (21:13 +0200)]
Bug 18547: On shelf holds allowed > "If all unavailable" ignores default hold policy

If in the circ rules matrix you set "On shelf holds allowed" to "If all unavailable",
default hold policy "From home library" is ignored.

Test plan:

- Have a test user from one branch (eg Centerville)

- Set "On shelf holds allowed" to "If all unavailable" for your patron and item
  category (or everyone and everything)
- For "Default checkout, hold and return policy", set hold policy to "From home library"
  -> make sure there is no "Default holds policy by item type" to override the setting

- Have two items for a record.
  1. An item with home branch same as test user (eg Centerville)
  -> check this item out to somebody else
  2. an item with a different home branch (eg Fairfield)
  -> available, not checked out
- Try to place a hold for your test user. Does not work.

- Apply the patch
- Try to place a hold. Should work now.

Followed test plan, worked as intended
Signed-off-by: Alex Buckley <alexbuckley@catalyst.net.nz>
Followed test plan in the intranet and OPAC, worked as intended.
With few assumptions made:
- when the hold works, should be on the item 1 (Centerville)
  item 2 is only there to trigger the bug
- the circ rules were identically setup on each branch and in "Standard rules for all libraries"
Signed-off-by: Victor Grousset <victor.grousset@biblibre.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 18547: Add tests
Jonathan Druart [Thu, 31 Aug 2017 18:34:20 +0000 (15:34 -0300)]
Bug 18547: Add tests

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 7317: Fix translatable-templates.t failure
Jonathan Druart [Thu, 9 Nov 2017 17:22:54 +0000 (14:22 -0300)]
Bug 7317: Fix translatable-templates.t failure

Failed with
 /tmp/Lqv0BH2xC9:7979:13: invalid multibyte sequence
 msgmerge: found 1 fatal error

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 7317: DBRev 17.06.000.028
Jonathan Druart [Thu, 9 Nov 2017 15:21:11 +0000 (12:21 -0300)]
Bug 7317: DBRev 17.06.000.028

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 7317: DBIC Schema changes
Jonathan Druart [Thu, 9 Nov 2017 15:16:59 +0000 (12:16 -0300)]
Bug 7317: DBIC Schema changes

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 7317: Display all the libraries, not only one
Jonathan Druart [Thu, 9 Nov 2017 16:25:13 +0000 (13:25 -0300)]
Bug 7317: Display all the libraries, not only one

Before this patch only the first library defined in the system where
displayed.
TODO: Make sure we want to display all the libraries and not a
"filtered" list
see `git grep PROCESS options_for_libraries libraries|grep unfiltered`

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 7317: Make fields mandatory when sending emails
Jonathan Druart [Thu, 9 Nov 2017 16:24:43 +0000 (13:24 -0300)]
Bug 7317: Make fields mandatory when sending emails

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 7317: Do not use GET for deletion requests
Jonathan Druart [Thu, 9 Nov 2017 15:50:00 +0000 (12:50 -0300)]
Bug 7317: Do not use GET for deletion requests

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 7317: Simplify column headers
Jonathan Druart [Thu, 9 Nov 2017 15:04:29 +0000 (12:04 -0300)]
Bug 7317: Simplify column headers

It will help translators (remove TT tags from po files) and simplify the
code. We do not need this translate_column that is used only once.
It also removes sorting option on the last column (actions)

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 7317: (QA followup) Make query parameters consistent with other endpoints
Tomas Cohen Arazi [Thu, 9 Nov 2017 14:02:46 +0000 (11:02 -0300)]
Bug 7317: (QA followup) Make query parameters consistent with other endpoints

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 7317: Remove traces of UnmediatedILL
Tomas Cohen Arazi [Wed, 8 Nov 2017 19:37:52 +0000 (16:37 -0300)]
Bug 7317: Remove traces of UnmediatedILL

This patch removes references to UnmediatedILL. This feature is introduced on
a separate bug.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 7317: (followup) Remove extra columns from backends on the main list
Tomas Cohen Arazi [Wed, 8 Nov 2017 19:12:35 +0000 (16:12 -0300)]
Bug 7317: (followup) Remove extra columns from backends on the main list

This patch removes the extra columns functionality, simplifying the code.
It removes redundant code (in both Perl and JS), unused vars.

It removes the use of here_link and hardcodes the script path on the template.

It also adjusts the AJAX call so it uses the 'library' param instead of 'branch'.

The library column now displays the library name instead of the ID.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 7317: (QA followup) Rename 'branch' for 'library'
Tomas Cohen Arazi [Wed, 8 Nov 2017 19:08:01 +0000 (16:08 -0300)]
Bug 7317: (QA followup) Rename 'branch' for 'library'

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 7317: Fix more translation issues
Jonathan Druart [Tue, 7 Nov 2017 20:26:13 +0000 (17:26 -0300)]
Bug 7317: Fix more translation issues

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 7317: use preventDefault to prevent the scrollbar to move to the top
Jonathan Druart [Tue, 7 Nov 2017 19:07:31 +0000 (16:07 -0300)]
Bug 7317: use preventDefault to prevent the scrollbar to move to the top

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 7317: Add missing 'use Encode' statement
Jonathan Druart [Tue, 7 Nov 2017 19:52:09 +0000 (16:52 -0300)]
Bug 7317: Add missing 'use Encode' statement

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 7317: (QA followup) Fix capitalization and terminology issues
Tomas Cohen Arazi [Mon, 6 Nov 2017 19:15:32 +0000 (16:15 -0300)]
Bug 7317: (QA followup) Fix capitalization and terminology issues

This patch fixed terminology issues on the UI, and removes CSS-based
case forcing for column names.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 7317: Handle missing email addresses gracefuly
Tomas Cohen Arazi [Tue, 7 Nov 2017 15:05:04 +0000 (12:05 -0300)]
Bug 7317: Handle missing email addresses gracefuly

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 7317: (QA followup) ILL sysprefs belong to circulation section
Tomas Cohen Arazi [Tue, 7 Nov 2017 15:04:21 +0000 (12:04 -0300)]
Bug 7317: (QA followup) ILL sysprefs belong to circulation section

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 7317: (followup) Make tests independent of data on the DB
Tomas Cohen Arazi [Mon, 6 Nov 2017 16:51:43 +0000 (13:51 -0300)]
Bug 7317: (followup) Make tests independent of data on the DB

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 7317: Add partner_code checks to abot page
Tomas Cohen Arazi [Mon, 6 Nov 2017 15:45:24 +0000 (12:45 -0300)]
Bug 7317: Add partner_code checks to abot page

This patch adds checks to the configured (or fallback) partner_code.
It produces two different warnings:

- Configured partner_code doesn't match an existing patron category
code.
- partner_code is not defined, a fallback to ILLLIBS is done

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 7317: opac.css update
Tomas Cohen Arazi [Fri, 3 Nov 2017 18:28:56 +0000 (15:28 -0300)]
Bug 7317: opac.css update

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 7317: (QA followup) Get rid of warnings from the tests
Tomas Cohen Arazi [Wed, 1 Nov 2017 19:29:54 +0000 (16:29 -0300)]
Bug 7317: (QA followup) Get rid of warnings from the tests

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 7317: Handle backend absense more gracefuly
Tomas Cohen Arazi [Tue, 31 Oct 2017 19:28:53 +0000 (16:28 -0300)]
Bug 7317: Handle backend absense more gracefuly

5/ This patch makes Koha::Illrequest->load_backend raise an exception
if the passed backend is invalid. This way we will catch more errors introduced.

The patch also disables the 'New Ill request' when no backends are available. Gets
rid of a related warnings.

Both OPAC and Intranet now display a warning message when no backends
are available.

Tests are added for the load_backend changes.

4/ This patch fixes the path for the checkboxes jquery plugin, and removes the include
for tablesorter, as this implementation uses Datatables. This is obviously code for older
Koha, ported to master.

TODO: There's something wrong on the styling. My idea is to get rid
of the custom column visualization tool, and have it display as regular
DataTables. We can then introduce the use of colvis on a separate bug
report.

Note: POD coverage for the exceptions file is wrongly tested. It is a false positive.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 7317: QA followup
Magnus Enger [Tue, 31 Oct 2017 12:07:00 +0000 (12:07 +0000)]
Bug 7317: QA followup

This fixes some of the issues reported by the QA script, but not all.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 7317: Rewrite atomicupdate file
Tomas Cohen Arazi [Wed, 25 Oct 2017 18:34:34 +0000 (15:34 -0300)]
Bug 7317: Rewrite atomicupdate file

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 7317: (followup) Fix id and class on body tag
Magnus Enger [Wed, 25 Oct 2017 09:52:26 +0000 (11:52 +0200)]
Bug 7317: (followup) Fix id and class on body tag

The HTML body tag looked like this:
<body id="acq_suggestion" class="acq">
Probably an overlooked copypasta. This patch changes it to:
<body id="illrequests" class="ill">
This should not have any visual side effects.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 7317: Adjust packages koha-conf.xml
Tomas Cohen Arazi [Tue, 24 Oct 2017 17:16:02 +0000 (14:16 -0300)]
Bug 7317: Adjust packages koha-conf.xml

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Magnus Enger <magnus@libriotech.no>
Original sign off message:
It's impossible to give a test plan for this...
I have implemented a "plugin" for Norwegian ILL (based on NCIP):
https://github.com/Libriotech/koha-illbackend-nncipp
Several issues have been discovered while writing the plugin, and
Alex has fixed them along the way. Currently I do not know about
any funcional issues, and I am happy to sign off.

Update:
I have applied the new patchset and done some exploratory testing,
using the Dummy backend. Everything seems to be fine after the
patches were re-arranged and with the followups from Tomas.
All tests pass.
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 7317: (followup) Migrate endpoint to OpenAPI
Tomas Cohen Arazi [Mon, 23 Oct 2017 18:34:01 +0000 (15:34 -0300)]
Bug 7317: (followup) Migrate endpoint to OpenAPI

This patch moves the current endpoint implementation from Swagger2 to
the OpenAPI plugin.

It also takes advantage of the overloaded Koha::Illrequest::TO_JSON method
which has now the option to embed what's needed for the REST api.

The path spec is adjusted to fit OpenAPI, and some minor fixes are
applied:
- Missing 'metadata' query param
- 'ill' permissions should be required instead of 'borrowers'
- Full test coverage

To test:
- Apply  this patch
- Run:
  $ kshell
 k$ prove t/db_dependent/api/v1/illrequests.t
=> SUCCESS: Tests pass!
- Sign off :-D

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Magnus Enger <magnus@libriotech.no>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 7317: Overload Koha::Illrequest::TO_JSON
Tomas Cohen Arazi [Tue, 24 Oct 2017 16:43:51 +0000 (13:43 -0300)]
Bug 7317: Overload Koha::Illrequest::TO_JSON

This patch implements an overloaded TO_JSON method, that introduces
the option to (selectively) embed information required on the REST
api.

Tests are included for the new method.

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

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Magnus Enger <magnus@libriotech.no>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 7317: (QA folowup) 404 if module is disabled (intranet)
Tomas Cohen Arazi [Mon, 23 Oct 2017 18:33:17 +0000 (15:33 -0300)]
Bug 7317: (QA folowup) 404 if module is disabled (intranet)

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Magnus Enger <magnus@libriotech.no>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 7317: Interlibrary loans framework for Koha.
Alex Sassmannshausen [Fri, 3 Feb 2017 15:58:35 +0000 (16:58 +0100)]
Bug 7317: Interlibrary loans framework for Koha.

This Commit is at the heart of adding an interlibrary loans framework
for Koha.  The framework does not prescribe a particular workflow.
Instead it provides a general framework that can be extended &
implemented by individual backends whose responsibility it is to
implement a specific workflow.

The module is largely self-sufficient: it adds new tables to the Koha
database and touches only a few files in the Koha source tree.

Primarily, we add our files to the Makefile and the koha-conf.xml,
define ill paths for the REST API, and introduce links from the main
intranet, opac pages & user permissions.

Outside of this we simply add new files & functionality.

Signed-off-by: Magnus Enger <magnus@libriotech.no>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 7317: Add SQL templates & sysprefs.
Alex Sassmannshausen [Thu, 22 Sep 2016 14:20:14 +0000 (16:20 +0200)]
Bug 7317: Add SQL templates & sysprefs.

* installer/data/mysql/atomicupdate/ill_tables.sql: New file.
* installer/data/mysql/kohastructure.sql: Add tables.
* installer/data/mysql/sysprefs.sql: Add sysprefs.
* installer/data/mysql/userflags.sql: Add userflags.
* koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/admin.pref:
  Add sysprefs to UI.

Signed-off-by: Magnus Enger <magnus@libriotech.no>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 18882: (follow-up) DBRev 17.06.000.027
Jonathan Druart [Wed, 8 Nov 2017 17:34:13 +0000 (14:34 -0300)]
Bug 18882: (follow-up) DBRev 17.06.000.027

No idea how I did that...

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 18894: (QA follow-up) POD changes
Marcel de Rooy [Fri, 3 Nov 2017 07:50:08 +0000 (08:50 +0100)]
Bug 18894: (QA follow-up) POD changes

Add limit parameter to POD section.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 18894: Add ability to limit the number of messages sent by process_message_queue...
Kyle M Hall [Wed, 5 Jul 2017 14:33:16 +0000 (10:33 -0400)]
Bug 18894: Add ability to limit the number of messages sent by process_message_queue.pl at a time

Having the ability to limit the number of messages sent by process_message_queue.pl on a single run would be very useful for controlling home many messages are sent at a given time. This can help prevent too many messages being sent out at once and getting flagged as a spammer.

Test Plan:
1) Apply this patch
2) Generate some number of messages in the message queue
3) Run process_message_queue.pl with the new --limit option,
   set limit to a number smaller than the number of pending messages
4) After the script has run, check the database and note that only
   a number of pending messages were sent, and that the remaining amount
   of pending messages is the original amount less the number specified
   as the limit

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 19537: (QA follow-up) Consistent structures
Marcel de Rooy [Fri, 3 Nov 2017 07:24:15 +0000 (08:24 +0100)]
Bug 19537: (QA follow-up) Consistent structures

The subfield_loop structure should contain things like:
$VAR1 = {
          'marc_subfield' => 'v',
          'marc_values' => [
                             'form'
                           ]
        };

This patches replaces the list by an array ref to restore consistency,
although Template Toolkit does not really care. Both work.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
6 years agoBug 19537: Correct addition of source subfield from authorities
Nick Clemens [Fri, 27 Oct 2017 10:43:03 +0000 (10:43 +0000)]
Bug 19537: Correct addition of source subfield from authorities

To test:
1 - Find or create a subject authority
2 - Define 008/11 as 's' or 'r'
3 - Add 2nd indicator '7' to main heading
4 - Open or create a bibliographic record
5 - Link to the authority created above
6 - Subfield $2 is not set
7 - Apply patch
8 - Repeat linking, subfield $2 should be set

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>