koha.git
10 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
  sidebar.

- 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>
10 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>
10 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
displayed.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 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
   permissions
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
header.

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

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>
10 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
  fixed).
- 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>
10 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>
10 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
exceptional.

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>
10 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>
10 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
constructor.

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
MARC::Field->as_string).

* 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>
10 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>
10 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>
10 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>
10 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
error.

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
error:

- Normal
- MARC
- Labeled MARC
- ISBD
- 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>
10 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>
10 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>
10 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>
10 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>
10 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
  details).

Signed-off-by: Aleisha <aleishaamohia@hotmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 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>
10 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>
10 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>
10 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
code.

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
   displayed.
=> 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>
10 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
this.

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
d565fb02e9fca2ac9c506e4e7d44fd8b0d66f06a
This one makes it more consistent with formatting. It makes sense.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 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>
10 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>
10 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>
10 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
warning.

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>
10 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.

TEST PLAN
=========
 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>
10 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>
10 years agoBug 11256: DBRev 3.15.00.019
Galen Charlton [Fri, 21 Feb 2014 18:36:06 +0000 (18:36 +0000)]
Bug 11256: DBRev 3.15.00.019

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 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>
10 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>
10 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>
10 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>
10 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>
10 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>
10 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.

TEST PLAN
---------
[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.

10 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>
10 years agoBug 7372: DBRev 3.15.00.018
Galen Charlton [Fri, 21 Feb 2014 16:02:33 +0000 (16:02 +0000)]
Bug 7372: DBRev 3.15.00.018

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 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
  content).
- remove the roadtype table.
- remove the .pl and .tt file admin/roadtype
- remove the 2 routines C4::Members::GetRoadTypes and
  C4::Members::GetRoadTypeDetails

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):
  circ/circulation.pl
  members/memberentry.pl
  members/moremember.pl
  members/routing-lists.pl

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>
10 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>
10 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.

http://bugs.koha-community.org/show_bug.cgi?id=11087
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>
10 years agoBug 11611: DBRev 3.15.00.017
Galen Charlton [Thu, 20 Feb 2014 19:09:11 +0000 (19:09 +0000)]
Bug 11611: DBRev 3.15.00.017

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11611: Rephrase description and examples of 5 MARC related sysprefs
Mathieu Saby [Sun, 26 Jan 2014 18:55:46 +0000 (19:55 +0100)]
Bug 11611: Rephrase description and examples of 5 MARC related sysprefs

This patch rephrases the description or examples of 5 sysprefs:
1/ MARCAuthorityControlField008: "MARC" -> "MARC21"
2/ itemcallnumber: "Examples" -> "Examples (for MARC21 records)"
3/ DefaultLanguageField008: "Range 35-37" -> "Range 35-37 of MARC21 records"
4/ MARCOrgCode: "new MARC records" -> "new MARC21 records"
5/ UNIMARCAuthorityField100 description: "Do NOT include the date
   (position 00-05)." -> "position 08-35. Do NOT include the date
   (position 00-07)."

It also adds description in SQL systempreferences table for
UNIMARCAuthorityField100, MARCAuthorityControlField008 and MARCOrgCode.

Test plan:
- Apply and run updatedatabase.pl
- Check the changes are taken into account in syspref administration
  page
- Check the changes are taken into account in systempreferences table
  (for UNIMARCAuthorityField100, MARCAuthorityControlField008 and
   MARCOrgCode)

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>
10 years agoBug 11796: fix display of search result facets if facet happens to have exactly six...
Kyle M Hall [Wed, 19 Feb 2014 20:26:24 +0000 (15:26 -0500)]
Bug 11796: fix display of search result facets if facet happens to have exactly six entries

If a search gives results with 6 facets, one of those facets won't be
displayed. This is due to a bug in the code that only considers great
than 6 facets in one area, and less than 6 in another.

Test Plan:
1) Perform a search that should give results for 6 different libraries
2) Note you only see 5 libraries in the facets with no option to expand
3) Apply this patch
4) Repeat step 1
5) Note you now have the option to expand the facets list

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
This patch should provide a regression test but I really don't know how
to write it.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11791 - Use validation plugin when creating new city
Owen Leonard [Wed, 19 Feb 2014 16:36:30 +0000 (11:36 -0500)]
Bug 11791 - Use validation plugin when creating new city

The page for adding a new city 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 Administration -> Cities -> New city.
Try submitting the form without entering a city or zip code. This should
trigger a validation warning.

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

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Note: This patch changes the behavior. Before the patch, only 1 out of city
and zip was required. Now both are. Since the 2 inputs were marked as
required, I think they should be.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11792 - Use validation plugin when creating new currency
Owen Leonard [Wed, 19 Feb 2014 16:59:33 +0000 (11:59 -0500)]
Bug 11792 - Use validation plugin when creating new currency

