10 years agoMerge remote-tracking branch 'origin/new/bug_5327'
Paul Poulain [Wed, 15 Feb 2012 12:55:48 +0000 (13:55 +0100)]
Merge remote-tracking branch 'origin/new/bug_5327'

10 years agoRevert "Added coverage to unit test for TTParser"
Paul Poulain [Wed, 15 Feb 2012 12:55:32 +0000 (13:55 +0100)]
Revert "Added coverage to unit test for TTParser"

This reverts commit 77c430717681ad299917db85c878db8f21f2e4dc.

10 years agoRevert "Bug 5327: Patch removes unneeded self=shift from TTParser::unshift_token"
Paul Poulain [Wed, 15 Feb 2012 12:54:44 +0000 (13:54 +0100)]
Revert "Bug 5327: Patch removes unneeded self=shift from TTParser::unshift_token"

This reverts commit d0bb27bf230fb06d4ad263574df811bb67d5d4a2.
see : http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=5327#c171

10 years agoMerge remote-tracking branch 'origin/new/bug_5327'
Paul Poulain [Wed, 15 Feb 2012 09:49:53 +0000 (10:49 +0100)]
Merge remote-tracking branch 'origin/new/bug_5327'

10 years agoAdded coverage to unit test for TTParser
Duncan Tyler [Thu, 8 Dec 2011 22:29:53 +0000 (11:29 +1300)]
Added coverage to unit test for TTParser

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Test passes.

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
10 years agoBug 5327: Patch removes unneeded self=shift from TTParser::unshift_token
Chris Hall [Thu, 8 Dec 2011 22:04:19 +0000 (11:04 +1300)]
Bug 5327: Patch removes unneeded self=shift from TTParser::unshift_token

Removed  unneeded self=shift from unshift_token
(as peek and next do not take a self, makes interface more consistent)

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
10 years agoBug 7432 : Fixing caching for C4::Languages
Chris Cormack [Thu, 2 Feb 2012 23:44:17 +0000 (12:44 +1300)]
Bug 7432 : Fixing caching for C4::Languages

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
10 years agoBug 7432 : Fixing caching for SQLHelper
Chris Cormack [Thu, 2 Feb 2012 23:39:43 +0000 (12:39 +1300)]
Bug 7432 : Fixing caching for SQLHelper

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
10 years agoBug 7432 : Fix how we are setting expiry time when caching
Chris Cormack [Thu, 2 Feb 2012 23:35:21 +0000 (12:35 +1300)]
Bug 7432 : Fix how we are setting expiry time when caching

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
10 years agoBug 6598 [REVISED] OPACFineNoRenewals syspreference does not stop user renewing in...
Owen Leonard [Tue, 11 Oct 2011 18:52:19 +0000 (14:52 -0400)]
Bug 6598 [REVISED] OPACFineNoRenewals syspreference does not stop user renewing in opac

This patch standardizes the condition under which renewal controls
are displayed at the page (as opposed to item) level. In some
places "canrenew" was used, in others "patron_flagged" was used.
Now "canrenew" controls renew controls and "patron_flagged" only
triggers the display of user warnings.

This patch also allows for renewal information to be displayed
for each item in situations where OPAC renewals are allowed but
disabled for whatever reason. This gives the patron information
about used/available renew counts but hides renew controls.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
10 years agoBug 6299 follow-up DBrev
Paul Poulain [Tue, 14 Feb 2012 20:37:17 +0000 (21:37 +0100)]
Bug 6299 follow-up DBrev

10 years agoBug 6299 - Advertise this addition during upgrade
Tomas Cohen Arazi [Thu, 4 Aug 2011 20:47:42 +0000 (17:47 -0300)]
Bug 6299 - Advertise this addition during upgrade

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
August 10, 2011: Fixed some small typos.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Oct 7th, 2011: rebased for master

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
10 years agoBug 6299 - add es-ES
Tomas Cohen Arazi [Wed, 10 Aug 2011 14:46:17 +0000 (11:46 -0300)]
Bug 6299 - add es-ES

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Confirmed that the RELTERMS authorised values category is populated. Not
knowing Spanish I can't comment on the translations, but any errors can be
corrected at a later date.

10 years agoBug 6299 Add relator codes for fr-FR
Frédéric Demians [Mon, 30 Jan 2012 18:14:04 +0000 (19:14 +0100)]
Bug 6299 Add relator codes for fr-FR

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Confirmed that the RELTERMS authorised values category is populated. Not
knowing French I can't comment on the translations, but any errors can be
corrected at a later date.

10 years agoBug 6299 - Provide a list of authorized values for Relator terms
Tomas Cohen Arazi [Tue, 7 Jun 2011 14:27:37 +0000 (11:27 -0300)]
Bug 6299 - Provide a list of authorized values for Relator terms

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
August 10,2011: Tested install and upgrade.

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
January 28, 2012: Removed untranslated non-en SQL relator term files.

10 years agoBug 6838: Add pagination and filtering on subscriptions table
Julian Maurice [Fri, 2 Sep 2011 14:30:18 +0000 (16:30 +0200)]
Bug 6838: Add pagination and filtering on subscriptions table

Use dataTables plugin

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
10 years agoFix for Bug 5280 - Fix password field so that the password is masked as it is entered
Owen Leonard [Wed, 5 Oct 2011 16:04:12 +0000 (12:04 -0400)]
Fix for Bug 5280 - Fix password field so that the password is masked as it is entered

