7 years agoBug 10861: Add a check on cardnumber length
Jonathan Druart [Fri, 19 Apr 2013 07:58:02 +0000 (09:58 +0200)]
Bug 10861: Add a check on cardnumber length

Some libraries would like to add a check on the cardnumber length.
This patch adds the ability to restrict the cardnumber to a specific
length (strictly equal to XX, or length > XX or min < length < max).
This restriction is checked on inserting/updating a patron or on importing

This patch adds:
- 1 new syspref CardnumberLength. 2 formats: a number or a range

- 1 new unit test file t/Members/checkcardnumber.t for the
C4::Members::checkcardnumber routine.

Test plan:
1/ Fill the pref CardnumberLength with '5,8'
2/ Create a new patron with an invalid cardnumber (123456789)
3/ Check that you cannot save
4/ With Firebug, replace the pattern attribute value (for the cardnumber
input) with ".{5,10}"
5/ You are allowed to save but an error occurred.
6/ Try the same steps for update.
7/ Go to the import borrowers tool.
8/ Play with the import borrowers tool. We must test add/update patrons
and the "record matching" field (cardnumber or a uniq patron attribute)

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Tested adding, updating; importing and ran unit test.
Preliminary QA comments on Bugzilla

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11705 - change versioning of build-git-snapshot
Robin Sheat [Thu, 6 Feb 2014 23:59:10 +0000 (12:59 +1300)]
Bug 11705 - change versioning of build-git-snapshot

This change makes the package versions conform to Debian requirements
for native packages.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11675: check allocated total correctly when editing a fund that has a parent...
Jonathan Druart [Tue, 4 Feb 2014 11:15:42 +0000 (12:15 +0100)]
Bug 11675: check allocated total correctly when editing a fund that has a parent fund

The sth was created before the query.
The query was modified after the sth creation and an error was raised.

Test plan:
0/ Don't apply the patch
1/ Create a budget A (amount=1000)
2/ Create a fund A1 (amount=1000)
3/ Create a child fund A11 (amount=1000)
4/ Edit A11 and change the amount to 2000
You are able to do it, an error appears in the Koha log:
  "check_parent_total.pl: DBD::mysql::st execute failed: called with 2 bind
  variables when 1 are needed"
5/ Apply the patch, edit A11 and save. You get an error
6/ Edit A11 and change the amount to <=1000
7/ Verify that there is no regression on adding/removing/editing budgets
and funds.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes all tests and QA script.
Works as described, no regressions found.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 10837: make it possible to export serial claims as CSV even when no notice defined
Jonathan Druart [Mon, 23 Dec 2013 08:58:30 +0000 (09:58 +0100)]
Bug 10837: make it possible to export serial claims as CSV even when no notice defined

On the serial claims page, it is possible to export (using a CSV
profile) or claim 1+ serials.
The checkboxes are not shown if the claiming notice is not defined.
So it is not possible to export claims.

Test plan:
- delete your notice "claimissues"
- go on the serial claims page
- verify that you are able to export them as CSV

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
This works as described and enables use of the export
funtionality even if you are not using the email notifications.
Exporting the serials will also set the claim date.
Passes QA script and tests.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11755: ensure that SearchOrders returns booksellerid
Jonathan Druart [Wed, 5 Mar 2014 11:06:47 +0000 (12:06 +0100)]
Bug 11755: ensure that SearchOrders returns booksellerid

The SearchOrders routine should return the booksellerid and this
patch adds it.

This fixes several problems:

[1] The link to the vendor on the order receive page breadcrumbs
    was broken.
[2] The tax calculation in finishreceive.pl didn't run.
[3] The item booksellerid field never got updated during

Booksellerid was returned before bug 10723.

Quick test plan:
Go on orderreceive.pl and verify that the vendor link is correct.

Followed test plan. Vendor link is now correct.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11170: (follow-up) improve a bit of unnecessarily convoluted logic
Jonathan Druart [Tue, 11 Mar 2014 08:54:55 +0000 (09:54 +0100)]
Bug 11170: (follow-up) improve a bit of unnecessarily convoluted logic

This patch also adds POD and UT for the change in SearchOrders()

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11170: (follow-up) fix typo 'occured' in parcels.tt
Marcel de Rooy [Mon, 16 Dec 2013 10:58:32 +0000 (11:58 +0100)]
Bug 11170: (follow-up) fix typo 'occured' in parcels.tt

Found this typo while testing bug 11170.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11170: make the pending order list only display orders to receive
Jonathan Druart [Wed, 30 Oct 2013 14:34:15 +0000 (15:34 +0100)]
Bug 11170: make the pending order list only display orders to receive

The order status ordered is set when the basket is closed.
The parcel page should only display status "ordered" and "partial".

Test plan:
- create a basket.
- create an order.
- verify the order is not listed on the parcel page (i.e. you cannot
  receive it).
- close the basket.
- verify the order is listed on the parcel page.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11751: DBrev
Galen Charlton [Tue, 11 Mar 2014 15:06:04 +0000 (15:06 +0000)]
Bug 11751: DBrev

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11751: remove dead code related to handling members of institution patrons
Jonathan Druart [Wed, 12 Feb 2014 15:34:01 +0000 (16:34 +0100)]
Bug 11751: remove dead code related to handling members of institution patrons

This patch removes some dead code concerning the handling of patrons
that are members of other, institutional patrons.  This code did not
work; removing it clears the field if somebody wants to do a better
implementation of such relationships between patrons.

This patch:

[1] Removes the memberofinstitution system preference.
[2] Removes the following routines:

    C4::Members::add_member_orgs() (and removing this routine
    removes a reference to a borrowers_to_borrowers table that
    does not exist).

There should be no changes whatsoever to system functionality with this
patch (with the trivial exception of the absence of the
memberofinstitution system preference).

Test plan:

[1] Look at the code and use grep, git grep, etc. verify this patch
    does not remove something in use.
[2] Verify that there are no regressions upon adding or editing
    a patron record.
[3] Verify that the memberofinstitution system preference has been

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 10777: (follow-up) improve CSS3 for Zebra-striping report email output
Galen Charlton [Tue, 11 Mar 2014 14:57:26 +0000 (14:57 +0000)]
Bug 10777: (follow-up) improve CSS3 for Zebra-striping report email output

This patch improves the CSS used to attempt to Zebra-stripe the
output of emailed reports.  This will work with some email clients,
but other email clients (e.g., Gmail) don't handle style elements in the
body or head element.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 10777: email HTML reports with the proper Content-Type
Nicholas van Oudtshoorn [Thu, 22 Aug 2013 08:56:25 +0000 (16:56 +0800)]
Bug 10777: email HTML reports with the proper Content-Type

The misc/cronjobs/runreport.pl allows for sending html reports
via email. The problem is that the Content-Type isn't set to
text/html, which means that the generated html email isn't
displayed properly.

This patch set the Content-Type, and also adds a tiny bit of
CSS to potentially alternate row colours (just to make long
reports a bit easier on the eye!)

1. Run the script similar to this:
    ./misc/cronjobs/runreport.pl --format=html --to=YOUREMAIL --subject="Bad Formatting!" REPORTNUMBER
2. Look at the email - the html code should by visible and ugly.
3. apply the patch
4. Run the script again.
5. Look at the email - the data should look nicer now.

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11918 : Fix typo on authorized values page
Nicole C. Engard [Sun, 9 Mar 2014 11:10:29 +0000 (05:10 -0600)]
Bug 11918 : Fix typo on authorized values page

This is a small string patch. On Authorized values this patch fixes
the wording next to the library limit.

To test:

Visit Authorized Values
Click 'Add new' or 'Edit' next to a value
Make sure that the text next to the library filter is right

Signed-off-by: Aleisha <aleishaamohia@hotmail.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Text change, works as described.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11695 - Fixed typo in marc21_field_008.xml
Jesse Maseto [Mon, 10 Mar 2014 13:39:22 +0000 (09:39 -0400)]
Bug 11695 - Fixed typo in marc21_field_008.xml