The page for adding a new currency 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 Administration -> Currencies &
Exchange rates -> New currency. Try submitting the form without entering
a currency, rate, and/or symbol. This should trigger a validation warning.

Submission of the form with valid data should work correctly. Editing an
existing currency 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>
10 years agoBug 11793 - Use validation plugin when creating new item type
Owen Leonard [Wed, 19 Feb 2014 17:29:34 +0000 (12:29 -0500)]
Bug 11793 - Use validation plugin when creating new item type

The page for adding a new item type 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 Administration -> Item types -> New
item type. Try submitting the form with the following error conditions:

- Missing item type
- Missing description
- A non-number in the "rental charge" field

These errors should trigger a validation warning.

Submission of the form with valid data should work correctly. Editing an
existing item type 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>
10 years agoBug 11795 - Use validation plugin when creating new Z39.50 server
Owen Leonard [Wed, 19 Feb 2014 18:05:19 +0000 (13:05 -0500)]
Bug 11795 - Use validation plugin when creating new Z39.50 server

The page for adding a new Z39.50 server 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 Administration -> Z39.50 client
targets -> New Z39.50 server. Try submitting the form with any of the
following error conditions:

- Missing Z39.50 server name
- Missing hostname
- Missing port
- Non-numeric port
- Missing database
- Non-numeric rank
- Non-numeric timeout

These errors should trigger a validation warning.

Submission of the form with valid data should work correctly. Editing
an existing Z39.50 server should also work correctly.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Amended patch: replace tabs with spaces

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11788 - Use validation plugin when creating new course
Owen Leonard [Tue, 18 Feb 2014 20:26:30 +0000 (15:26 -0500)]
Bug 11788 - Use validation plugin when creating new course

The page for adding a new course 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 Course reserves -> New course. Try
submitting the form without entering a department, course number,
and/or course name. This should trigger validation warnings.

Submission of the form with valid data should work correctly. Editing an
existing course 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>
10 years agoBug 11787 - Use validation plugin when adding new vendor
Owen Leonard [Tue, 18 Feb 2014 19:52:26 +0000 (14:52 -0500)]
Bug 11787 - Use validation plugin when adding new vendor

The vendor entry form uses some custom JavaScript which can be removed
in favor of HTML5 validation attributes and Koha's built-in validation
plugin. This patch does so.

Also corrected: Minor validation issue.

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

Submission of the form with valid data should work correctly. Editing an
existing vendor 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>
10 years agoBug 11785 - Use validation plugin when uploading local cover images
Owen Leonard [Tue, 18 Feb 2014 17:13:39 +0000 (12:13 -0500)]
Bug 11785 - Use validation plugin when uploading local cover images

When uploading local cover images the form should not be submitted if
no file has been selected. The existing form validation script doesn't
work. This patch adds HTML5 validation attributes and use of Koha's
built-in form validation plugin.

To test, apply the patch and go to Tools -> Upload local cover image.
Try to submit the form without selecting a file to upload. You should be
prevented from doing so. Choose a file and confirm that the upload
completes 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>
10 years agoBug 10714 [Follow-up] Redirect to list contents view upon cancel after initiating...
Owen Leonard [Wed, 19 Feb 2014 20:06:36 +0000 (15:06 -0500)]
Bug 10714 [Follow-up] Redirect to list contents view upon cancel after initiating edit from list contents view (staff)

This follow-up corrects the "cancel" action on list edit actions based
on whether the edit was initiated from the list of lists or the list
contents view.

To test, view the list of lists and click the edit link next to one of
them. Click the cancel link. You should return to the list of lists you
were just viewing.

View the contents of a list. Choose "Edit list" from the edit menu.
Click the cancel link on the edit screen. You should return to the list
contents view from which you initiated the edit action.

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>
10 years agoBug 10714: Redirect to list contents view upon save after initiating edit from list...
Owen Leonard [Mon, 12 Aug 2013 19:30:16 +0000 (15:30 -0400)]
Bug 10714: Redirect to list contents view upon save after initiating edit from list contents view (staff)

In the staff client, if you initiate a list edit from the list contents
view you should be redirected to that same view after saving your
changes. The OPAC already works this way.

To test, view the contents of an existing list. Click the "Edit list"
item under the "Edit" menu. Click save on the list edit form and you
should be redirected back to the contents view of that list.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11479: Remove experimental given/when keywords
Colin Campbell [Mon, 6 Jan 2014 12:06:29 +0000 (12:06 +0000)]
Bug 11479: Remove experimental given/when keywords