This patch changes the password field to a password type input on
member-password.pl and adds a confirmation field to both member-password.pl
and memberentry.pl requiring that the password be re-entered to

Client-side and server-side validation for the two password fields has been added
to both pages. Multiple error messages can now be displayed together on

If the user wishes for Koha to suggest a random password on member-password.pl
they can click a link which will remove the password-type input fields, replace
them with text-type fields, and automatically fill them with the random
password suggestion.

Follow-up fix lets the members.js correctly handling errors when there are
no mandatory fields

LR followup: fixing slight error that corrects previously reported template error.

Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Tested password setting/changing utilities - all work as expected and described.
Passes prove t xt t/db_dependent tests congruent with current master failures (adds no new fails).

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
10 years agoBug 6634 manager_id and itemnumber not populated when paying fines
Maxime Pelletier [Tue, 7 Feb 2012 15:37:49 +0000 (10:37 -0500)]
Bug 6634 manager_id and itemnumber not populated when paying fines

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
10 years agoMerge remote-tracking branch 'origin/new/bug_5327'
Paul Poulain [Mon, 13 Feb 2012 14:06:16 +0000 (15:06 +0100)]
Merge remote-tracking branch 'origin/new/bug_5327'

10 years agoBug 5327 : Removing a broken test
Chris Cormack [Fri, 10 Feb 2012 22:09:21 +0000 (11:09 +1300)]
Bug 5327 : Removing a broken test

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
10 years ago7392 last follow up
Marcel de Rooy [Mon, 13 Feb 2012 11:24:56 +0000 (12:24 +0100)]
7392 last follow up

Fixes typo for marcstd option in template

10 years agoBug 7345 DBrev numbering
Paul Poulain [Mon, 13 Feb 2012 11:21:59 +0000 (12:21 +0100)]
Bug 7345 DBrev numbering

10 years agobug 7345 tiny change = replacing () by --
Paul Poulain [Mon, 13 Feb 2012 11:21:33 +0000 (12:21 +0100)]
bug 7345 tiny change = replacing () by --

In the syspref description there is a () that could be confusing with possible values that are also displayed with ()
replacing them by -- to avoid any mistake

10 years ago7392 Followup on pref description
Marcel de Rooy [Mon, 16 Jan 2012 12:09:28 +0000 (13:09 +0100)]
7392 Followup on pref description

Updating text only for description of opaccolorstylesheet and opaclayoutstylesheet.

10 years agoBug 7392: Follow-up
Katrin Fischer [Sat, 14 Jan 2012 15:06:40 +0000 (16:06 +0100)]
Bug 7392: Follow-up

Patch makes changes according to QA comments:
- entering an unknown format code will generate no entry in the OPAC pull down
- small change to the description of opaclayoutstylesheet system preference

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
10 years agoBug 7392: Add system preference to define export options in OPAC
Katrin Fischer [Sat, 31 Dec 2011 16:28:34 +0000 (17:28 +0100)]
Bug 7392: Add system preference to define export options in OPAC

NOTE: Patch depends on changes made for bug 7345 for the "marcstd" option.

It adds a new system preference 'OpacExportOptions':

The new system preference allows to give a list of | separated
values to define, which download options are offered in OPAC.
Possible options are listed in the system preference editor
and include the new export option 'marcstd' from bug 7345.

The sequence of the download options in the system preference will
be the sequence in the OPAC pull down.

If left empty, the export option will be hidden from OPAC.