"Tree-character alphabetic code", to "Three-character alphabetic code"

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Trees are nice, but Three is better here.
String change, works as described.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11731 - Fixed typo in message_transport_types.txt file.
Jesse Maseto [Mon, 10 Mar 2014 13:14:44 +0000 (09:14 -0400)]
Bug 11731 - Fixed typo in message_transport_types.txt file.

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
String change, all good.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 10611: (follow-up) cache DBMS driver code in context object
Galen Charlton [Mon, 10 Mar 2014 22:48:03 +0000 (22:48 +0000)]
Bug 10611: (follow-up) cache DBMS driver code in context object

Rather than use a package-level variable, use an object-level

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 10611: Use mysql_auto_reconnect instead of ping
Jonathan Druart [Tue, 16 Jul 2013 09:53:47 +0000 (11:53 +0200)]
Bug 10611: Use mysql_auto_reconnect instead of ping

DBD::Mysql provides a mysql_auto_reconnect flag. Using it avoids
the time required to do a $dbh->ping().


use Modern::Perl;
use C4::Context;
for ( 1 .. 1000 ) {
    $dbh = C4::Context->dbh;

* without this patch on a local DB:
perl t.pl  0,49s user 0,02s system 98% cpu 0,525 total
* without this patch on a remote DB:
perl t.pl  0,52s user 0,05s system 1% cpu 37,358 total
* with this patch on a local DB:
perl t.pl  0,46s user 0,04s system 99% cpu 0,509 total
* with this patch on a remote DB:
perl t.pl  0,49s user 0,02s system 56% cpu 0,892 total

Testing the auto reconnect:
use Modern::Perl;
use C4::Context;
my $ping = $dbh->ping;
say $ping;
$ping = $dbh->ping;
say $ping;

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Comment: Real improvement. No koha-qa errors

prove t/db_dependent/Circulation_issuingrules.t produces no error
prove t/db_dependent/Context.t produces no error

1) dumped Koha DB, load it on a non-local server
2) run sample script whit and without patch, local and remote

use Modern::Perl;
use C4::Context;
for ( 1 .. 100000 ) {
    my $dbh = C4::Context->dbh;

Main difference I note is with remote server
a) without patch
real    0m16.357s
user    0m2.592s
sys     0m2.132s

b) with patch
real    0m0.259s
user    0m0.240s
sys     0m0.012s

I think this could be good for DBs placed on
remote servers

Bug 10611: add a "new" parameter to C4::Context->dbh

When dbh->disconnect is called and the mysql_auto_reconnect flag is set,
the dbh is not recreated: the old one is used.

Adding a new flag, we can now force the C4::Context->dbh method to
return a new dbh.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Bug 10611: Followup: remove useless calls to dbh->disconnect

These 3 calls to disconnect are done at the end of the script, they are

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11465: Show counts and amounts on OPAC 'your summary' tabs
David Cook [Thu, 2 Jan 2014 05:48:01 +0000 (16:48 +1100)]
Bug 11465: Show counts and amounts on OPAC 'your summary' tabs

This patch adds counts and amounts to the tabs in the 'your summary'
page of the OPAC patron account.


Before applying:
1) Choose a test patron
2) Place a few holds
3) Check in one of the holds so that it is waiting for the patron
4) Check out a few items
5) Check out another item that can generate fines (backdate it a few
6) Run fines.pl to generate fines (make sure your finesmode syspref
   is set to prod)
7) Check your OPAC patron account.
8) Note the tabs "Checked out, Fines, Holds, and Waiting"

Apply the patch
1) Switch your OPAC to the bootstrap theme
2) Refresh your browser for the OPAC patron account screen
3) Note that the applicable counts and amounts appear on the tabs


At the moment, I just have a Bootstrap patch. This is an easy patch
though, so I can duplicate to the other themes if necessary...

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

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
All tests and QA script pass.
"Waiting" doesn't appear to work for me with and without the patch.
"Checkouts", "Holds" and "Fines" work fine.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11516: make OPAC search term highlighting work in results browser
Fridolin SOMERS [Fri, 10 Jan 2014 10:42:06 +0000 (11:42 +0100)]
Bug 11516: make OPAC search term highlighting work in results browser

When OpacHighlightedWords syspref is on, the current search terms are
highlighted in results and detail pages.

This workes in detail page with the URL param 'query_desc'.

This parameter must be managed in results browser (appears when
OpacBrowseResults syspref is on) links.

This patch adds query_desc parameter in results list and changes next
nd previous links to be build into TT instead of perl to manage
query_desc parameter only into TT.

Test plan :
- Edit sysprefs :  OpacHighlightedWords on, OpacBrowseResults on.
- Perform a search with a term existing into title
=> You see the term highlighted in search results
- Go to detail of a result with highlight
=> You see the term highlighted
- Click on "Next"
=> you see query_desc in URL, and if search term is present it is
- Same for "Previous"
- Click on "Browse results"
- Click on a result
=> you see query_desc in URL, and if search term is present it is

Signed-off-by: Aurélie <aurelie.fichot@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 3445: DBRev.
Galen Charlton [Mon, 10 Mar 2014 21:11:40 +0000 (21:11 +0000)]
Bug 3445: DBRev.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 3445: add more indexes on the action_logs table
Fridolyn SOMERS [Tue, 19 Nov 2013 10:21:13 +0000 (11:21 +0100)]
Bug 3445: add more indexes on the action_logs table

This patch adds database indexes for action_logs table to speed up the
"log viewer" page.

Removes the existing index on timestamp+user to add an index on each
column since search colums are separately defined in log viewer form.

Test plan:
- Update database
- Play with log viewer : /cgi-bin/koha/tools/viewlog.pl
- Perform searches with only one filter defined
- Also check you see indexes with SQL query :
    SHOW CREATE TABLE action_logs

Signed-off-by: Mathieu Saby <mathieu.saby@univ-rennes2.fr>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Rephrased the updatedatabase message a bit:
Add indexes to action_logs table
Passes all tests and QA script.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11359: Add the borrower's cardnumber and phonenumber to the branch overdues report
Frédérick [Mon, 9 Dec 2013 18:45:52 +0000 (13:45 -0500)]
Bug 11359: Add the borrower's cardnumber and phonenumber to the branch overdues report

The report also known as "Overdues with fines"

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
All tests pass, this adds data to the Patron column on the
overdues with fines report to show the patron's cardnumber
and phone number.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
This works as described and passes all tests and QA script.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11343: tweak wording of the syspref editor for MaxItemsForBatch
Galen Charlton [Mon, 10 Mar 2014 19:17:49 +0000 (19:17 +0000)]
Bug 11343: tweak wording of the syspref editor for MaxItemsForBatch

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11343: DBRev
Galen Charlton [Mon, 10 Mar 2014 19:12:19 +0000 (19:12 +0000)]
Bug 11343: DBRev

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11343: The max number of items to process in a batch is hardcoded
Jonathan Druart [Thu, 5 Dec 2013 14:30:42 +0000 (15:30 +0100)]
Bug 11343: The max number of items to process in a batch is hardcoded

Until now, the maximum number of item records to process in a batch was
hardcoded to 1000.
This patch adds a syspref MaxItemsForBatch in order to allow to adapt
this value.

Test plan:
- set the pref to 2
- try to delete a batch of 3 items: they are not displayed
- try to modify a batch of 3 items: you are not allowed to do that
- set the pref to 1000 and try again. Now items are displayed and you
  are allow to modify them.

Signed-off-by: Christopher Brannon <cbrannon@cdalibrary.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 11605: (follow-up) use DT defaults for the new Ajax staged batch page
Galen Charlton [Mon, 10 Mar 2014 19:05:12 +0000 (19:05 +0000)]
Bug 11605: (follow-up) use DT defaults for the new Ajax staged batch page

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11605: (follow-up) fix regression
Jonathan Druart [Mon, 3 Feb 2014 08:40:28 +0000 (09:40 +0100)]
Bug 11605: (follow-up) fix regression