Replace constructs using given and when by if/else
feature now generates compilation warnings in 5.18
and is liable to change behaviour.

This patch:

* replaces the construct with if/else
* reformats the if branching using perltidy
  to remove the now redundant indent

To test:

[1] Verify that prove -v t/db_dependent/MarcModificationTemplates.t
    passes.

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>
10 years agoBug 11478: Replace experimental given/when keywords
Colin Campbell [Mon, 6 Jan 2014 11:53:29 +0000 (11:53 +0000)]
Bug 11478: Replace experimental given/when keywords

The keywords given and when are flagged experimental
in perl 5.18 and subject to change. This patch
replaces the construct by an if/elsif

To test:

[1] Verify that prove -v t/SimpleMARC.t passes.

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>
10 years agoBug 11411 - Bootstrap theme (enhancement) for (right to left)
Owen Leonard [Thu, 30 Jan 2014 19:17:10 +0000 (14:17 -0500)]
Bug 11411 - Bootstrap theme (enhancement) for (right to left)

This patch improves Koha's layout when a right-to-left language is being
displayed by correcting a float set by the right-to-left version of
Bootstrap CSS.

The patch modifies the right-to-left Less file and includes a
now-minified version of the compiled CSS.

To test, install a right-to-left language like ar-Arab. Apply the patch
and view the OPAC under the Bootstrap theme. When logged in, the log out
link is now aligned to the left.

Signed-off-by: Holger Meißner <h.meissner.82@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11732: Eliminate warning on undefined branchcode
Marcel de Rooy [Mon, 10 Feb 2014 12:28:16 +0000 (13:28 +0100)]
Bug 11732: Eliminate warning on undefined branchcode

When you run the Reserves test, you have the warnings:
Use of uninitialized value $branchcode in hash element at /usr/share/koha/testclone/C4/Letters.pm line 138.
Use of uninitialized value $branchcode in hash element at /usr/share/koha/testclone/C4/Letters.pm line 148.
This patch removes that warning.

Test plan:
Run the Reserves.t again.

Revised Test Plan
-----------------
Run the following on the command line prompt before and after
applying the patch:
    perl -e "use C4::Letters; *C4::Context::userenv= sub { return {} }; my \$blah=C4::Letters::getletter('circulation','DUE', 'BRA');"
Before the patch there will be errors (as above), after there will not.

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
IndependentBranches must be on.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11202: (follow-up) update number of expected tests for t/QueryParser.t
Galen Charlton [Wed, 19 Feb 2014 21:00:32 +0000 (21:00 +0000)]
Bug 11202: (follow-up) update number of expected tests for t/QueryParser.t

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11202: FIX UT for QueryParser.t
Jonathan Druart [Mon, 3 Feb 2014 12:17:17 +0000 (13:17 +0100)]
Bug 11202: FIX UT for QueryParser.t

Test plan:
prove t/QueryParser.t

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11202: Improve UNIMARC biblio indexing
Mathieu Saby [Tue, 5 Nov 2013 11:33:04 +0000 (12:33 +0100)]
Bug 11202: Improve UNIMARC biblio indexing

This patch makes the following changes to UNIMARC biblio indexing :
A. Changes to UNIMARC conf files
1. add comments to biblio-koha-indexdefs.xml
2. make biblio-koha-indexdefs.xml more compact by grouping some
   declarations
   Ex : 200$f and 200$g => one declaration for 200$fg
3. suppress unneeded declarations (indexing of some 4XX fields and 6XX
   fields not in unimarc format)
4. unindex some (sub)fields unneeded by most users (318, 207,230,210a,
   215, 4XXd)
5. change the way 308 field is indexed (no visible changes)
6. replace Title-host with Host-item -- see bug 11119
7. index 208 in Material-Type -- see bug 11119
8. index 100 pos 8-9 and 9-12 in pubdate:y and pubdate:n
9. index 100 pos 8-9 in pubdate:s instead of 210$d
10. Index all subfields of note 334 and 327 in note index
11. Index 304 and 327 in title index as well as note index
    327 can contain a list of titles included in a work
    304 can contain the title of the original work in case of a
    translation
12. Index 314 in author index as well as note index
    314 can contain authors not mentionned in 200$f/g (the 4th, 5th etc.
    author)
13. Index 328 note in Dissertation-information as well as note
14. Index 328$t in Title

B. Changes to ccl.properties :
1. add a new index Dissertation-information (1056)
2. fix EAN, pubdate and acqdate (they were not linked with bib1 attributes)

C. Changes to Search.pm
1. add Dissertation-information and suppress Title-host and UPC

D. Changes to QP config file queryparser.yaml
1. add Dissertation-information
2 fix EAN, pubdate and acqdate