This patch creates a new include file for the OPAC with all the
code that is common to the three detail views (regular, MARC, and

As a side effect of creating this include file, some inconsistencies
in OpacSearchForTitleIn were fixed. {BIBLIONUMBER} and {CONTROLNUMBER}
were broken for ISBD and MARC view before and should now be replaced
with the correct values in all tabs.

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Resolved merge conflicts on sysprefs.sql and updatedatabase.pl.

Feb 13, 2012: Rebased it again.

10 years agoBug 7345: Enable exporting records sans private fields
Jared Camins-Esakov [Sun, 11 Dec 2011 01:14:52 +0000 (20:14 -0500)]
Bug 7345: Enable exporting records sans private fields

Add an option for marcstd to the opac-export.pl and catalogue/export.pl
scripts. This new format removes all 9XX, X9X, XX9 fields and subfield $9
(with the exception of 490 in flavours of MARC other than UNIMARC). The work is
done in C4::Record::marc2marc.

This patch adds the new export option 'marcstd' for exporting MARC
records without 9xx, x9x and xx9 fields and subfields to the staff
detail page.

Testing plan:
1. Export a record in "MARC (Unicode/UTF-8)" format as a control
2. In the OPAC, run the following jQuery to add the marcstd option to the UI:
> $("#export #format").append("<option value='marcstd'>MARC (no 9xx)</option>");
3. Export the same record in "MARC (no 9xx)" format
4. Compare the two, noticing that any subfield $9 or fields including 9 (other
   than 490 in flavours of MARC other than UNIMARC) have been removed

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Works as advertised now.
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
This patch squashes both the original patch and Katrin's follow-up adding
marcstd as an export option on the staff client.

Feb 13, 2012 (marcel): Amended this patch to resolved two definitions of $error in catalogue/export script.

10 years agoBug 7511 [ENH] Template caching (T::T feature)
Paul Poulain [Fri, 10 Feb 2012 08:45:34 +0000 (09:45 +0100)]
Bug 7511 [ENH] Template caching (T::T feature)

Just add to your Koha configuration file
in the <config> block, and Koha will use template caching, for about
10% CPU time saving.

on linux servers, /tmp is usually OK

(also fixes an indenting with a TAB)

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
The results of using this are very striking. Based on an insufficient
sample size, it would seem that the time spent in T::T is reduced by a
factor of at least 5.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
10 years agoBug 7519 - show patron's street number in search results
Robin Sheat [Fri, 10 Feb 2012 01:33:29 +0000 (14:33 +1300)]
Bug 7519 - show patron's street number in search results

When searching for a patron in the staff client, their address is shown.
However, the street number component isn't included. This includes it.

Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
It works as announced. I confirm that street number isn't displayed on patron
search result table without this patch, and is displayed with this patch.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
10 years agoBug 7501: OPAC auth browser should have alternating colors
Jared Camins-Esakov [Sat, 4 Feb 2012 17:39:12 +0000 (12:39 -0500)]
Bug 7501: OPAC auth browser should have alternating colors

Test plan:

1. Access authority browser in OPAC. Note that all rows have the same background
2. Apply patch, notice that colors now alternate.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
10 years agoBug 7090 follow-up, setting DBrev number when pushing
Paul Poulain [Fri, 10 Feb 2012 18:43:54 +0000 (19:43 +0100)]
Bug 7090 follow-up, setting DBrev number when pushing

10 years agobug_7090: AllowItemsOnHandCheckout syspref
Srdjan Jankovic [Wed, 21 Dec 2011 08:26:30 +0000 (21:26 +1300)]
bug_7090: AllowItemsOnHandCheckout syspref

Observe AllowItemsOnHandCheckout syspref when using SIP self checkout

Signed-off-by: Liz Rea <wizzyrea@gmail.com>
To test:
* place an item on hold for patron A
* attempt to circulate that item to patron B (via SIP/selfcheck)
syspref off: item should not circulate to patron B
Syspref On: item should circulate to patron B

Both conditions passed in our testing.
Also verified that normal staff client behavior regarding this situation was preserved. It was.

10 years agoMerge remote-tracking branch 'origin/new/bug_6865'
Paul Poulain [Fri, 10 Feb 2012 15:09:19 +0000 (16:09 +0100)]
Merge remote-tracking branch 'origin/new/bug_6865'

10 years agoBug 6865 - Follow-up, Replace image-based gradient backgrounds with CSS3 gradients
Owen Leonard [Tue, 24 Jan 2012 13:34:55 +0000 (08:34 -0500)]
Bug 6865 - Follow-up, Replace image-based gradient backgrounds with CSS3 gradients

Staff client login screen has a separate CSS file which wasn't
included in the original changes for Bug 6865. This caused a 404
error (missing background image).

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Tested in Chrome, FF, Safari, and IE8.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
10 years agoBug 7147 - Style Z39.50 search errors according to style patterns
Owen Leonard [Thu, 2 Feb 2012 17:59:22 +0000 (12:59 -0500)]
Bug 7147 - Style Z39.50 search errors according to style patterns

Styles Z39.50 errors and messages in the standard style.

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
10 years agoBug 7505 Superlibrarian can't export all biblios when IndependantBranches is enabled
Frédéric Demians [Mon, 6 Feb 2012 19:00:24 +0000 (20:00 +0100)]
Bug 7505 Superlibrarian can't export all biblios when IndependantBranches is enabled

When a Koha user has superlibrarian permissions, and if
IndependantBranches is enabled, in Tools > Export bibliographic and
holdings, this user can't export all biblio records. He will just export
the biblio from the branch he belongs to.

This patch fix that.

To test:

  - Do a ALL records export as superlibrian on a multi-branches Koha instance
  - Examine the resulting MARC file with the tool of your choice (MArcEdit,
    yaz-marcdump, etc.)
  - You will see that 952/995 contains exlusively items from your branch (as
    Koha user)

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
10 years agoBug 7457: log cleaning on basket.pl
Adrien Saurat [Tue, 31 Jan 2012 14:17:07 +0000 (15:17 +0100)]
Bug 7457: log cleaning on basket.pl

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
10 years agoMerge remote-tracking branch 'origin/new/bug_6842'
Paul Poulain [Fri, 10 Feb 2012 14:19:20 +0000 (15:19 +0100)]
Merge remote-tracking branch 'origin/new/bug_6842'

10 years agoSmall fix to allow help popup in IE9, not 7 or 8 - bug 7339
Duncan Tyler [Tue, 20 Dec 2011 00:37:18 +0000 (13:37 +1300)]
Small fix to allow help popup in IE9, not 7 or 8 - bug 7339

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
11 years agoMerge remote-tracking branch 'origin/new/bug_929'
Paul Poulain [Tue, 7 Feb 2012 15:43:29 +0000 (16:43 +0100)]
Merge remote-tracking branch 'origin/new/bug_929'

11 years agoBug 929 : Follow up, shifting test
Chris Cormack [Mon, 30 Jan 2012 23:37:43 +0000 (12:37 +1300)]
Bug 929 : Follow up, shifting test

11 years agoError in records.abs for marc21/biblios
Janusz Kaczmarek [Mon, 6 Feb 2012 14:44:36 +0000 (15:44 +0100)]
Error in records.abs for marc21/biblios

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
11 years agoBug 7127 - Follow-up - Templates must be valid XHTML
Owen Leonard [Thu, 26 Jan 2012 20:00:36 +0000 (15:00 -0500)]
Bug 7127 - Follow-up - Templates must be valid XHTML

Corrections to OPAC search results and lists pages for validity
errors: duplicate ids, invalidly placed elements, unescaped

The change to localcovers.js adds a check for <span> in addition
to <div> so that the results template can use a <span>

The <form> tag has been removed from the inline tag entry
markup in order to correct a display error in Internet Explorer 8.
Removing it doesn't affect functionality or validity.

To test: Validate the HTML of the OPAC results page and an OPAC
list contents page (/cgi-bin/koha/opac-shelves.pl?viewshelf=XX).
Verify the functinality of adding tags on both pages with the
TagsInputOnList system preference enabled. Verify that local
cover images are display on search results and detail pages.

Includes fixes for errors spotted by QA


Signed-off-by: Ian Walls <koha.sekjal@gmail.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
11 years agoBug 7127 - Templates must be valid XHTML
Owen Leonard [Tue, 1 Nov 2011 18:14:51 +0000 (14:14 -0400)]
Bug 7127 - Templates must be valid XHTML

Replaces & with &amp; on several template pages

Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
11 years agoBug 6943: Added ability to duplicate a budget tree (from the edit sub menu)
Chris Hall [Thu, 24 Nov 2011 21:44:45 +0000 (10:44 +1300)]
Bug 6943: Added ability to duplicate a budget tree (from the edit sub menu)

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
- all new javascript alerts have translations markers _()
- hierarchies and permissions were copied correctly

Possible enhancements:
- make it possible to move orders from old to new funds
- make it possible to change description while copying, saving 1 additional

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
11 years agoBug 6490 - Lost and paid not updated when book is checked out.
Kyle M Hall [Thu, 2 Feb 2012 15:15:43 +0000 (10:15 -0500)]
Bug 6490 - Lost and paid not updated when book is checked out.

Signed-off-by: Liz Rea <wizzyrea@gmail.com>

item checked out and marked lost - item is removed from borrower's checkouts and charged to patron
Checking out the item (without checking it in first) removed the fines and issued the item normally.

Passed prove t xt t/db_dependent (results congruent with current master failures)

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
11 years agoBug 7466 - Cart notification popup should appear onscreen even when button isn't
Owen Leonard [Tue, 24 Jan 2012 20:46:20 +0000 (15:46 -0500)]
Bug 7466 - Cart notification popup should appear onscreen even when button isn't

This patch compares the scroll position of the window with the page
position of the cart button and displays the cart notification
popup at the top of the visible page if the cart button has moved

Includes fix for OPAC and staff client.

Signed-off-by: Aleksa Vujicic <aleksa@catalyst.net.nz>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
11 years agoBug 7453: All patrons should have an expiry date
Katrin Fischer [Fri, 20 Jan 2012 07:08:24 +0000 (08:08 +0100)]
Bug 7453: All patrons should have an expiry date

Fixes sample data. All patrons should always have an expiry date.

To test:
Load sample patron data and check that all patrons have an expiry date.

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
11 years agoBug 6314 XSL UNIMARC Improvments
Frédéric Demians [Fri, 6 May 2011 06:43:34 +0000 (08:43 +0200)]
Bug 6314 XSL UNIMARC Improvments

- Exclude 'marc' & 'item' prefix from UNIMARC util XSL to slim down
- Add missing NSB/NSE characters striping
- 200 fields on result/detail page: show all subfields in order, link to
  detail page only on $a
- 4xx display, more fields and more subfields, respects subfields order
  which matter
- Improve RAMEAU authorities linkings to subdivisions (pure XSLT)
- Add missing fields: 205, 500
- Add missing MARC21 syspref:
  - DisplayOPACiconsXSLT, not implemtable in UNIMARC
  - OPACURLOpenInNewWindow
  - URLLinkText
  - ShowISBD
  Sidenote: this should have been done by people having introduced those
  syspref into MARC21 XSL.


Signed-off-by: Alex Arnaud <alex.arnaud@biblibre.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
11 years agoBug 5674: patron name sort ignoring case when placing holds.
Garry Collum [Wed, 1 Feb 2012 17:35:27 +0000 (12:35 -0500)]
Bug 5674: patron name sort ignoring case when placing holds.

Fixes the patron name sorting when placing holds.

Testing - See Bug 5674.
Create two patrons.  One named SMITH, THOMAS and the other Smith, John.
Search for an item to place on request.  Do a patron search for Smith.

Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Confirm both the original bug and the fix, sorting is correct now.
Patch does not change status of tests - prove t t/db_dependent xt no different from master.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
11 years agoBug 6323 -- Error handling cleanup for moveitem.tt
Liz Rea [Wed, 28 Sep 2011 14:04:14 +0000 (09:04 -0500)]
Bug 6323 -- Error handling cleanup for moveitem.tt

Added button to retry attaching item, added default bib view handling, cosmetic changes to the error display (buttons now in error div).

Incorporates changes that should satisfy QA.

To test:
Find a bib with multiple items and grab one of the barcodes.
Go to a second bib and click Edit -> Attach item
Paste your barcode in there and click "Submit"
Click the "Try again with a different barcode" button. It should take you back to the barcode entry screen.

Also try with a non-existent barcode and verify that the button appears and works as intended.

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
11 years agoBug 7238 : Shifting SIPconfig.xml to the etc dir and the scripts to misc/bin
Chris Cormack [Thu, 17 Nov 2011 00:17:01 +0000 (13:17 +1300)]
Bug 7238 : Shifting SIPconfig.xml to the etc dir and the scripts to misc/bin

Signed-off-by: Liz Rea <wizzyrea@gmail.com>
The scripts run with the caveat that you must specify the path to SIPconfig.xml. The followup previously attached should take care of that issue.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
11 years agoBug 7238 Followup - fix sip_run to require path to SIPconfig.xml
Liz Rea [Sun, 1 Jan 2012 03:41:03 +0000 (21:41 -0600)]
Bug 7238 Followup - fix sip_run to require path to SIPconfig.xml

This requires Chris C's patch to move the scripts to the new location outside of C4.

To test:
run sip_run.sh with no arguments - it should fail with a message to add the path and try again.

Run sip_run.sh with a path to a valid SIPconfig.xml - it should start and run.

11 years agoBug 7461 - Cart offering to remove items when closing
Owen Leonard [Tue, 24 Jan 2012 14:10:46 +0000 (09:10 -0500)]
Bug 7461 - Cart offering to remove items when closing

The "hide window" button in the cart called a quit() function
which deletes any checked items. My understanding of the "hide
window" button is that it should *only* hide the window, not
perform any other operations. I'm removing the calls to the
quit() function in both the OPAC and staff client and adding
a CSS class, "close," which is already tied via jQuery to
the window.close() function.

To test in both OPAC and staff client: Add items to the cart.
Try clicking the "hide window" button with items selected and
without. In both cases the window should close without affecting
the contents of the cart.

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
11 years agoBug 7472 Edit button ineffective when paying borrower fee
Frédéric Demians [Thu, 26 Jan 2012 09:39:52 +0000 (10:39 +0100)]
Bug 7472 Edit button ineffective when paying borrower fee

On payment page, the Edit button doesn't load anymore the current
borrower edit page.

To reproduce the bug:

- Define a borrower category 'foo' with Enrollment fee
- Create a new 'foo' borrower
- Click on Check out tab
- A message is displayed: Fees & Charges: Patron has Outstanding fees &
  charges of xx.00. Checkouts are BLOCKED because fine balance is OVER
  THE LIMIT. Make Payment
- Click on Payment link
- Click on Edit button
- You reach a page for creating a new borrower
  => you should reach the current borrower edition page

- Same issue on paycollect.tt template

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
11 years agoBug 7476 Remove executable bit from files that probably should not be executed
MJ Ray [Mon, 30 Jan 2012 21:06:57 +0000 (21:06 +0000)]
Bug 7476 Remove executable bit from files that probably should not be executed

Signed-off-by: Aleksa Vujicic <aleksa@catalyst.net.nz>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Amended to replace some copy-and-paste comments only with consent of MJR.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
11 years agoBug 7459 - Can only add to one public list in OPAC search results
Marcel de Rooy [Mon, 9 Jan 2012 12:10:51 +0000 (13:10 +0100)]
Bug 7459 - Can only add to one public list in OPAC search results

This makes the second and higher public list appear again in the AddTo combo of the search results screen.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
11 years agoBug 6984 - Holds statistics doesn't work.
Garry Collum [Wed, 1 Feb 2012 15:15:46 +0000 (10:15 -0500)]
Bug 6984 - Holds statistics doesn't work.

This patch fixes several errors in reserves_stats.pl and reserves_stats.tt.

Testing -
To test this patch, data must be in either the reserves table or old_reserves or both.  The following SQL will give you the raw data that is used by the report.

SELECT priority, found, reservedate, notificationdate, reminderdate,
waitingdate, cancellationdate, borrowers.categorycode, items.itype,
reserves.branchcode, holdingbranch, items.homebranch, items.ccode,
items.location, items.itemcallnumber, borrowers.sort1, borrowers.sort2
FROM reserves
LEFT JOIN borrowers on (borrowers.borrowernumber = reserves.borrowernumber)
LEFT JOIN items on (items.itemnumber = reserves.itemnumber)
UNION SELECT priority, found, reservedate, notificationdate, reminderdate,
waitingdate, cancellationdate, borrowers.categorycode, items.itype,
old_reserves.branchcode, holdingbranch, items.homebranch, items.ccode,
items.location, items.itemcallnumber, borrowers.sort1, borrowers.sort2
FROM old_reserves
LEFT JOIN borrowers on (borrowers.borrowernumber = old_reserves.borrowernumber)
LEFT JOIN items on (items.itemnumber = old_reserves.itemnumber)

To test the notificationdate and reminderdate, I added data to the old_reserves table, since I have never run notices on my test machine.

UPDATE old_reserves
SET notificationdate = "2012-01-29",
reminderdate = "2012-01-29"
WHERE timestamp = "2012-01-29 20:09:34";

Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Confirm original bug -- Reports work as expected now!
prove t xt t/db_dependent no different from master.

11 years agobug 7450 small follow-up, removing warn
Paul Poulain [Fri, 3 Feb 2012 11:09:24 +0000 (12:09 +0100)]
bug 7450 small follow-up, removing warn

removing an unconditional warn. It was already here before the patch,
but my pre-applypatch script complained, so I fix as a follow-up

11 years agoBug 7450: missing placeholders in authorised_values.pl
Adrien Saurat [Tue, 17 Jan 2012 11:00:32 +0000 (12:00 +0100)]
Bug 7450: missing placeholders in authorised_values.pl

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Successfully added, edited and deleted authorised values.
No problems found.

11 years agoBug 7431: Fixes the display of the due date in opac item specific holds.
Garry Collum [Sat, 28 Jan 2012 19:36:18 +0000 (14:36 -0500)]
Bug 7431: Fixes the display of the due date in opac item specific holds.

Fixes the reference to the due date in opac-reserve from date_due to dateDue as defined int opac-reserve.pl.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
11 years agoBug 7355 Note subfields are not displayed in TEXTAREA if hidden
Frédéric Demians [Wed, 14 Dec 2011 07:52:32 +0000 (08:52 +0100)]
Bug 7355 Note subfields are not displayed in TEXTAREA if hidden

In the data entry form, there is a (hidden) functionality for note subfields.
MARC21 500-599 and UNIMARC 300-399 subfields are displayed in TEXTAREA rather
than INPUT tags. This is good since usually notes can be pretty long. But if
one of those fields is marked in the framework as 'hidden', then it isn't
displayed at first when you create a record and when you expand the field by
clicking on its label the field is displayed in a one-line INPUT tag.

To reproduce this bug:

- Modify your framework:
  MARC21: 500$a, hidden=1
  UNIMARC: 300$a, hidden=1
- Create a new biblio record with this framework
- Open the tab containing 500 or 300 field
- 500 or 300 tab is collapsed
- Click on 500 or 300 label to expand the field
- 500$a or 300$a is displayed in a one-line INPUT tag, not in a TEXTAREA
  as it should

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Test plan works. Also checked cloning and deleting
subfields still works.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Works as advertised. Simplifies code too. Well documented test plan.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
11 years agoMerge remote-tracking branch 'origin/new/bug_6964'
Paul Poulain [Fri, 3 Feb 2012 08:19:04 +0000 (09:19 +0100)]
Merge remote-tracking branch 'origin/new/bug_6964'

11 years ago6964 Follow-up typo borrowenumber
Marcel de Rooy [Fri, 3 Feb 2012 07:46:39 +0000 (08:46 +0100)]
6964 Follow-up typo borrowenumber

11 years agoMerge remote-tracking branch 'origin/new/bug_7190'
Paul Poulain [Thu, 2 Feb 2012 17:17:42 +0000 (18:17 +0100)]
Merge remote-tracking branch 'origin/new/bug_7190'

11 years agoMerge remote-tracking branch 'origin/new/bug_6964'
Paul Poulain [Thu, 2 Feb 2012 15:22:36 +0000 (16:22 +0100)]
Merge remote-tracking branch 'origin/new/bug_6964'

11 years agoBug 6964 follow-up
Paul Poulain [Thu, 2 Feb 2012 15:22:24 +0000 (16:22 +0100)]
Bug 6964 follow-up

Seems everybody forgot to test paycollect, as there was a syntax error !

11 years agoMerge remote-tracking branch 'origin/new/bug_6210'
Paul Poulain [Thu, 2 Feb 2012 14:35:38 +0000 (15:35 +0100)]
Merge remote-tracking branch 'origin/new/bug_6210'

11 years agoBug 6210 follow-up, removing warn
Paul Poulain [Thu, 2 Feb 2012 14:35:26 +0000 (15:35 +0100)]
Bug 6210 follow-up, removing warn

See http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=6210#c27
and http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=6210#c28

11 years agoMerge remote-tracking branch 'origin/new/bug_6488'
Paul Poulain [Thu, 2 Feb 2012 14:21:45 +0000 (15:21 +0100)]
Merge remote-tracking branch 'origin/new/bug_6488'

11 years agoBug 6488 adding a 2nd \n to silence logs
Paul Poulain [Thu, 2 Feb 2012 14:21:25 +0000 (15:21 +0100)]
Bug 6488 adding a 2nd \n to silence logs

YAML don't like when you try to open a YAML file with just a \n. This patch add a 2nd \n to silence logs.

11 years agobug_7190: Do not reverse writeoffs when item is returned
Srdjan Jankovic [Tue, 31 Jan 2012 02:36:44 +0000 (15:36 +1300)]
bug_7190: Do not reverse writeoffs when item is returned

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
11 years agoFix for Bug 7148 - Add some error handling to Acquisitions' Z39.50 search to match...
Owen Leonard [Thu, 3 Nov 2011 14:22:11 +0000 (10:22 -0400)]
Fix for Bug 7148 - Add some error handling to Acquisitions' Z39.50 search to match Cataloging's

- Copying over error handling for timeout(10007) and refused(10000)
- Copying over error handling for submission with no targets chosen
- Correcting "cancel" link in the template which was not modified
  when it was copied from cataloging's popup window template.

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
11 years agoBug 7005 follow-up fix coding guidelines broken
Paul Poulain [Thu, 2 Feb 2012 11:04:55 +0000 (12:04 +0100)]
Bug 7005 follow-up fix coding guidelines broken

11 years agoBug 7005: Writeoff all now has a confirmation dialog.
Aleksa Vujicic [Thu, 19 Jan 2012 02:01:19 +0000 (15:01 +1300)]
Bug 7005: Writeoff all now has a confirmation dialog.

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
11 years agoBug 6964 - 'Add child' function should be dependant on system preference 'borrowerRel...
Aleksa Vujicic [Fri, 20 Jan 2012 03:00:19 +0000 (16:00 +1300)]
Bug 6964 - 'Add child' function should be dependant on system preference 'borrowerRelationship'

The 'Add Child' button is not shown if 'borrowerRelationship' is empty.

System preference description changed.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
11 years agoBug 6933 follow-up, perltyding new script list.pl
Paul Poulain [Thu, 2 Feb 2012 09:17:43 +0000 (10:17 +0100)]
Bug 6933 follow-up, perltyding new script list.pl

11 years agoBug 6933 [REVISED] Add a view of titles with a particular tag to the staff client
Owen Leonard [Wed, 28 Sep 2011 16:44:26 +0000 (12:44 -0400)]
Bug 6933 [REVISED] Add a view of titles with a particular tag to the staff client

- Adds a new page to the tags moderation section for viewing all the
  titles tagged with a particular term.
- Adds display of approved tags to the catalog detail page matching the opac
  view. Adding tags from the detail view not implemented.

Follow-up adds tags display to XSLT detail view

Areas for improvement:

- I think it would be better to show "Also tagged with:" and exclude
  the current tag from the list of titles tagged with a particular tag.
- It would be nice to be able to show unapproved tags (and some idication of
  their status) along with approved tags on the detail page if the user had
  TagsModeration permission.

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
11 years agoBug 6913: More options for koha-create and koha-remove
Jared Camins-Esakov [Sat, 8 Oct 2011 19:34:24 +0000 (15:34 -0400)]
Bug 6913: More options for koha-create and koha-remove

This commit makes koha-create more flexible by adding a number of command-line
and configuration options.

The biggest change is to add support for pre-determined MySQL credentials using
a file in /etc/koha/passwd (for security reasons, if you use this feature, make
sure the file is not world-readable). The configuration file has the following
The database is optional, but the other two are both required if you want to
specify MySQL credentials. If no credentials are specified for a given instance,
the standard koha_instance username and an auto-generated password are used.

The following additional command line options are now available:
* --use-db - use a pre-existing database, see also --database
* --database - specify the name of the mysql database (still defaults to
* --passwdfile - specify a custom (Koha) passwd file for MySQL credentials

The following additional variables are now available (for use in
koha-sites.conf or a custom config file):
* OPACPORT (previously added but not documented) - port on which the OPAC
  should be served
* OPACPREFIX - prefix for the OPAC's virtual host
* OPACSUFFIX - suffix for the OPAC's virtual host

This commit also adds the --keep-mysql option to koha-remove, which, if
specified, will prevent koha-remove from deleting the database or MySQL user
when removing an instance.

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
11 years agoBug 6913 - change how ports are handled by koha-create
Robin Sheat [Sun, 25 Sep 2011 23:04:13 +0000 (12:04 +1300)]
Bug 6913 - change how ports are handled by koha-create

This does two things:
* Allows OPACPORT to be specified to change the default OPAC port,
* removes the port number from the ServerName directive, as it's already
  handled by the VirtualHost declaration.

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
11 years agoAdding Jorgia Kelsey and Peter Lorimer as contributors
Paul Poulain [Thu, 2 Feb 2012 08:06:51 +0000 (09:06 +0100)]
Adding Jorgia Kelsey and Peter Lorimer as contributors

11 years agoBug 6843 follow-up DBrev
Paul Poulain [Wed, 1 Feb 2012 22:09:30 +0000 (23:09 +0100)]
Bug 6843 follow-up DBrev

11 years agoRenew membership from expiry date or from current date based on a syspref
Koustubha Kale [Wed, 14 Dec 2011 10:18:16 +0000 (15:48 +0530)]
Renew membership from expiry date or from current date based on a syspref

This patch adds a system preference under Patron -> BorrowerRenewalPeriodBase
Using this preference the patch allows renewal of Patron account either from todays date or from existing expiry date in the patrons account.

To test : Apply patch; Set System Preference BorrowerRenewalPeriodBase ( under Patron ) to "current membership expiry date";
Renew a patron; You will observe that patrons account expiry date has been calculated from previuos expiry date instead of today's date
( as is the default in Koha prior to this patch ).

11 years agoBug 6842 FU : library transfer limits edits not stored
Henri-Damien LAURENT [Thu, 22 Dec 2011 05:23:35 +0000 (06:23 +0100)]
Bug 6842 FU : library transfer limits edits not stored

Followup :
Changes the DeleteBranchTransferLimits signature :
one now needs to delete only the limits for ONE branch

11 years agoBug 6842 Alternate fix, Branch transfer limits broken
Owen Leonard [Wed, 28 Dec 2011 16:41:16 +0000 (11:41 -0500)]
Bug 6842 Alternate fix, Branch transfer limits broken

The patch which moved the table pager markup into an
include undid the fix which was previously pushed for
this problem. Re-implementing the fix in the pager
include is a simpler fix which doesn't depend on
the Datatables plugin.

The markup change in table-pager.inc fixes the problem
in branch transfer limits and does not affect functionality
on other pages.

The changes in this patch to branch_transfer_limits.tt and
staff-global.css are for cosmetic reasons only.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Saving changes works now correctly. I tried:
- uncheck all for a branch
- check all for a branch
- making changes for different itemtypes on different tabs

11 years agoadding 3 contributors from catalyst OpenSource academy
Paul Poulain [Wed, 1 Feb 2012 17:23:16 +0000 (18:23 +0100)]
adding 3 contributors from catalyst OpenSource academy

they contributed tests

11 years agoMerge remote-tracking branch 'origin/new/bug_5327'
Paul Poulain [Wed, 1 Feb 2012 17:15:45 +0000 (18:15 +0100)]
Merge remote-tracking branch 'origin/new/bug_5327'

11 years agoBug 5327 - move another test around
Robin Sheat [Wed, 1 Feb 2012 00:52:53 +0000 (13:52 +1300)]
Bug 5327 - move another test around

11 years agoBug 5327: Shifting a db dependent test to the right place
Chris Cormack [Mon, 30 Jan 2012 23:48:13 +0000 (12:48 +1300)]
Bug 5327: Shifting a db dependent test to the right place

Signed-off-by: Robin Sheat <robin@catalyst.net.nz>
11 years agobug 6631 follow-up adding author in contributors list
Paul Poulain [Wed, 1 Feb 2012 16:56:42 +0000 (17:56 +0100)]
bug 6631 follow-up adding author in contributors list

11 years agoBug 6631: Anonymous users can create lists in OPAC
Aleksa Vujicic [Tue, 24 Jan 2012 01:09:34 +0000 (14:09 +1300)]
Bug 6631: Anonymous users can create lists in OPAC

Made opac-addbybiblionumber.pl page require authentication.

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
11 years agoBug 6539 follow-up, fixing wrong indentation
Paul Poulain [Wed, 1 Feb 2012 16:51:05 +0000 (17:51 +0100)]
Bug 6539 follow-up, fixing wrong indentation

11 years agoBug 6539 - When searching the catalogue, if I get no results then hit the Z39.50...
Peter Lorimer [Thu, 30 Jun 2011 08:47:55 +0000 (09:47 +0100)]
Bug 6539 - When searching the catalogue, if I get no results then hit the Z39.50 search the title field in the pop up window is populated with what I searched for.

If I search for a valid ISBN number and hit the Z39.50 search, the title field
is populated with the ISBN number I searched for. This number should populate
the ISBN field and not the title field.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
To test:
- Search new ISBN using ISBN search from advanced search page
- 0 results - click on Z39.50 search
- Z30.50 form will have your ISBN in ISBN search option

I am signing off on this, because it's an improvement over the current

I see some  problems though that should perhaps be addressed in a separate
bug or as a follow-up:

If you use th catalog search field and search for an ISBN or
a keyword the right fields of the Z39.50 search form will be populated, but
the search index will be put in front:

ISBN: kw,wrdl: 9783492251495
Title: kw,wrdl: koha testing

If you search for ISBN as keyword on the advanced search page, it will
still populate the Title search.

Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
11 years agoBug 6210 - Follow up, Choose framework on merge
Owen Leonard [Tue, 24 Jan 2012 15:44:11 +0000 (10:44 -0500)]
Bug 6210 - Follow up, Choose framework on merge

- Adding subtitle to the display of titles to be merged
- Adding a link to preview the MARC record of titles to be merged
- Fixing up markup of form to improve appearance
- Correcting breadcrumbs

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
11 years agobug_6210: Select framework if merging two records with different frameworks
Srdjan Jankovic [Mon, 19 Dec 2011 06:22:49 +0000 (19:22 +1300)]
bug_6210: Select framework if merging two records with different frameworks

ModBiblio() - set framework to "" if "Default"

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
All 4 tests passed:

Test 1:  Merge two records with the same framework
    Desired result:  shouldn't get any prompting to pick a framework, and the
same framework should be used

    Test 2:  2 records, different frameworks, into the kept record's framework
    Desired result:  merge with kept records framework used

    Test 3:  2 records, different frameworks, into the discarded record's
    Desired result:  merge with used records framework used

    Test 4:  2 records, different frameworks, into a third framework
    Desired result:  merge with third framework used

11 years agobug_6488: Take in account opachiddenitems when searching in opac
Srdjan Jankovic [Mon, 23 Jan 2012 04:04:02 +0000 (17:04 +1300)]
bug_6488: Take in account opachiddenitems when searching in opac

Changed searchResults() interface
Added trailing \n when parsing OpacHiddenItems to make YAML happy
XSLTParse4Display() and buildKohaItemsNamespace() take hidden
items as input param
Removed numbering from the search results, looks wrong with
hidden items

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
11 years agoMerge remote-tracking branch 'origin/new/bug_5327'
Paul Poulain [Tue, 31 Jan 2012 16:30:28 +0000 (17:30 +0100)]
Merge remote-tracking branch 'origin/new/bug_5327'

11 years agoBug 5327 added tests for C4/Languages.pm
Sam Sanders [Thu, 19 Jan 2012 01:15:45 +0000 (14:15 +1300)]
Bug 5327 added tests for C4/Languages.pm

Signed-off-by: Chris Hall <chrish@catalyst.net.nz>
11 years agoBug 5327 Added unit tests for C4/SIP/ILS/Transaction/Renew.pm
Connor Dewar [Wed, 18 Jan 2012 02:33:43 +0000 (15:33 +1300)]
Bug 5327 Added unit tests for C4/SIP/ILS/Transaction/Renew.pm

Signed-off-by: Chris Hall <chrish@catalyst.net.nz>
11 years agoBug 5327 added unit tests for C4/TmplToken.pm
Bart Jorgensen [Wed, 18 Jan 2012 23:08:58 +0000 (12:08 +1300)]
Bug 5327 added unit tests for C4/TmplToken.pm

Signed-off-by: Chris Hall <chrish@catalyst.net.nz>