Bug 11314 overrides the iDisplayLength and aLengthMenu values and should
be kept.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11605: fallback to default DataTables settings where possible
Jonathan Druart [Fri, 24 Jan 2014 11:15:55 +0000 (12:15 +0100)]
Bug 11605: fallback to default DataTables settings where possible

The default entry is 20 and can be apply to all tables.

Bug 11555 apply the menu entries to all tables, redefining it is
uesless and can be removed.

Test plan:
Test pages impacted by this patch and verify there is no regression on
the tables.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11555: (follow-up) use 20 rather 25 for one of the default DT row counts
Jonathan Druart [Fri, 24 Jan 2014 11:05:57 +0000 (12:05 +0100)]
Bug 11555: (follow-up) use 20 rather 25 for one of the default DT row counts

If you have a look at git grep aLengthMenu, you will see we choose 20
instead of 25.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11555: Make "All" one of the default options for datatables
Kyle M Hall [Tue, 14 Jan 2014 15:37:09 +0000 (10:37 -0500)]
Bug 11555: Make "All" one of the default options for datatables

There are many instances where librarians would like to have the ability
to see all the rows in a datatable at one. It seems prudent to make this
a default option for datatables, rather than change it on a case by case

Test Plan:
1) View the circulation history for a patron
2) Note you can select to view 10, 25, 50, or 100 entries
3) Apply this patch
4) Reload the circulation history page for a patron
5) Note the new "All" option
6) Verify the "All" option shows all the rows at once

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
I tested the translation for "All"

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 10955: (follow-up) improve usage information
Galen Charlton [Mon, 10 Mar 2014 18:42:25 +0000 (18:42 +0000)]
Bug 10955: (follow-up) improve usage information

This patch improves rebuild_zebra.pl's usage help
by explaining when --skip-deletes should be considered
and noting that it should be used in conjunction with
a cronjob to process deletions after hours.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 10955 - Add ability to skip deletions in zebraqueue
Kyle M Hall [Thu, 26 Sep 2013 16:47:13 +0000 (12:47 -0400)]
Bug 10955 - Add ability to skip deletions in zebraqueue

It seems that record deletions can cause extreme slowdowns for Koha
installations with extremely large numbers of records. It would be
helpful to be able to skip record deletions when processing the
zebraqueue with rebuild_zebra.pl so the deletions can be processed with
a lower frequency.

Test Plan:
1) Disable any zebra indexing cronjobs you may have
2) Delete a record
3) Note the operation recordDelete in the zebraqueue table having done = 0
4) Run misc/migration_tools/rebuild_zebra.pl -b -z --skip-deletes
5) Note the delete still has done = 0
6) Run misc/migration_tools/rebuild_zebra.pl -b -z
7) Note the delete now has done = 1

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes all tests and QA script.
Also tested for authorities, no problems found.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
RM note: this is at best a work-around, and I will emphasize that
--skip-deletes should be used only when absolutely necessary.

I hope that --skip-deletes can go away at some point soon, but
that may depend on changes to Zebra.

7 years agoBug 10452: (follow-up) remove duplicate check of damaged status
Galen Charlton [Mon, 10 Mar 2014 18:13:16 +0000 (18:13 +0000)]
Bug 10452: (follow-up) remove duplicate check of damaged status

While reviewing the main patch for this bug to verify that the
holds queue routines and C4::Reserves had the same conception of
when a damaged item could fill a hold request, I noticed that
GetItemsAvailableToFillHoldRequestsForBib() duplicated the code
for adding an SQL clause to filter out damaged items.  This patch
removes the duplication and improves the POD for that routine.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 10452: [QA Followup] - Unit tests
Kyle M Hall [Fri, 17 Jan 2014 14:05:40 +0000 (09:05 -0500)]
Bug 10452: [QA Followup] - Unit tests

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes all tests and QA script. Also checked

Tested holds triggering with different settings of
AllowHoldsOnDamagedItems. Works as described.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 10452: make AllowHoldsOnDamagedItems control using damaged items to fulfill holds
Kyle M Hall [Wed, 12 Jun 2013 14:09:25 +0000 (10:09 -0400)]
Bug 10452: make AllowHoldsOnDamagedItems control using damaged items to fulfill holds

AllowHoldsOnDamagedItems will stop item-specific holds from being placed
on damaged items, but does not stop Koha from using damaged items to
fill holds. This seems like incorrect behavior.

Test Plan:
1) Set 'AllowHoldsOnDamagedItems' to "Don't Allow"
2) Pick an item, set it to damaged
3) Place a bib-level hold on this item's record
4) Scan the item though the returns system
5) Koha will ask to use this item to fill the hold, click "ignore"
6) Apply this patch
7) Repeat step 4
8) Koha will not ask to use this item to fill the hold

Signed-off-by: Srdjan <srdjan@catalyst.net.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11713 - Use new DataTables include in course reserves templates
Owen Leonard [Fri, 7 Feb 2014 17:09:08 +0000 (12:09 -0500)]
Bug 11713 - Use new DataTables include in course reserves templates

This patch modifies two course reserves templates to use the new
DataTables include. This simplifies the inclusion of assets and updates
to the latest DataTables version. Also included:

- Adds a sorting filter on the course reserves detail table to excluding
  articles from sorting.
- Corrects the styling of toolbar buttons (buttons should have btn and
  btn-small classes).

To test you must have UseCourseReserves enabled and have multiple
existing courses, at least one of which should have items on reserve.

1. View the list of courses. Table sorting should work correctly. The
   "new course" button should look consistent with other staff client
   toolbar buttons.

2. View the list of reserves on a course.
   - Toolbar buttons should look consistent with other staff client
     toolbar buttons.
   - Sorting should work correctly, excluding sorting on the Edit,
     Remove, and "Other course reserves" columns.
   - Titles on reserve which begin with an article should be sorted
     correctly with article excluded
   - Test sorting with item-level_itypes on and off.
   - Test sorting using a patron whose permissions include various
     combinations of add_reserves and delete_reserves

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 8918: (follow-up) tidy code and description of CalculatePriority()
Galen Charlton [Mon, 10 Mar 2014 17:48:54 +0000 (17:48 +0000)]
Bug 8918: (follow-up) tidy code and description of CalculatePriority()

This patch improves the formatting and the description of the new
CalculatePriority() routine.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 8918: (follow-up) support creating brief UNIAMRC bibs in Reserves.t
Marcel de Rooy [Fri, 7 Feb 2014 11:05:24 +0000 (12:05 +0100)]
Bug 8918: (follow-up) support creating brief UNIAMRC bibs in Reserves.t

Changed title and author field for UNIMARC.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Tested for MARC21, NORMARC and UNIMARC by adding temporary set_preference..

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 8918: (follow-up) allow t/db_dependent/Reserves.t to pass if marcflavour is UNIMARC
Julian Maurice [Thu, 6 Feb 2014 14:42:08 +0000 (15:42 +0100)]
Bug 8918: (follow-up) allow t/db_dependent/Reserves.t to pass if marcflavour is UNIMARC

Set marcflavour to MARC21 to make tests pass.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Works for MARC21. But I would prefer a better fix for UNIMARC.
Will send a follow-up for that.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 8918: (follow-up) more unit tests for CalculatePriority
Marcel de Rooy [Thu, 30 Jan 2014 13:16:03 +0000 (14:16 +0100)]
Bug 8918: (follow-up)  more unit tests for CalculatePriority

Adding a few unit tests, including the following situations:
Placing a hold when there is a wait.
Placing a hold when there is a future hold.
Calculating priority with future date.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 8918: Add a unit test for CalculatePriority
Julian Maurice [Tue, 5 Nov 2013 15:25:56 +0000 (16:25 +0100)]
Bug 8918: Add a unit test for CalculatePriority

Rebased on January 29, 2014 (marcelr)
Added text on the two 'is'-statements.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 8918: (follow-up) improve descriptions of two related sysprefs
Marcel de Rooy [Fri, 12 Apr 2013 09:27:42 +0000 (11:27 +0200)]
Bug 8918: (follow-up) improve descriptions of two related sysprefs