Test plan :
If you cannot test in GRS1, test only in DOM, as GRS will be deprecated.

1. Apply the patch in a UNIMARC Koha running with DOM and ICU
2. copy src/etc/searchengine/queryparser.yaml into the main config
   directory of QP
3. copy src/etc/zebradb/ccl.properties into the main config directory
   of Zebra
4. copy src/etc/zebradb/marc_defs/unimarc/biblio/* into the main config
   directory of Zebra
5. reindex biblios (rebuild_zebra.pl -r -b -x -v)
6. test note index : make some searches on 334$b or 327$b
7. test author index : make some searches on 314 field
8. test title index : make some searches on 304 and 327 field, make a
   search on 328$t subfield
9. test dissertation-information index : make some searches on 328 field
10. In a record, put in the dates of 100 fields the values "1000" (1st
    date) and "1001" (2d date) ; try to search a book written in year
    1000, you should find the record ; idem for year 1001
11. make some searches and sort by date. It should work better as before,
    especially if you have values like "c2009" or "impr. 2010" in 210
    field
12. Regression test : make some searches on several indexes, like EAN,
    etc. It should work as before

Test 10-12 with and without Queryparser activated.
Be careful: with Queryparser activated, the index names (title,
dissertation-information...) must be entered in lowercase only.
Of course, to test search and sort by dates, you need to have full
records, with dates in 100 field as well as 210 field.

Signed-off-by: Paola Rossi <paola.rossi@cineca.it>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 10544: (follow-up) update MARC21 DOM index definitions
Galen Charlton [Wed, 19 Feb 2014 20:35:08 +0000 (20:35 +0000)]
Bug 10544: (follow-up) update MARC21 DOM index definitions

This patch updates the MARC21 DOM index definitions to
index the 952$i as 'Number-local-acquisition' rather than
'stocknumber'.

To test (for a MARC21/DOM setup):

[1] Copy the MARC21 biblio-zebra-indexdefs.xsl over to the
    active Zebra configuration directory.
[2] Reindex the bib records.
[3] Verify that 'stocknumber', 'inv', and 'number-local-acquisition'
    searches work.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 10544 - add Number-local-acquisition in QueryParser config
Fridolyn SOMERS [Wed, 24 Jul 2013 10:39:59 +0000 (12:39 +0200)]
Bug 10544 - add Number-local-acquisition in QueryParser config

This patch adds the Number-local-acquisition into QueryParser
configuration file.
Like in ccl.properties, "Number-local-acquisition" is the main index
name and "stocknumber" and "inv" are aliases.

Test plan :
Enable QueryParser :
- Enable UseQueryParser syspref
- Edit your koha-conf.xml
- Add to "config" node : <queryparser_config>[your path]/etc/searchengine/queryparser.yaml</queryparser_config>,
  adapt [your patch] to your install configuration folder
- If needed copy from sources "etc/searchengine/queryparser.yaml" into
  your install configuration folder
Test search :
- Add Number-local-acquisition on an existing subfield in records.abs.
  For example on item barcode field
- Reindex Zebra database
- Choose a value of this field that will match some results. For
  example : "0*" will match all barcodes beginning with zero
- In intranet, enter this URL : <your server>/cgi-bin/koha/catalogue/search.pl?idx=stocknumber&q=0*&sort_by=relevance
=> You get some results
- In intranet, enter this URL : <your server>/cgi-bin/koha/catalogue/search.pl?idx=inv&q=0*&sort_by=relevance
=> You get the same results
- In intranet, enter this URL : <your server>/cgi-bin/koha/catalogue/search.pl?idx=number-local-acquisition&q=0*&sort_by=relevance
=> You get the same results

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Comments on case sensitivity of index names in QueryParser, see Bugzilla.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 10544: add Number-local-acquisition in known indexes
Fridolyn SOMERS [Wed, 24 Jul 2013 10:37:00 +0000 (12:37 +0200)]
Bug 10544: add Number-local-acquisition in known indexes

Adding Number-local-acquisition in C4::Search known indexes allows to
search without using "ccl=" prefix.

Also corrects in ccl.properties : inv must be an alias of
Number-local-acquisition.

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>
10 years agoBug 10544: ensure that stocknumber searches work for MARC21
Fridolyn SOMERS [Fri, 5 Jul 2013 14:35:45 +0000 (16:35 +0200)]
Bug 10544: ensure that stocknumber searches work for MARC21

Bug 6256 replaced in bib1.att stocknumber by Number-local-acquisition
for number 1062.

In this case, Number-local-acquisition must be used in record.abs and
stocknumber can be an alias of it in ccl.properties.

Test plan (for MARC21/GRS1):
- drop zebra database (rebuild_zebra.pl -r ...)
- reindex
- test in simple search : ccl=Number-local-acquisition,alwaysmatches=''
=> you get all records with a stocknumber
- test in simple search : ccl=stocknumber,alwaysmatches=''
=> you get the same results

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
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>
10 years agoBug 11644: (follow-up) add FIXME
Galen Charlton [Wed, 19 Feb 2014 20:04:22 +0000 (20:04 +0000)]
Bug 11644: (follow-up) add FIXME

Arithmetic with monetary amounts is a *hard* problem -- or if
not hard, at least super-fiddly, particularly since in theory
a Koha database could have to deal with dozens of currencies
if used by a large research library.  This patch adds a FIXME
implicitly commenting on the poor state of affairs of available
monetary calculation modules on CPAN.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11644: fix occasional failure to update fund amount due to floating-point math
Kyle M Hall [Thu, 30 Jan 2014 17:39:19 +0000 (12:39 -0500)]
Bug 11644: fix occasional failure to update fund amount due to floating-point math

When attempting to update a fund, if the amount unalloccated for the
fund is equal to the total, you can be prevented from saving. This is
due to imprecise floating point number comparison in
check_parent_total.pl

Test Plan:
1) Create a fund where the amount unallocated is equal to the amount
   unallocated for the budget period
2) Edit the fund, attempt to change the name of the fund
3) Note you recieve an error and cannot save
4) Apply this patch
5) Repeat step 2
6) Note you can now update the fund

Signed-off-by: Sean McGarvey <smcgarvey@pascocountyfl.net>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11777: add regression test
Galen Charlton [Wed, 19 Feb 2014 17:09:34 +0000 (17:09 +0000)]
Bug 11777: add regression test

This patch adds a regression test for ensuring that the
authorisedby field is returned by SearchOrders().

To test:

[1] Upon applying the main patch, verify that
    prove -v t/db_dependent/Acquisition.t passes.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11777: ensure "created by" is displayed by the order receiving page
Amit Gupta [Tue, 18 Feb 2014 09:27:44 +0000 (14:57 +0530)]
Bug 11777: ensure "created by" is displayed by the order receiving page

This fixes a regression introduced by the patches for bug 10723.

To Test:
1) Create budget and fund under budget administration.
2) Create Vendor in acquisitons module.
3) Create basket under vendor.
4) Create order and choose budget while creating order.
5) Click on Receive shipment button.
6) Click on receive link on the right hand side you
   will be able to see a staff user name in the "created by"
   field.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11783: ensure CD field in SIP patron information response is populated
Kyle M Hall [Tue, 18 Feb 2014 14:47:32 +0000 (09:47 -0500)]
Bug 11783: ensure CD field in SIP patron information response is populated

If a patron has a record-level hold that is unavailable, any patron
information request will send back an empty CD field when this field
should have an item barcode in it [RM note: this actually isn't
universally true -- the SIP2 standard is silent as to what is supposed
to go in the CD field. Some SIP2 devices do indeed want an item
barcode, but others are known to just want a display of the title
and author of the request in question.  Providing an option is the
topic of a new enhancement request, however.]

This is due to a minor error in ILS::Patron::_get_outstanding_holds
where GetItemnumbersForBiblio is assumed to return an array but in
reality returns an arrayref.

Test Plan:
1) Create a record level hold for a patron and record
2) Using SIP2, make a patron information request
3) Note the empty CD fields
4) Apply this patch, restart SIP server
5) Repeat step 2
6) Note the CD field now has a barcode

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
I did not test this patch but the following code shows me it is correct:
  use C4::Items;
  use Data::Dumper;
  my $biblionumber = 5035;
  my $itemnumber = (GetItemnumbersForBiblio($biblionumber))[0];
  say Dumper $itemnumber;
  $itemnumber = (GetItemnumbersForBiblio($biblionumber))->[0];
  say Dumper $itemnumber;

displays:

$VAR1 = [
          '23168',
          '23169',
          '23170',
          '23171',
          '23172'
        ];

$VAR1 = '23168';

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11779: (follow-up) improve GetLoggedInBranchcode() and add test cases
Galen Charlton [Wed, 19 Feb 2014 16:40:06 +0000 (16:40 +0000)]
Bug 11779: (follow-up) improve GetLoggedInBranchcode() and add test cases

This patch adjusts the new GetLoggedInBranchcode() template function so
that it returns the empty string rather than undef if there is no
active user environment.  That way, there won't be lots of undefined
value warnings if/when this function gets used in the OPAC.

This patch also adds test cases.

To test:

[1] Verify that there are no regressions in the main test
    plan for this bug.
[2] Verify that prove -v t/db_dependent/Koha_template_plugin_Branches.t
    passes.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11779: fix unexpected change in logged-in library when changing overdue notice...
Kyle M Hall [Tue, 18 Feb 2014 12:43:44 +0000 (07:43 -0500)]
Bug 11779: fix unexpected change in logged-in library when changing overdue notice triggers

Steps to reproduce:
1) Log into staff intranet
2) Set logged in branch
3) Browse to tools/overdue notice triggers
4) Select a branch from the pulldown that is not your logged in branch
5) use the "Check out" bar at the top of the page to search for a patron
to check out to
6) Once you have landed here, click the "check out" tab link again, or
   the Edit button ( any action really )
7) Note your logged in branch has now changed to the once selected
   when editing the notice/status triggers

This is due to the way the patron search passes the branchcode to be
used via the form. This form assumes the branchcode variable is
always the currently logged in branch, which may not and is not
always the case.

Test Plan:
1) Apply this patch
2) Repeat the steps to reproduce above
3) Note your logged in branch does not change

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Funny bug :) This patch fixes the described issue and should not
introduce regression.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11784 - fix displaying patron images in self checkout
Marc Véron [Tue, 18 Feb 2014 00:18:23 +0000 (01:18 +0100)]
Bug 11784 - fix displaying patron images in self checkout

I suppose this bug was introduced with Bug 10636 (patronimage should
have borrowernumber as PK, not cardnumber)

To test:
- Have a Patron with image. Configure everything to show image in SCO.
- Go to SCO and log in patron
- Image does not show up (broken link)
- Apply patch
- Test with prog, ccsr and bootstrap themes
- Image should display

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11740 - Use new DataTables include in quotes upload template
Owen Leonard [Mon, 10 Feb 2014 20:29:06 +0000 (15:29 -0500)]
Bug 11740 - Use new DataTables include in quotes upload template

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

To test you need a CSV file of quotes to upload ( "source","text" ).
Go to Tools -> Quote editor and click the "Import quotes" button. Upload
the CSV file and confirm that the table which previews the import
results loads correctly. Sorting is not enabled, but pagination and
searching should work.

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
No regression found.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11767 - Use validation plugin when creating new authority framework tag
Owen Leonard [Fri, 14 Feb 2014 19:29:47 +0000 (14:29 -0500)]
Bug 11767 - Use validation plugin when creating new authority framework tag

The page for adding a new tag to an authority framework 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.

The patch also moves some tag markup out of the script and into the
template where it belongs.

To test, apply the patch and go to Administration -> Authority types ->
MARC structure -> New tag. Try submitting the form without entering a
tag number. This should trigger a validation warning.

Submission of the form with valid data should work correctly. Editing an
existing tag 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>
10 years agoBug 11766 - Use validation plugin when creating new authority type
Owen Leonard [Fri, 14 Feb 2014 18:11:04 +0000 (13:11 -0500)]
Bug 11766 - Use validation plugin when creating new authority type

The new authority type entry form uses custom form validation
JavaScript. This patch removes it in favor of using HTML5 validation
attributes and Koha's built-in validation plugin.

To test, go to Administration -> Authority types and click "New
authority type." Try submitting the form without entering any data. You
should see a warning about required fields. Upon entering text in those
fields the warning should disappear.

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>
10 years agoBug 11749 - Remove unused jQuery plugin jquery.hoverIntent.minified.js from the staff...
Owen Leonard [Wed, 12 Feb 2014 15:12:58 +0000 (10:12 -0500)]
Bug 11749 - Remove unused jQuery plugin jquery.hoverIntent.minified.js from the staff client

The jQuery plugin jquery.hoverIntent.minified.js is used only in the
OPAC, not the staff client. This patch removes it from the staff client.

To test, apply the patch and search for instances of "hoverIntent." Only
references in OPAC templates should be returned.

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>
10 years agoBug 11771 - Use validation plugin when creating new MARC framework tag
Owen Leonard [Fri, 14 Feb 2014 21:24:10 +0000 (16:24 -0500)]
Bug 11771 - Use validation plugin when creating new MARC framework tag

The page for adding a new tag to a MARC framework 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.

The patch also moves some tag markup creation out of the script and into
the template where it belongs.

To test, apply the patch and go to Administration -> MARC bibliographic
framework -> MARC structure -> New tag. Try submitting the form without
entering a tag number. This should trigger a validation warning.

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

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Great improvement! Before this patch, I got a JS alert but the form was
submitted anyway.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11649 - Always use words "copy number" - opac prog
Fridolin Somers [Fri, 31 Jan 2014 13:47:09 +0000 (14:47 +0100)]
Bug 11649 - Always use words "copy number" - opac prog

In most cases, the value of items.copynumber is displayed using the
words "Copy number". But in some cases, it is just "Copy".
It would be better to always use "Copy number" because in translation
the word "Copy" means the action of coping.

This patch manages templates of opac prog theme.

To test, display an item containing a value in items.copynumber.

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>
10 years agoBug 11649 - Always use words "copy number" - opac bootstrap
Fridolin Somers [Fri, 31 Jan 2014 13:46:20 +0000 (14:46 +0100)]
Bug 11649 - Always use words "copy number" - opac bootstrap

In most cases, the value of items.copynumber is displayed using the
ords "Copy number". But in some cases, it is just "Copy".
It would be better to always use "Copy number" because in translation
the word "Copy" means the action of coping.

This patch manages templates of opac bootstrap theme.

To test, display an item containing a value in items.copynumber.

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>
10 years agoBug 11649 - Always use words "copy number" - intranet
Fridolin Somers [Fri, 31 Jan 2014 13:44:26 +0000 (14:44 +0100)]
Bug 11649 - Always use words "copy number" - intranet

In most cases, the value of items.copynumber is displayed using the
words "Copy number". But in some cases, it is just "Copy".
It would be better to always use "Copy number" because in translation
the word "Copy" means the action of coping.

This patch manages templates of intranet.

To test, display an item containing a value in items.copynumber.

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>
10 years agoBug 11756: improve default sorting on hold ratios report
Owen Leonard [Fri, 14 Feb 2014 13:48:46 +0000 (08:48 -0500)]
Bug 11756: improve default sorting on hold ratios report

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

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

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

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

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11709: revisions to Bootstrap OPAC lists interface
Owen Leonard [Fri, 7 Feb 2014 15:30:19 +0000 (10:30 -0500)]
Bug 11709: revisions to Bootstrap OPAC lists interface

This patch makes some revisions to the lists template:

- Removed the old prog theme breadcrumbs from the List edit screen.
- Added New/Edit/Delete controls to the list view in cases where the
  list is empty.
- Corrected some breadcrumb logic.

To test, apply the patch and edit an existing list. You should see a
heading "Editing [list name]".

If necessary create a list with zero items on it. View the list. You
should see New/Edit/Delete links above the message about the list being
empty.

Patch behaves as expected.
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>
10 years agoBug 11730: ensure that C4::Charset loads C4::Context
Stéphane Delaune [Mon, 10 Feb 2014 09:52:59 +0000 (10:52 +0100)]
Bug 11730: ensure that C4::Charset loads C4::Context

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

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 10789: Follow-up: restored second SQL parameter in GetLastOrderReceivedFromSubscr...
Marcel de Rooy [Tue, 18 Feb 2014 15:26:07 +0000 (16:26 +0100)]
Bug 10789: Follow-up: restored second SQL parameter in GetLastOrderReceivedFromSubscriptionid

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 10789: Follow-up: Fix typo "infermation"
Marcel de Rooy [Tue, 18 Feb 2014 15:04:46 +0000 (16:04 +0100)]
Bug 10789: Follow-up: Fix typo "infermation"

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 10789: Remove unnecessary calls to $sth->finish in C4::Acquisitions
Colin Campbell [Sun, 8 Dec 2013 22:26:18 +0000 (22:26 +0000)]
Bug 10789: Remove unnecessary calls to $sth->finish in C4::Acquisitions

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

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

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

For fuller explanation see perldoc DBI

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

Everything behaved as I expected

Signed-off-by: Marc Veron <veron@veron.ch>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11743 - Remove unused DataTables plugin from OPAC theme directories
Owen Leonard [Tue, 11 Feb 2014 18:02:03 +0000 (13:02 -0500)]
Bug 11743 - Remove unused DataTables plugin from OPAC theme directories

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

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

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

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

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

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

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

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

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

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11618: ensure jQuery timepicker is picked up by the i18n toolchain
Owen Leonard [Mon, 27 Jan 2014 14:21:15 +0000 (09:21 -0500)]
Bug 11618: ensure jQuery timepicker is picked up by the i18n toolchain

We handle internationalization of the jQuery datepicker by adding
language configuration strings to calendar.inc which can be processed by
the translation script. This patch adds a similar configuration file for
the timepicker.

This patch also upgrades the timepicker plugin to the latest version,
minified, and places it outside the prog template directory for global
use. The path in templates has been updated accordingly.

CSS has been added to more completely hide the controls for seconds,
milliseconds, and microseconds.

To test, apply the patch and clear your cache so that the browser
loads the new version of the jQuery plugin. Confirm that date and time
selection still function correctly on the circulation page, the patron
detail page, and the offline circulation page (circ/offline.pl).

Test at least one datepicker instance which does not use the
timepicker.

Run translate update on a po file and confirm that the timepicker
strings are now present.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Works as expected, no regression found.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11753 - Replace jQuery qTip plugin with Bootstrap tooltip on patron search form
Owen Leonard [Wed, 12 Feb 2014 17:19:02 +0000 (12:19 -0500)]
Bug 11753 - Replace jQuery qTip plugin with Bootstrap tooltip on patron search form

The qTip plugin is out of date and incompatible with recent versions of
jQuery. This patch replaces use of qTip on the patron search form with a
Bootstrap tooltip implementation.

To test, apply the patch and view /cgi-bin/koha/members/members-home.pl

- Expand the patron search form by clicking the [+]
- Change 'search fields' from 'Standard' to 'Date of birth'
- A tooltip should appear giving details about the date format required
- Change the 'search fields' to something else. The tooltip should not
  appear.

Revision: Removed inclusion of qTip plugin from global header include.
The other instance of qTip usage occurs on a page which loads the plugin
separately.

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>
10 years agoBug 11773: fix crash in sco-main.pl if no active currency is set
Marc Véron [Sat, 15 Feb 2014 16:07:55 +0000 (17:07 +0100)]
Bug 11773: fix crash in sco-main.pl if no active currency is set

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

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

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

Test plan:

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

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11772: (follow-up) make warning about no active currency a link to currency setup...
Galen Charlton [Tue, 18 Feb 2014 20:59:56 +0000 (20:59 +0000)]
Bug 11772: (follow-up) make warning about no active currency a link to currency setup page

This patch standardizes the name of the currency and exchange rates
administration page (although I note that the breadcrumbs on that
page are inconsistent) and makes it a link.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11772: Show warning on About page:System information if no active currency is...
Marc Véron [Sat, 15 Feb 2014 15:19:04 +0000 (16:19 +0100)]
Bug 11772: Show warning on About page:System information if no active currency is defined

This patch displays a warning on the About page when no active currency
is defined.

Test plan:
1)
Make sure that no currency is defined as active
(Home › Administration › Currencies & Exchange rates › Currencies)
2)
Go to Home › About Koha > System information
Result: No warning issued.
3)
Apply patch and reload About page
Result: Warning issued.

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>
10 years agoBug 11765 - Remove unused function isDate from templates
Owen Leonard [Fri, 14 Feb 2014 17:52:34 +0000 (12:52 -0500)]
Bug 11765 - Remove unused function isDate from templates

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

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

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

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11764 - Move repeatedly redefined function toUC() into staff-global.js
Owen Leonard [Fri, 14 Feb 2014 17:22:19 +0000 (12:22 -0500)]
Bug 11764 - Move repeatedly redefined function toUC() into staff-global.js

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

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

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

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

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

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

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11628: add missing staffaccess permission to French userflags.sql file
Sophie Meynieux [Tue, 28 Jan 2014 16:16:18 +0000 (17:16 +0100)]
Bug 11628: add missing staffaccess permission to French userflags.sql file

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

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11748 - Remove unused jquery.uitablefilter.js plugin
Owen Leonard [Wed, 12 Feb 2014 14:49:57 +0000 (09:49 -0500)]
Bug 11748 - Remove unused jquery.uitablefilter.js plugin

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

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

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

There should be no results.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11310: update the XSLT for the Bootstrap theme
Galen Charlton [Mon, 6 Jan 2014 16:54:19 +0000 (16:54 +0000)]
Bug 11310: update the XSLT for the Bootstrap theme

When the Bootstrap theme was started, the XSLT directory
was copied over from the prog theme.  However, it was not
kept up to date with respect to changes to prog's XSLT.

This patch rectifies the problem by copying over the
current state of prog/en/xslt to bootstrap/en/xslt.  As
a consequence, the following bugs or enhancements should
now be reflected in the Bootstrap theme:

* 6886
* 10905
* 10465
* 10564
* 10793
* 10218
* 6594
* 9820
* 10745
* 6553
* 10218
* 10284

To test:

[1] Apply the patch and ensure that OPACXSLTDetailsDisplay
    and OPACXSLTResultsDisplay are set to 'default' and that
    OPAC theme is set to 'bootstrap'.
[2] Ensure that OPAC results and bib details look OK.
[3] To be really thorough, run through the test plans for the
    other bugs referenced by this patch.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11757: remove dependency on POE
Galen Charlton [Fri, 14 Feb 2014 00:24:56 +0000 (00:24 +0000)]
Bug 11757: remove dependency on POE

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

To test:

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

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

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11735 - Use new DataTables include in calendar template
Owen Leonard [Mon, 10 Feb 2014 17:59:07 +0000 (12:59 -0500)]
Bug 11735 - Use new DataTables include in calendar template

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

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

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

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