Updating pref descriptions for ReservesNeedReturns and ILS-DI:AuthorizedIPs.
Just sideway related to this report, but not important enough to separate.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 8918: Fix reserve priority in ILS-DI
Julian Maurice [Mon, 15 Oct 2012 12:06:04 +0000 (14:06 +0200)]
Bug 8918: Fix reserve priority in ILS-DI

The priority of new hold requests was not calculated when using ILS-DI.

A new routine is added, C4::Reserves::CalculatePriority(), to calculate
the priority prior to placing a request.

A separate bug report, 11640, covers the changes in reserves to
use this new routine more generally.

This patch does therefore only affect ILS-DI.

Note: ILS-DI already allows you to generate multiple holds on a biblio or
item for the same patron. This patch does not change that behavior.

Test plan:
[1] Place multiple holds using ILS-DI HoldTitle service:
    Check the priority.
[2] Do the same using HoldItem service:
    Check the priority again.
[3] Use a biblio with multiple items. Place item level holds on both.
    Check in one of these items in another branch. Confirm transfer.
    Check in the other item in the original branch. Confirm hold.
    Now you have a waiting and a transit hold.
    Test HoldTitle and HoldItem service again a few times.
[4] Enable AllowHoldDateInFuture and add a future hold.
    Now test HoldTitle and HoldItem again and check if these holds are
    inserted before the future hold (lower priority).

January 29, 2014: Rebased this patch and amended it to make a distinction
between fixing the ILS-DI bug and using the new routine.
Updated commit message and test plan (marcelr).

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11224: (follow-up) clean up unit test for bug 10723
Galen Charlton [Mon, 10 Mar 2014 16:44:00 +0000 (16:44 +0000)]
Bug 11224: (follow-up) clean up unit test for bug 10723

This patch removes the remainder of the old unit test
for bug 10723 and updates the label of the new test that
now checks that SearchOrders({ pending => 1}) omits received

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11224: (follow-up) apply tidying
Galen Charlton [Mon, 10 Mar 2014 16:24:14 +0000 (16:24 +0000)]
Bug 11224: (follow-up) apply tidying

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11224: (follow-up) incorporate test for bug 11777
Galen Charlton [Mon, 10 Mar 2014 16:17:51 +0000 (16:17 +0000)]
Bug 11224: (follow-up) incorporate test for bug 11777

This patch adds authorisedby to the list of expected fields
returned by SearchOrders().

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11224 : Add UT to routines of C4::Acquisition returning order(s)
Mathieu Saby [Sat, 9 Nov 2013 13:28:07 +0000 (14:28 +0100)]
Bug 11224 : Add UT to routines of C4::Acquisition returning order(s)

C4::Acquisition need more UT, and more robust ones.  This patch
adds some.

This patch adds UT to
- GetOrder
- GetOrders
- GetCancelledOrders
- GetLateOrders

It refactors UT for SearchOrders

New UT use 2 new routines, used for check the list of fields returned
by a routine:
These 2 routines could later be used by other UT

_check_fields_of_order has its own UT (tests n°14,15,16).

to test :
prove -v t/db_dependent/Acquisition.t

Signed-off-by: Liz Rea <liz@catalyst.net.nz>
Unit tests pass, passes koha-qa.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Passes koha-qa and t

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11587: get rid of warnings generated by IsSuperLibrarian with anonymous sessions
Mark Tompsett [Tue, 21 Jan 2014 05:41:00 +0000 (00:41 -0500)]
Bug 11587: get rid of warnings generated by IsSuperLibrarian with anonymous sessions

This corrects line 1250 of C4/Context.pm to be:
    return ($userenv->{flags}//0) % 2;
And thus avoids an uninitialized value used in the modulus.

1) Apply the first patch (to update t/Context.t)
2) prove -v t/Context.t
-- This should fail tests 7 and 8
3) Apply this patch (to fix C4/Context.pm)
4) prove -v t/Context.t
-- All tests should succeed

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11587 - Add UT for IsSuperLibrarian if flags == 0
Jonathan Druart [Fri, 24 Jan 2014 12:00:37 +0000 (13:00 +0100)]
Bug 11587 - Add UT for IsSuperLibrarian if flags == 0

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11587 - IsSuperLibrarian generates warnings (UT)
Mark Tompsett [Tue, 21 Jan 2014 05:34:43 +0000 (00:34 -0500)]
Bug 11587 - IsSuperLibrarian generates warnings (UT)

Simply viewing OPAC detail triggers a modulus warning entry.
This first patch adds two test cases to t/Context.t to test for
this situation.

1) Apply this patch (to upgrade t/Context.t)
2) prove -v t/Context.t
-- Tests 7 and 8 will fail
3) Apply main patch (to amend C4/Context.pm)
4) prove -v t/Context.t
-- All tests will succeed

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 10558: (follow-up) choose label for matching records correctly
Galen Charlton [Mon, 10 Mar 2014 15:42:24 +0000 (15:42 +0000)]
Bug 10558: (follow-up) choose label for matching records correctly

This patch ensures that the record type of the import batch (i.e.,
biblio or authority) is consulted in order to choose the "Matches
biblio" or "Matches authority" labels.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 10558 [QA Follow-up]
Kyle M Hall [Tue, 16 Jul 2013 12:32:55 +0000 (08:32 -0400)]
Bug 10558 [QA Follow-up]

This patch addresses a number of issues with the main patch:

- regression on bug 2060 (i.e., displaying authority import batches
- regression on bug 10170 (translation of import record states)A
- use of datatables.inc
- lack of clarity as to the licensing of tools/batch_records_ajax.pl
- insufficent sanitizing of input used to generate an SQL statement

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 10558: (follow-up) styling improvements
Owen Leonard [Wed, 10 Jul 2013 16:29:23 +0000 (12:29 -0400)]
Bug 10558: (follow-up) styling improvements

This patch makes improvements to the default DataTables CSS and corrects
a couple of errors in the original patch. CSS for the "full numbers"
type pagination, used by this and the quotes editor, has been cleaned up
and made more visually consistent with the brief pagination style.

Also changed:

- removed some hard-coded paths containing "http://staff.kohadev..."
- Added a column header to the column showing record match details. This
  provides both information and a clearer target for clicking to resort
- Expanding the default table pager controls for this page and the
  quotes editor (for consistency)
- Correction to quotes.css to fix pager display problem on wide screens

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 10558 - Convert records table in manage-marc-import.pl to Ajax DataTable
Kyle M Hall [Tue, 9 Jul 2013 16:30:58 +0000 (12:30 -0400)]
Bug 10558 - Convert records table in manage-marc-import.pl to Ajax DataTable

Some libraries would like to sort by columns for the records of an
import batch. This seems like a good use of Ajax DataTables.

Test plan:
1) Apply this patch
2) Import a record batch into Koha
   a) Use some form of matching
   b) Have some records that will match and some that won't
   c) Have at least 30 records so you can test the pager
3) Verify the new table is functionally equivalent to the old static one

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Tests fine and looks good with the exception of the corrections I put in
a follow-up.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11794 - restore functioning of opacSerialDefaultTab
Owen Leonard [Thu, 20 Feb 2014 16:38:53 +0000 (11:38 -0500)]
Bug 11794 - restore functioning of opacSerialDefaultTab

The opacSerialDefaultTab system preference should control whether to
show the holdings or subscriptions tab by default on the detail page for
a serial. This behavior was broken when we last updated jQueryUI because
of a change in the jQueryUI active tab class name.

This patch corrects the class on the detail page and removes the old
class from the authorities detail page (where it was unnecessary

To test, view a serial record in the OPAC under various settings of the
opacSerialDefaultTab preference. The default tab should correctly follow
the preference.

Test in prog and Bootstrap themes.

Edit: Rebased on current master. Note that the change to
opac-auth-detail.tt is because the page never has more than one tab,
hence doesn't need the "active" designation.

Signed-off-by: Jesse Maseto <jesse@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Tested in prog and bootstrap.
All tests and QA script pass.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11860: (follow-up) standardize spelling of "call number"
Galen Charlton [Mon, 10 Mar 2014 15:24:43 +0000 (15:24 +0000)]
Bug 11860: (follow-up) standardize spelling of "call number"

It is "call number", not "callnumber".

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11860: Display subscription callnumber in OPAC detail page
Julian Maurice [Fri, 20 Dec 2013 10:55:24 +0000 (11:55 +0100)]
Bug 11860: Display subscription callnumber in OPAC detail page

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
7 years agoBug 11328 - Show local cover images in staff client search results
Owen Leonard [Thu, 20 Feb 2014 20:18:46 +0000 (15:18 -0500)]
Bug 11328 - Show local cover images in staff client search results

Local cover images do not appear in staff client search results. This
patch adds them.

To test, enable the LocalCoverImages system preference and add at least
one cover image to a title. Perform a search which will return results
that include your title. Confirm that the local cover image is

Search results should also display correctly with and without
AmazonCoverImages enabled as well as with LocalCoverImages disabled.

Signed-off-by: wajasu <matted-34813@mypacks.net>
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11802 - corrects for the patron purchase suggestions page
Owen Leonard [Thu, 20 Feb 2014 15:19:42 +0000 (10:19 -0500)]
Bug 11802 - corrects for the patron purchase suggestions page

This patch corrects some errors with the staff client's patron purchase
suggestions page (members/purchase-suggestions.pl).

To test, apply the patch and make sure the patronimages system
preference is enabled.

- View the purchase suggestions page for a patron whose record has a
  patron image attached. The image should appear in the left-hand

- View the page for a patron who has submitted no purchase suggestions.
  The message should be styled correctly.

- The toolbar on the page should look correct and work correctly.

Signed-off-by: Jesse Maseto <jesse@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11866: (follow-up) repair security issue introduced by main patch
Galen Charlton [Mon, 10 Mar 2014 14:57:17 +0000 (14:57 +0000)]
Bug 11866: (follow-up) repair security issue introduced by main patch

The main patch allows /any/ user with an account on the Koha system
to view the staff-side course-reserves home page -- including ordinary
patrons.  This patch repairs the oversight.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11866: (follow-up) ensure that empty toolbar is not displayed
Jonathan Druart [Mon, 10 Mar 2014 13:55:46 +0000 (14:55 +0100)]
Bug 11866: (follow-up) ensure that empty toolbar is not displayed

If a user does not have course_reserve permission, a an empty toolbar is

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11866: do not require special permissions to view course reserves in staff interface
Kyle M Hall [Thu, 27 Feb 2014 13:55:22 +0000 (08:55 -0500)]
Bug 11866: do not require special permissions to view course reserves in staff interface

A librarian with no course reserves permissions cannot view course
reserves from the staff intranet, yet can from the OPAC. This doesn't
make much sense. Librarians should not require any course reserves
permissions to view courses and reserves from the staff intranet.

Test Plan:
1) Log into staff intranet as a librarian with no course reserves
2) Note you cannot view course reserves
3) Apply this patch
4) Note you can now view course reserves
5) Verify you cannot modify courses or course reserves

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Bug 11866 [Follow-up] Staff side course reserves too restrictive

This follow-up patch adds a check for the "UseCourseReserves" system
preference to the display of the Course reserves menu item in the

To test, view the "More" menu with the "UseCourseReserves" system
preference on and off. The menu item should appear and disappear

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 7234: koha-common Debian package now includes koha-sites.conf
Tomas Cohen Arazi [Thu, 27 Feb 2014 15:40:57 +0000 (12:40 -0300)]
Bug 7234: koha-common Debian package now includes koha-sites.conf

This patch adds a sample koha-sites.conf file, which will be
included by the koha-common package in /etc/koha (where it belongs).

It is fixed to include the current defaults (DOM indexing for both
biblios and authorities, disabled use of memcached, and good defaults
for a normal setup if enabled).

All options are commented for ease of use by average users.

To test
- verify that the defaults are sane (let me know if it needs to be
- build the package and verify that the file gets installed.

Sponsored-by: Universidad Nacional de Cordoba
Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Robin Sheat <robin@catalyst.net.nz>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11078: (follow-up) tidy code
Galen Charlton [Fri, 28 Feb 2014 22:11:17 +0000 (22:11 +0000)]
Bug 11078: (follow-up) tidy code

- fix a couple typos in comments
- make replace a "$i" with a more descriptive variable name
- style some of the new code

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11078: QA Follow-up for missing file permissions on lockfile
Marcel de Rooy [Wed, 19 Feb 2014 12:58:00 +0000 (13:58 +0100)]
Bug 11078: QA Follow-up for missing file permissions on lockfile

The original patch creates a lockfile in the ZEBRA_LOCKDIR.
It can fall back to /var/lock or even /tmp.
If the create fails, it dies. This can be considered as very

This followup adjusts the fallback location in /var/lock or /tmp
slightly.  It appends the database name to the folder in order to
prevent interfering between multiple Koha instances. Creation of the
lockfile has been moved to a subroutine extending directory and file
creation testing.

In the very unlikely case that we cannot create the lockfile (after
three separate tries), this follow-up allows you to continue instead
of die.  This is just as we did before we had file locking here. Every
time skipping a reindex could cause more harm than continuing and
having the race condition once in a while.

Test plan:
Test adding and removing lockdir from your koha-conf.xml. Check fallback.
Note that fallback in /var/lock or /tmp must contain database name.
Remove the lockdir config line and remove permissions from fallback. In
this case the reindex should continue but with a warning.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Tested with daemon and one-off invocation simultaneously.
Tested new wait parameter.
Tried all variations of lock directory (changing permissions etc.)

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11078: Add locking to rebuild_zebra
Doug Kingston [Wed, 19 Feb 2014 06:56:58 +0000 (22:56 -0800)]
Bug 11078: Add locking to rebuild_zebra

This patch adds locking to rebuild_zebra.pl to ensure that simultaneous
changes are prevented (as one is likely to overwrite the other).
Incremental updates in daemon mode will skipped if the lock is busy
and they will be picked up on the next pass.  Non-daemon mode
invocations will also exit immediately if they cannot get the lock
unless the new flag -wait-for-lock is specified, in which case they
will wait until the get the lock and then proceed.

Supporting changes made to Makefile.PL and templates for the new
locking directory (paralleling the other zebra lock directories).
We stash the zebra_lockdir in koha-conf.xml so rebuild_zebra.pl
can find it.

To address earlier QA concerns we:
1. added code to check if flock is available and ignore locking if
it's missing (from M. de Rooy)

2. changed default for adhoc invocations to abort if they cannot
obtain the lock.  Added option -wait-for-lock if the user prefers
to wait until the lock is free, and then continue processing.

3. added missing entry to t/db_dependent/zebra_config.pl

4. added a fallback locking directory of /tmp

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Doug merged the original patch with the QA changes.
Just for the record, noting here that the original patch was tested
extensively too by Martin Renvoize.
I have added a followup for some exceptional cases.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11096: support the retrieval of large MARCXML records
Tomas Cohen Arazi [Mon, 21 Oct 2013 23:17:57 +0000 (16:17 -0700)]
Bug 11096: support the retrieval of large MARCXML records

This patch makes Koha <-> Zebra use MARCXML for the serialization when
using DOM, and USMARC for GRS-1.

* The following functions are modified to set the Zebra record syntax
according to the current sysprefs and configuration:

- C4::Context->Zconn
- C4::Context-_new_Zconn

* A new function 'new_record_from_zebra' is introduced, which checks the
context we are in, and creates the MARC::Record object using the right

The following packages get touched to make use of the new function:
- C4::Search
- C4::AuthoritiesMarc

and the same happens to the UI scripts that make use of them (both in
the OPAC and STAFF interfaces).

* Calls to the unsafe ZOOM::Record->render()[1] method are removed.

Due to this last change the code for building facets was rewritten. And
for performance on the facets creation I pushed higher version
dependencies for MARC::File::XML and MARC::Record (we rely on

* Calls to MARC::Record->new_from_xml and MARC::Record->new_from_usmarc
are wrapped with eval for catching problems [2].

* As of bug 3087, UNIMARC uses the 'unimarc' record syntax. this case is
  correctly handled.
* As of bug 7818 misc/migration_tools/rebuild_zebra.pl behaves like:

- bib_index_mode (defaults to 'grs1' if not specified)
- auth_index_mode (defaults to 'dom')

here we do exactly the same.

To test:
 - prove t/db_dependent/Search.t should pass.
 - Searching should remain functional.
 - Indexing and searching for a big record should work (that's what the
   unit tests do).
 - Test an index scan search (on the staff interface):
    Search > More options > Check "Scan indexes".
 - Enable 'itemBarcodeFallbackSearch' and try to circulate any word, it
   shouldn't break.
 - Searching for a biblio in a new subscription shouldn't break.
 - Running bulkmarcimport.pl shouldn't break.
 - And so on... for the rest of the .pl files.

[1] http://search.cpan.org/~mirk/Net-Z3950-ZOOM/lib/ZOOM.pod#render()
[2] a record that cannot be parsed by MARC::Record is simply skipped (bug 10684)

Sponsored-by: Universidad Nacional de Cordoba
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11096: Wrap each test set configuration in Search.t into a subtest
Tomas Cohen Arazi [Wed, 8 Jan 2014 17:15:28 +0000 (14:15 -0300)]
Bug 11096: Wrap each test set configuration in Search.t into a subtest

This makes it easier to read. Also fixes the test count, and is rebased
against 11499 which is needed to correctly test the patches for this bug
(i.e. indexing mode needs to be correctly set in koha-conf.xml)

To test:

[1] Run prove -v t/db_dependent/Search.t

Sponsored-by: Universidad Nacional de Cordoba
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11096: add regression tests for indexing/retrieving large MARC records
Galen Charlton [Mon, 9 Dec 2013 23:39:07 +0000 (23:39 +0000)]
Bug 11096: add regression tests for indexing/retrieving large MARC records

This adds direct tests of indexing and retrieving
bib records that are larger than the ISO2709 limit
of 99,999 octets.

To test: verify that prove -v t/db_dependent/Search.t passes.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11798: fix problems with column sorting and row visibility in invoices table
Jacek Ablewicz [Thu, 20 Feb 2014 08:53:23 +0000 (09:53 +0100)]
Bug 11798: fix problems with column sorting and row visibility in invoices table

1) Sorting on "Billing date" (functionality introduced by bug 10794)
doesn't work properly any longer after bug 10401 was pushed (another
side-effect being that "Vendor" column is currently not sortable
at all).
2) Only "top ten" invoices are always displayed in the table, and it's
not possible to change that without missing top/bottom DataTables
pagination bars.

This patch fixes sorting for "Billing date" &  "Vendor" columns
in invoices table and restores the ability to see all table
rows/search results (not just "top ten").

Test plan (you'll need to have 11+ invoices with various billing
dates entered in the system):
1) apply patch,
2) view the Acquisitions invoices page (acqui/invoices.pl), do some
search (= as broad search as possible) and confirm that "Billing
date" and "Vendor" columns now do sort correctly,
3) in situations when there are more than 10 search results, they
should all be visible in the invoices table.

NOTE: Generating invoices is a painfully convoluted mess.
      All my "Billing date" entries were blank, so was not
      able to confirm Billing date issues. However, Vendor
      sorting issues, seeing more than 10, and in my bizarre
      initial case the non-visible checkboxes were all fixed.

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11829: fix JavaScript error on staff client biblio details pages if template...
Owen Leonard [Mon, 24 Feb 2014 15:21:20 +0000 (10:21 -0500)]
Bug 11829: fix JavaScript error on staff client biblio details pages if template variables are undefined

The JavaScript included in cat-toolbar.inc expects several variables to
be passed to the template for use in calculations. Several scripts
do not pass the required variables to the template, leading to a JS

This patch re-adds (See Bug 9823) hold count calculation to the required
scripts and copies the acquisitions-related count calculation from
detail.pl into related bibliographic detail scripts so that the
commonly-included cat-toolbar.inc can receive correct values.

To test, locate a bibliographic record which has no holds and is not
used in a current or deleted order, but which has a local cover image
attached. Check the following views to confirm there is no JavaScript

- Normal
- Labeled MARC
- Items
- Images (from the Images tab on the "Normal" detail page)

Next, locate a bibliographic record with no items attached which is used
in an Acquisitions order. On each of the pages listed above, choose
"Delete record" from the Edit menu. This should trigger a warning that
the record is used in an order. Cancel the deletion.

Finally, delete the order which references the bibliographic record. On
each of the pages listed above, choose "Delete record" again. This
should trigger a warning that the record is used in a deleted order.
Cancel the deletion.

I went through the test plan, everything works OK.
It resolves Bug 11831 as well.

Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
- Printing from MARC and ISBD view works again
- No more Javascript errors found
- Deleting a record with attached order gives the correct warning,
  both for ordered and cancelled.

Passes all tests and QA script.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11805 - Use validation plugin when creating new basket in Acquisitions
Owen Leonard [Thu, 20 Feb 2014 20:42:37 +0000 (15:42 -0500)]
Bug 11805 - Use validation plugin when creating new basket in Acquisitions

The page for adding a new basket in Acquisitions includes some custom
form validation JavaScript which can be removed in favor of HTML5
validation attributes and Koha's built-in validation plugin. This patch
does so.

To test, apply the patch and go to Acquisitions -> Choose a vendor ->
New basket. Try submitting the form without entering a basket name. This
should trigger a validation warning.

Submission of the form with valid data should work correctly. Editing an
existing basket should also work correctly.

Patch works as expected.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works as expected, passes all tests and QA script.
Tried adding a new basket with/without basket name and editing
an existing basket editing/emptying the basket name.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11736 - Use new DataTables include in Koha news templates
Owen Leonard [Mon, 10 Feb 2014 19:13:11 +0000 (14:13 -0500)]
Bug 11736 - Use new DataTables include in Koha news templates

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

To test you should have existing news items with varying creation and
expiration dates. Apply the patch and confirm that table sorting works
correctly for all settings of the dateformat system preference.

C4::NewsChannels.pm has been modified so that it now passes an
unformatted date to the template, where the KohaDates plugin is used to
apply the correct formatting. Sorting is based on the unformatted date.

Also corrected: Capitalization errors.

Signed-off-by: wajasu <matted-34813@mypacks.net>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works as described, no problems found.
Also passes tests and QA script.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11716 - Use new DataTables include in label manage template
Owen Leonard [Fri, 7 Feb 2014 19:54:27 +0000 (14:54 -0500)]
Bug 11716 - Use new DataTables include in label manage template

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

To test, view the following pages and confirm that table sorting is
working correctly:

Manage layouts (/cgi-bin/koha/labels/label-manage.pl?label_element=layout)
Manage templates (/cgi-bin/koha/labels/label-manage.pl?label_element=template)
Manage profiles (/cgi-bin/koha/labels/label-manage.pl?label_element=profile)
Manage batches (/cgi-bin/koha/labels/label-manage.pl?label_element=batch)

Signed-off-by: wajasu <matted-34813@mypacks.net>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11710 - Use new DataTables include in cataloging Z39.50 search template
Owen Leonard [Fri, 7 Feb 2014 16:35:17 +0000 (11:35 -0500)]
Bug 11710 - Use new DataTables include in cataloging Z39.50 search template

This patch modifies the template for the cataloging Z39.50 search
template to use the new DataTables include. This simplifies the
inclusion of assets and updates to the latest DataTables version.

To test, go to cataloging and choose "New from Z39.50." Perform a search
and confirm that table sorting still works correctly.

Signed-off-by: wajasu <matted-34813@mypacks.net>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11717 - Use new DataTables include in member templates
Owen Leonard [Fri, 7 Feb 2014 20:24:06 +0000 (15:24 -0500)]
Bug 11717 - Use new DataTables include in member templates

Bug 10649 introduced a new include file for adding DataTables-related
JavaScript assets. This patch adds use of this include file to all
member pages which use DataTables.

Apply the patch and test the following pages to confirm that table
sorting works correctly:

- Patron details (members/moremember.pl)
  - The checkouts, relatives' checkouts, and holds tables have been
    modified to exclude articles when sorting of titles.

- Notices (members/notices.pl)
- Circulation history (members/readingrec.pl)
- Statistics (members/statistics.pl)
- Update child to adult patron (members/update-child.pl) - This is the
  page which appears in a pop-up when you update a child patron to an
  adult (from the "More" menu in the toolbar when viewing patron

Signed-off-by: Aleisha <aleishaamohia@hotmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11809: don't display 'Clear date' on OPAC patron details form if date of birth...
Owen Leonard [Fri, 21 Feb 2014 15:35:40 +0000 (10:35 -0500)]
Bug 11809: don't display 'Clear date' on OPAC patron details form if date of birth is required

On the OPAC's patron details form, if the date of birth field is
required we shouldn't offer the user a "clear date." This patch removes
the "clear date" link if the field is required.

To test, configure the BorrowerMandatoryField system preference to
require dateofbirth. Enable the OPACPatronDetails system preference and
log in to the OPAC. View the "personal details" form and confirm that
there is no "clear date" link next to the required date of birth field.

Remove dateofbirth from the BorrowerMandatoryField system preference and
re-test. The "clear date" link should appear.

Test in both prog and Bootstrap themes.

I tested with prog and bootstrap themes, adding/removing field 'dateofbirth'
in sys pref PatronSelfRegistrationBorrowerMandatoryField.
Patch behaves as expected.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works as expected, passes all tests and QA script.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11819 - Don't show catalog edit menu if user has no edit permissions
Owen Leonard [Fri, 21 Feb 2014 19:52:22 +0000 (14:52 -0500)]
Bug 11819 - Don't show catalog edit menu if user has no edit permissions

Currently if the logged in user lacks any cataloging permissions the
bibliographic detail page (catalogue/detail.pl) still shows the Edit
button, but with an empty dropdown menu. This patch corrects the toolbar
include so that the button will not appear at all.

To test, view the biblio detail page as a user with various combinations
of the following permissions:

- edit_items
- edit_catalogue
- items_batchmod
- items_batchdel

The edit button should appear with the correct set of links when the
user has any combination of the above permissions. If user has none the
button should not appear.

Followed test plan, patch behaves as expected
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works as expected, passes all tests and QA script.
Template only change.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11768: Show patron cardnumber in OPAC personal details
Kyle M Hall [Fri, 14 Feb 2014 20:09:06 +0000 (15:09 -0500)]
Bug 11768: Show patron cardnumber in OPAC personal details

In previous versions of Koha, the patron cardnumber was displayed in the
personal details section of the OPAC for logged in users. A patron needs
to be able to access his or her cardnumber in some cases to access
online resources a library makes available that requires his or her
cardnumber. This is especially important for patron self registration
where a patron may not have a physical library card. This field should
be re-added to the patron personal details page.

Test Plan:
1) Apply this patch
2) Log into the OPAC
3) Browse to "your personal details"
4) Verify the patron cardnumber is visible

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Restores cardnumber on personal details tab in OPAC for
prog and bootstrap theme. Passes all tests and QA script.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11707: fix editing additional attributes for patron whose category code includes...
Fridolin Somers [Fri, 7 Feb 2014 09:13:39 +0000 (10:13 +0100)]
Bug 11707: fix editing additional attributes for patron whose category code includes a space

When editing additional attributes of a patron of a category with a
code with space (ie "CAT 3"), the Javascript is broken and Additional
attributes are not displayed.

This patch corrects by adding simple quotes around category code in JS

Test plan :
- Create an patron additional attribute
- Create a new patron category with a space in code. ie "CAT 3"
- Create a new patron of this category : /cgi-bin/koha/members/memberentry.pl?op=add&categorycode=CAT 3
=> Without patch the JS is broken (Syntax error, unrecognized expression:
   [data-category_code=CAT 3]) and additional attributes are not
=> With patch the JS is not broken and additional attributes are
   displayed and can be edited.

Signed-off-by: Marc Véron <veron@veron.ch>
In current Koha version it is not possible to create category codes
with blanks.

To test, I changed an existing category code directly in the database.
Then I followed the Test plan.
Without patch, attribute types were not displayed.
With patch, they were displayed as expected.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
I recommend not using codes with spaces and fix existing ones.
Koha doesn't allow you to add category codes with spaces, so the only way
to do it is via SQL.
This patch fixes a problem and passes all tests.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 10751: standardize validation of title in staff purchase suggestions form
Owen Leonard [Fri, 21 Feb 2014 14:22:50 +0000 (09:22 -0500)]
Bug 10751: standardize validation of title in staff purchase suggestions form

The form for adding a new purchase suggestion in the staff client
indicates that the title field is required but does nothing to enforce
this rule. This can be handled client-side with HTML5 validation
attributes and Koha's built-in validation plugin. This patch implements

To test, apply the patch and go to Acquisitions ->
Suggestions -> New purchase suggestion. Try submitting the form without
entering a title. Doing so should trigger a validation warning.

Submission of the form with valid data should work correctly. Editing an
existing suggestion should also work correctly.

The patch displays a message 'Required' near the title field.
After submitting a empty title it changes to 'This field is required'
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
The title field is required since commit
This one makes it more consistent with formatting. It makes sense.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11746 [QA Followup] display edit item link only if user has permission to edit...
Kyle M Hall [Thu, 13 Feb 2014 14:21:28 +0000 (09:21 -0500)]
Bug 11746 [QA Followup] display edit item link only if user has permission to edit items

Signed-off-by: Havilah Lyon <havilah@aflibrary.org>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11746 - Add edit item links to record details page
Kyle M Hall [Wed, 12 Feb 2014 12:47:46 +0000 (07:47 -0500)]
Bug 11746 - Add edit item links to record details page

In order to edit a specific item right now, one must select the edit
pulldown, then choose edit items, the click the edit link for the
particular item the librarian wishes to edit. It would be much more
convenient to have an edit link for each specific item in the items
table on the record details page.

Test Plan:
1) Apply this patch
2) View the record details for a record with items
3) Click the edit link for a particular item
4) Note that you are taken immediately to the item editor
   for this particular item

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Havilah Lyon <havilah@aflibrary.org>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11803: use $dbh consistently in _koha_modify_item
Marcel de Rooy [Thu, 20 Feb 2014 18:39:10 +0000 (19:39 +0100)]
Bug 11803: use $dbh consistently in _koha_modify_item

This is just some code cleanup, no behavior change expected.
Also replacing errstr with err in testing the results. (See DBI.)

Test plan:
Modify an item and save it.

Followed test plan. No problems found.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11789 - Use validation plugin when creating new list
Owen Leonard [Tue, 18 Feb 2014 20:37:31 +0000 (15:37 -0500)]
Bug 11789 - Use validation plugin when creating new list

The page for adding a new list includes some custom form validation
JavaScript which can be removed in favor of HTML5 validation attributes
and Koha's built-in validation plugin. This patch does so.

Other edits: Minor validation fixes.

To test, apply the patch and go to Lists -> New list. Try submitting the
form without entering a list name. This should trigger a validation

Submission of the form with valid data should work correctly. Editing an
existing list should also work correctly.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11471: Display the currency for baskets in a basketgroup
Jonathan Druart [Tue, 18 Feb 2014 14:07:38 +0000 (15:07 +0100)]
Bug 11471: Display the currency for baskets in a basketgroup

On editing a basketgroup, the currency for baskets in a basketgroup is
always '0'.

With this patch, the currency is correctly displayed.

 1) Log into staff client
 2) Acquisitions
 3) Click 'Search' in the 'Manage orders' box
 4) Click '+ New basket' because a vendor name
 5) Type 'Test Basket' into basket name
 6) Click 'Save'
 7) Click 'Add to basket'
 8) Click 'From an external source'
 9) Type 'Green Eggs and Ham' into the Title text box
10) Click 'Search'
11) Click 'Order' on any one of the results
12) Click 'Add Item' in the 'Item' box
13) Select a Fund from the dropdown in the
     'Accounting details' box
14) Click 'Save'
15) Click 'Close the basket'
16) Click 'Yes, close (Y)' without checking attach to a
     basket group
17) Click the 'Basket groups' tab
18) Click '+ New basket group'
19) Notice the listing in the 'Ungrouped baskets'.
20) Drag and drop the entry into the 'Baskets in this group'
     text area
21) Click 'Save'
22) Click 'Edit'
23) Notice it displays incorrectly. (e.g. Total: 0 0)
24) Apply the patch (git bz apply 11471)
25) Refresh the page
26) Notice it displays the currency correctly. (e.g. Total: 0 USD)
    NOTE: If there is a space issue, see Bug 9654.
          This can be applied separately from that bug.
27) Run the Koha QA Tool: (~/qa-test-tools/koha-qa.pl -v 2 -c 1)

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11256: (follow-up) tweak description of the OpacMaxItemsToDisplay syspref
Galen Charlton [Fri, 21 Feb 2014 18:44:01 +0000 (18:44 +0000)]
Bug 11256: (follow-up) tweak description of the OpacMaxItemsToDisplay syspref

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11256: DBRev
Galen Charlton [Fri, 21 Feb 2014 18:36:06 +0000 (18:36 +0000)]
Bug 11256: DBRev

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11256: Opac: Set a number of items to display on a biblio detail page - bootstrap
Jonathan Druart [Tue, 18 Feb 2014 13:27:14 +0000 (14:27 +0100)]
Bug 11256: Opac: Set a number of items to display on a biblio detail page - bootstrap

This patch adds the changes for the bootstrap theme.
See test plan in the previous patch.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 11256: Opac: Set a number of items to display on a biblio detail page.
Jonathan Druart [Fri, 15 Nov 2013 11:02:53 +0000 (12:02 +0100)]
Bug 11256: Opac: Set a number of items to display on a biblio detail page.

Currently, the number of items to display is hardcoded (50).
But the perl script loads all items before to check if the number of
items is oversized.

This patch adds a new pref OpacMaxItemsToDisplay (default to 50). If the
*total* number of items for a biblio is greater, no item is displayed
and a link allows to display all items.

Test plan:
1/ search a biblio with many items
2/ set the pref according the number of items you want to display
3/ verify the items are not displayed if the number of items is greater
the pref value
4/ enable the OpacSeparateHoldings pref and verify the items are
displayed in different tabs (if items have different locations).

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 9677 - Style button on notices and slips page with Bootstrap
Owen Leonard [Wed, 19 Feb 2014 20:53:13 +0000 (15:53 -0500)]
Bug 9677 - Style button on notices and slips page with Bootstrap

The toolbar button on the Notices & Slips page isn't styled with
Bootstrap as other toolbar buttons are. This patch corrects this.

The patch also removes some obsolete CSS.

To test go to Tools -> Notices and Slips. The toolbar button should look
correct and work correctly.

Patch works as expected.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
"yui-menu-button" is not contained in tt files.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11799: Housekeeping: Remove _biblionumber_sth from VirtualShelves.pm
Marcel de Rooy [Thu, 20 Feb 2014 11:54:32 +0000 (12:54 +0100)]
Bug 11799: Housekeeping: Remove _biblionumber_sth from VirtualShelves.pm

This routine is no longer used.

Test plan:
Do a grep on the name.
(Bonus points:) Verify if you can perform some actions on lists.

No more occurences of _biblionumber_sth found
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 10580: (follow-up) tweak wording about looking for zebrasrv & zebraidx
Galen Charlton [Fri, 21 Feb 2014 17:38:42 +0000 (17:38 +0000)]
Bug 10580: (follow-up) tweak wording about looking for zebrasrv & zebraidx

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 10580: adjust Makefile.PL to reflect that Zebra no longer optional in Koha setup
Tomas Cohen Arazi [Fri, 24 Jan 2014 13:40:03 +0000 (10:40 -0300)]
Bug 10580: adjust Makefile.PL to reflect that Zebra no longer optional in Koha setup

Running Makefile.PL asks the user whether to install the Zebra
configuration files and different texts relate to the user having
chosen to use Zebra.

This patch removes references to choosing to use Zebra and removes
the related variables from the code.

To test:
- Apply the patch
- Go through the different install modes
- Verify that nothing nothing is broken

Sponsored-by: Universidad Nacional de Cordoba
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11562: re-sort sysprefs.sql
Jonathan Druart [Wed, 15 Jan 2014 15:24:00 +0000 (16:24 +0100)]
Bug 11562: re-sort sysprefs.sql

The QA tools does not manage to catch error sorting on the sysprefs.sql
file if it is already badly sorted.

This patch tidies up the sysprefs file.

[1] Verify that loading sysprefs.sql into an empty Koha
    database (or one whose system preferences table is
    is empty) works.

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
RM note: I must point out that there ZERO functionality associated
with the order that system preferences occur in that SQL script; they are
sorted solely in an attempt to reduce the likelihood of merge conflicts
during the development process.  Consequently, I dislike language that
suggests it is an "error" if sysprefs.sql happens to not be perfectly
sorted; it is at most an inconvenience.

7 years agoBug 7372: (follow-up) remove last traces of roadtype table and admin pages
Galen Charlton [Fri, 21 Feb 2014 16:08:01 +0000 (16:08 +0000)]
Bug 7372: (follow-up) remove last traces of roadtype table and admin pages

This patch removes the DBIC schema class for the 'roadtype' table
and staff interface templates that are no longer reachable with
the removal of the road type administration page.  It also removes
the creation of the table during installation.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 7372: DBRev
Galen Charlton [Fri, 21 Feb 2014 16:02:33 +0000 (16:02 +0000)]
Bug 7372: DBRev

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 7372: Move road types from the roadtype table to the ROADTYPE AV
Jonathan Druart [Wed, 23 Oct 2013 12:27:45 +0000 (14:27 +0200)]
Bug 7372: Move road types from the roadtype table to the ROADTYPE AV

Currently road types are stored in a specific table in DB. Moreover, an
admin page is present in order to manage them.
This patch proposes to remove this table and this page in favour of a
new authorised value category 'ROADTYPE'.

This patch:
- adds a new AV category 'ROADTYPE' (created from the roadtype table
- remove the roadtype table.
- remove the .pl and .tt file admin/roadtype
- remove the 2 routines C4::Members::GetRoadTypes and

Test plan:
1/ Execute the updatedatabase entry and verify existing roadtypes are
now stored in the AV 'ROADTYPE'.
2/ Verify you can add/update a streettype for patrons.
3/ Verify on following pages the streettype is displayed in patron
information (top left):

Signed-off-by: Sophie Meynieux <sophie.meynieux@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11272 - add second submit button to inventory form
Nicole C. Engard [Fri, 24 Jan 2014 15:47:53 +0000 (09:47 -0600)]
Bug 11272 - add second submit button to inventory form

The inventory tool allows for 2 ways of processing files. The first
is to upload a file. The second is to generate the shelf list.
Most libraries think they have to fill in all fields because the
submit button is at the bottom of the second option. They do not.
This patch adds a second submit button under the first method to
make this clearer.

To test:

* Generate a file of barcodes for inventorying
* Before applying the patch use the file upload method to mark as seen
* Apply the patch
* Use the file upload method to mark as seen using the new submit
* Repeat the above for the shelf list method
* Confirm that inventory still works as expected with 2 buttons

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11087: Make the Pay Fines tab the default tab
Ketan Kulkarni [Thu, 21 Nov 2013 09:07:58 +0000 (14:37 +0530)]
Bug 11087: Make the Pay Fines tab the default tab

Since paying fines is the most likely action when clicking on
the Fines tab, the pay fines tab should be the default rather
than the account summary.

Signed-off-by: Holger Meißner <h.meissner.82@web.de>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Verified by accessing the fines pages from the various
patron account pages.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>