Commit graph

570 commits

Author SHA1 Message Date
Paul Poulain
612b12f41b Merge remote-tracking branch 'origin/new/bug_8251' 2012-07-16 13:46:31 +02:00
9d4e241ada Bug 8251 - Follow up, use 'day' instead of 'days' for Datetime::truncate
As noted in comment #4 by Jonathan Druart, this should be fixed in every call
to DateTie::truncate function. This patch does exactly that.

julian_m tested that truncate( to => 'days' ) didn't actually do anything, so
it is understandable that this 'fix' might introduce new bugs as we might have
'fixed' at a higher libs level this issue.

'minutes' is used in truncate function too, so fixing.

Signed-off-by: Dobrica Pavlinusic <dpavlin@rot13.org>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-07-16 13:45:45 +02:00
Paul Poulain
0923e96cb4 Revert "Bug 7444: Update circ/circulation.pl to use KohaDates TT Plugin"
This reverts commit 186cfa5cb0.
2012-06-29 17:17:47 +02:00
3768602ae7 Bug 8043 - today's checkouts are in Previous checkouts in circulation.pl
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-06-20 23:25:31 +02:00
Ian Walls
186cfa5cb0 Bug 7444: Update circ/circulation.pl to use KohaDates TT Plugin
Removes all date formatting done in circ/circulation, and sets any/all date
outputs to iso format.  The formatting of dates is now handled in the template
using the KohaDates plugin.

This allows use to remove a dependency on C4/Dates.pm from the script.

This patch also removes the usage of C4/Overdues/CheckBorrowerDebarred.  Since
borrowers.debarred is returned by GetMemberDetails, it doesn't make sense to
include another module to run another MySQL query just to fetch the date again.

To Test:

1. View the checkout page for a patron with materials checked out today and in days past, as
well as items on reserve.
2. View a patron who is nearing their expiry date
3. Renew a patron
4. Renew a material from the checkout page using the renewal date selector
5. Attempt to checkout a book to a patron that is on hold for someone else
6. Attempt to checkout a book that is currently checked out
7. View a debarred patron

In all cases, any dates displayed should be in syspref format

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-06-11 18:02:26 +02:00
81edc91f37 Bug 8004 - Items on Hold Lose Transfer After Being Scanned Twice
When a hold is placed on an item where the pickup location is
different than the holding library, Koha initiates a branch
transfer for that item to fill that hold when items is run through
the returns system.

If the item is then run through returns a second time, the system is
supposed to close that transfer as a 'wrongtransfer', and open a new
transfer with the same from and to branches as the original.

The problem is that the original transfer is closed, but the new
transfer is not created. This is because at some point, someone
replaced the template variable WrongTransfer, which had previously
contained the branchcode for the library to transfer to, with the
full name of the library instead ( I assume to make a look nicer ).

Solved by removing the line that was changing the variable contents
from the branchcode to the branch name, and adding a new TT filter,
KohaBranchName that functions in the same way as KohaDates, except
it takes a branchcode and returns the branch name for the given
branchcode.

The consequence of this, is the the name of the library is passed to updateWrongTransfer instead of the branchcode, causing the failure.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-06-11 15:53:57 +02:00
Dobrica Pavlinusic
7c9e80536b Bug 8178 - circ/circulation.pl under plack duplicates checkout rows
Bug 7851 introduced our scoping for vairables, unfortunatly it has
side-effect that checkout rows accumulate on page reloads instead
of being initialized to empty array (which this patch fixes)

This also fixes %renew_failed initialization on each request.

Test scenario:
1. start intranet under plack
2. open /cgi-bin/koha/circ/circulation.pl and reload page few time
   confirming that rows gets duplicated
3. apply patch and reload page to verify that it works

Signed-off-by: Alex Arnaud <alex.arnaud@biblibre.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-06-10 13:02:05 +02:00
5e43e2f93d Bug 7951 - Suspending holds needs a system preference
Adds system preferences SuspendHoldsIntranet and SuspendHoldsOpac.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
2012-06-09 18:45:57 +02:00
2aff4b467b Bug 8167 - Add syspref allow a choice of blocking, non-blocking, or do nothing when issuing lost items.
Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Works as advertised.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-06-09 16:21:05 +02:00
ef0cf7b9a6 Bug 7747 - Replace YUI autocomplete with jQueryUI
In order to facilitate a more painless process for converting
to jQueryUI I will submit separate patches for various "widgets,"
starting with Autocomplete.

This patch replaces all instances of YUI autocomplete with
a jQueryUI version. The patch includes an up-to-date version
of jQuery and jQueryUI libraries.

The patch also moves some markup in instances where it should
have been removed in favor of a different include.

To test, find the various autocomplete instances and confirm
that they are working:

 - Circulation search header autocomplete
 - Overdues patron attribute authorized value filter (must
   have patron attributes enabled, and a patron attribute
   defined which uses authorized values.
 - Authorities search plugin. Edit a MARC record and use
   an authorities plugin link to do a search for authority
   records.

Incomplete: There is a YUI autocomplete instance in a UNIMARC
plugin (unimarc_field_210c_bis.tt) which I couldn't figure out
how to test, even on a sandbox set up with UNIMARC. I could use
help with a follow-up.

http://bugs.koha-community.org/show_bug.cgi?id=7447
Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Passes all tests outlined, is quite pretty.

Passes t xt

Signed-off-by: Ian Walls <koha.sekjal@gmail.com>
2012-05-31 18:07:55 +02:00
Srdjan
722ca127dd bug_8056: sorted out slip print calls
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
preference works as expected.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Tested that CircAutoPrintQuickSlip clear the screen still works well
2012-05-28 13:52:39 +02:00
de63880d08 Bug 8077 - overdues with fines won't run
When I try to run the overdues with fines report I get the following:
Software error:
Undefined subroutine &main::dt_from_string called at
kohaclone/circ/branchoverdues.pl line 116.

Fixed by add a use line for Koha::DateUtils to branchoverdues.pl

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-05-21 18:29:26 +02:00
Katrin Fischer
3e82127fb8 Bug 2034: Removing unused scripts billig.pl/billing.tt
- Scripts are currently not linked from anywhere in the templates
- Functionality can also be achieved with a custom report
- There are unresolved problems with the sql in the existig scripts

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-04-12 18:09:54 +02:00
Colin Campbell
e7971380e8 Bug 2505 : Switch on warnings in circ/returns.pl
Removed a compile time warning caused by a void context
in a bit of too clever obscure code

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-04-10 11:30:30 +02:00
d1dc3c0c2e Bug 7641 - Add ability to suspend reserves - Followup
* Switch from C4::Dates to $KohaDates
  * Fix 'Resume All Suspended All Requests'
  * Change button text to follow capitalization rules
  * Change 'requests' to 'holds'

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-04-06 17:23:10 +02:00
Katrin Fischer
45b26ffe98 Bug 7482: overdues report downloads without names
This patch is an alternate patch for the bug. Instead of having
one column 'name' for a concatenated first and last name it
adds 2 separate columns to the exported csv file.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-04-04 17:39:36 +02:00
Dobrica Pavlinusic
53a7fb7ba3 Bug 7851 - circ/circulation.pl plack scoping
Errors:

Variable "$totalprice" is not available at /srv/koha/circ/circulation.pl line 448.
Variable "%renew_failed" is not available at /srv/koha/circ/circulation.pl line 456.
Variable "$todaysdate" is not available at /srv/koha/circ/circulation.pl line 458.
Variable "@todaysissues" is not available at /srv/koha/circ/circulation.pl line 459.
Variable "@relissues" is not available at /srv/koha/circ/circulation.pl line 459.
Variable "@previousissues" is not available at /srv/koha/circ/circulation.pl line 461.
Variable "@relprevissues" is not available at /srv/koha/circ/circulation.pl line 461.

Test scenario:
1. go to circulation page
2. verify errors in console output of plack
3. apply patch
4. reload and verify that errors are gone

Signed-off-by: Alex Arnaud <alex.arnaud@biblibre.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-04-03 18:14:19 +02:00
f446b3d03d Bug 7641: Suspend Reserves
Adds the ability to suspend reserves. The new system preference
AutoResumeSuspendedHolds enables the ability to set a date for
a suspended hold to automatically be resumed.

When a hold is suspended, it will continue to increase in priority
as the holds above it are fulfilled. If the first holds in line
to be filled are suspended, the first non-suspened hold in line
will be used when an item can fulfill a hold that has been placed.

http://bugs.koha-community.org/show_bug.cgi?id=7641
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>

Tested with the preference on and off:
1. placed several holds in the staff client
2. suspended some with a date
3. suspended some without a date
4. triggered hold message by checking in for hold with suspensions
5. the suspended hold was skipped as it should be
6. tested suspending holds in the OPAC w and w/out dates
7. ran the cron to clear suspensions with dates

All the above tests worked as expected. Signing off.
2012-03-29 14:37:49 +02:00
Chris Cormack
0c40ff9f98 Merge remote-tracking branch 'kc/master' into merged_5549
Fixed conflicts

Conflicts:
	catalogue/moredetail.pl
	installer/data/mysql/updatedatabase.pl
	koha-tmpl/intranet-tmpl/prog/en/modules/admin/smart-rules.tt
2012-03-22 09:36:55 +13:00
Ian Walls
28309bc61e Bug 5549 Followup: fix suspension in days
ISO dates were being compared with DateTime objects, and DateTime::Durations
with integers.  This patch reimplements the _FixFineDaysOnReturn subroutine
to use the new hourly loans functionality.

Also moves date formatting of patron debar date out of circ/returns.pl and into
KohaDates on the template

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2012-03-22 09:31:11 +13:00
root
22aa99917f Bug 5549 : fixed undefined subroutine format_date in circ/returns.pl by adding full path of C4::Dates::format_date()
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2012-03-22 09:29:36 +13:00
Adrien Saurat
b38aec8aae Bug 7434: Display of issue number for serials in overdues
items.enumchron is now displayed when not null

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-03-20 13:42:55 +01:00
Elliott Davis
49c35ba38e Bug 5549 : fixed datetime issue so time is shown in output for circulation.pl and moremember.pl 2012-03-20 13:41:25 +13:00
Colin Campbell
1d90d1c0c6 Bug 5549 : use DateUtils routine for formatting sql date
Also cleanup modules list to reflect those
actually used
2012-03-20 13:26:51 +13:00
Colin Campbell
1d62ea2c9f Bug 5549 : Fix 'specify due date'
If due date is set generate a proper DateTime object
for issue procesing
2012-03-20 13:26:24 +13:00
Colin Campbell
bc866c25f4 Bug 5549 : returns calling wrong format routine on date
We don't have an orm yet
2012-03-20 13:25:56 +13:00
Colin Campbell
791fe1bbd7 Bug 5549 : circ/returns needs to import DateUtils 2012-03-20 13:25:16 +13:00
Colin Campbell
4913d3a1d7 Bug 5549 : Fix a couple of date issues from testing 2012-03-20 13:22:12 +13:00
Colin Campbell
3ad68c640c Bug 5549 : Format date with hh:mm in branchoverdues
Also removed am unused date string
2012-03-20 12:35:22 +13:00
Colin Campbell
48c8ac992a Bug 5549 : overdues display should be hours mins aware 2012-03-20 12:33:52 +13:00
Colin Campbell
99eccc18ed Bug 5549 : Handle datetimes on return 2012-03-20 12:32:13 +13:00
Colin Campbell
00bf7cc774 Bug 5549 : Get basic 24 Hr loan working 2012-03-20 12:13:34 +13:00
Colin Campbell
b7b6a8e388 Bug 5549 : Due Date calculation in issue needs to be HH:MM aware 2012-03-20 12:12:09 +13:00
Srdjan Jankovic
a9ded4fa00 bug_7001: Issue and Reserve slips are notices.
Branches can have their own version of notices - added branchcode to
letter table.
Support html notices - added is_html to letter table.
Support for borrower attributes in templates.
GetPreparedletter() is the interface for compiling letters (notices).
Sysprefs for notice and slips stylesheets
Added TRANSFERSLIP to the letters

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-03-09 10:11:20 +01:00
Alex Arnaud
e67fbd1c7c Bug 6086 - adding a dynamic filter to pending holds
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
2012-03-08 18:14:09 +01:00
8b171f693d bug 6039: Cancel All waiting holds button - Addendum: Add redirect to refresh list after canceling all holds.
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-02-27 15:43:15 +01:00
Srdjan Jankovic
b17653355c bug 6039: Cancel All waiting holds button
TransferWhenCancelAllWaitingHolds syspref

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
2012-02-27 15:43:12 +01:00
b420247f2d bug_7467: Printing Transfer Slips for transfers that do not have holds - Addendum: Use for automatic transfers as well.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-02-27 14:57:13 +01:00
Srdjan Jankovic
f771cc8e26 bug_7467: Printing Transfer Slips for transfers that do not have holds
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
2012-02-27 14:57:10 +01:00
Srdjan Jankovic
8b80b315c3 bug_7201: Holds reports: add copynumber and enumchron
Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Data is there and correct - very helpful patch, thanks!
passes prove t xt t/db_dependent in line with current master failures.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-02-17 10:54:56 +01:00
Aleksa Vujicic
3982d97af3 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>
2012-02-02 11:36:05 +01:00
Adrien Saurat
74984f5cf3 Bug 7266: flags debarred, suspended, gonenoaddress in overdue
This patch makes these flags functionnal.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-01-17 18:03:37 +01:00
Chris Cormack
a9e080a6fb Bug 7278 : Additional Materials
Part 2: This patch shows the message at checkout and checkin

How to test:
* Add a note in cataloguing
* Check it displays at checkout and checkin
* Check items without a note don't display anything

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
2012-01-10 22:41:50 +01:00
bc92dda8c4 Fix for Bug 7077 - Add system pref to control behavior of submitting empty barcode field
Adds a new system preference, CircAutoPrintQuickSlip:

When an empty an empty barcode field is submitted in circulation
[ clear the screen | open a print quick slip window ].

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>

Fixed a merge conflict with the updatedatabase.pl

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Another merge conflict resolved. Marked as Passed QA.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-01-06 17:34:10 +01:00
Srdjan Jankovic
6e07fd7b00 bug_2830: Remove reserve when checking out if the borrower is not the first one in the reserve queue
To test:
Create 4 holds on a bib, for patrons A, B, C, and D,

Check in the item to mark hold as waiting for patron A
Check out the item to patron B -> reserve for patron B should be removed
Check in the item to mark hold as waiting for patron A
Check out the item to Patron A, hold should complete normally
Check in the item to mark hold as waiting for patron C
Check out the item to patron D -> reserve for patron D should be removed.
Check in the item to mark hold as waiting for patron C
Check out the item to patron C, hold should complete normally
Check in the item -> there should be no more reserves.

We also tested:
Created 4 holds on a bib with two items, for patrons A, B, C, and D

All worked as expected.

Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2011-12-16 16:21:38 +01:00
fff32393cf Fix for Bug 7123 - barcode should be one word
Other fixes thrown in for good measure:

- Adding data to the results table to match output of returns
- Better checking of error codes in the script to control
  output of error messages (don't show error box when there
  are no errors).
- Move some errors/messages from the right column onto the
  top of the page to match Koha's established pattern.

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2011-12-13 17:48:02 +01:00
Galen Charlton
18e06ecf0b bug 7198: show patron name in overdue list even if name column is null
If the surname or firstname of a patron is NULL, the MySQL concat()
function (properly) returns NULL, leading to the patron name not
displaying in the overdue report.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2011-12-12 16:32:13 +01:00
Liz Rea
4fad65cc26 Bug 7159 - Add branchcode to circulation.pl search (take two, revising with Owen's suggestion)
I know there's talk of getting rid of this patron search method, but I had a
request for this and so here it is.

To test:
verify that branchcode is displayed on patron search results from
circulation.pl.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2011-12-12 15:50:25 +01:00
Adrien Saurat
d4f4f88369 Bug 4051: adds issuedate column to overdues export
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2011-12-06 19:24:41 +01:00
Paul Poulain
1fe3514c3c Bug 6328 fine in days does not work
Some code coming from BibLibre has been lost in the process of inclusion in
3.4. The result is that fine in days does not work at all (you can setup rules,
but it does nothing)

Step to reproduce:

- Koha > Admin > circ rules > set 1 day fine every day of overdue for default
  rule
- Issue a book return date last week
- check-in the book => no debarment is set

The following patch will fix all of those problems by :

* updating borrowers.debarred to a date field (instead of tinyint). It contains
  the limit of the debarment
* changing API of DebarMember and UpdateBorrowerDebarred to pass a date
* display debarrdate where applicable. Note that a debarrdate of 31/12/9999 is
  considered as unlimited and not displayed
* added a debarrcomment, usefull to explain why a patron is debarred (this is
  independant from debarrdate changes and can be used when placing an unlimited
  debarment too)

[2011-05-12] F. Demians. It works as described. And I can confirm this
functionality is impatiently awaited by French libraries since one year. Thanks
BibLibre for the good work and for contributing this code.

Bug 6328 Followup--update DB structure

Thanks Katrin.

Bug 6328: make comment a textbox / fix debar by notice trigger

Debarring by notice triggers was broken, because the new function
expects a date as second parameter.

The comment field in patron account details was a very long text field.
Patch changes it to be a textbox instead.

Bug 6328: Lift debarment leaves patron account

'Lift debarment' redirects to an empty circulation page.

BZ6328 follow-up 3

Fixes comment 23 from Fernando L. Canizo : when the patron was debarred and debar removed
he still could not check-out.

The changes in the IsMemberBlocked (that were on biblibre/master) were lost somewhere
The sub was still checking for old_issues instead of calling CheckBorrowerDebarred
to get a debardate if applicable

Note : this bug was appearing only is you had issuing rules defined for itemtype/categorycode/branch.
Seemed to work if you had only default rules. That's probably why it hadn't been spotted before

BZ6328 follow-up 4
Comments fron Zeno Tajoli: The patch is OK and I sign-off it. Two little changes done on
installer/data/mysql/kohastructure.sql and installer/data/mysql/updatedatabase.pl

Signed-off-by: koha <koha@kohabase.localdomain>
2011-11-25 14:00:47 +01:00
Srdjan Jankovic
2b2e544f05 Bug 6303: Display Organisation and Parent Organisation names when viewing a borrower of type organisation
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works as advertised, doesn't affect display for non-organisational patrons.

Note: Display change in OPAC only affects the summary tab.
It would be a little bit more consistent to make the name show the
same on all tabs in OPAC patron account.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
I repeated Katrin's signoff here (with permission). The patch only changed for some minor rebasing and cosmetic QA requests. Passed QA now.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2011-11-24 11:30:08 +01:00
d150c98540 Fix for Bug 6980, Patron attributes are shown when ExtendedPatronAttributes is disabled
This patch adds a check for the value of the ExtendedPatronAttributes
preference to the scripts and corresponding logic to the templates
controlling the sidebar menu.

The patch also corrects a duplication of attributes code in moremember.pl

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
1) Added extended patron attributes in configuration, turned ExtendedPatronAttributes on
2) Altered patron details, added values for patron attributes
> Verified patron attributes show show correctly
3) Turned off ExtendedPatronAttributes
> Verified patron attributes were hidden everywhere

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-10-20 11:37:37 +13:00
Paul Poulain
f6043fbbe4 Bug 6285 strange order in CSV upload
uploading the circ overdues result in a csv with columns in a strange order
and not the order of the screen
This patch reorder the column by putting the usefull ones first

Signed-off-by: Magnus Enger <magnus@enger.priv.no>

Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-10-19 16:50:33 +13:00
Srdjan Jankovic
18b8991cf1 bug_6253: Unified member Search()
Removed SearchMembers() and replaced with more generic Search()
Amended Search() to try cardnumber first
Replaced SearchMembers() calls with Search()
Replaced SELECT with Search() where appropriate
C4::SQLHelper:
- added support for '' key for search filter.
- when passing an array to filter, join with OR (rather than AND)
- added support for key => [val1, val2] in filter
- did not document - there was no input documentation to start with,
  and SQLHelper should be replaced with something better anyway

Signed-off-by: Liz Rea <lrea@nekls.org>
(again - testing merge issue)
The functionality of the patch seems to be maintained with Biblibre's changes.

I tested the following:
Extended attribute searching: works
3 part name searching: works
2 part name searching: works
1 part name searching: works

From:
mainpage.pl
members-home.pl
	Patron search limited by branch: Works
	Patron search limited by patron category: works
	Ordering by cardnumber instead of surname: works
The "Check Out" field in the masthead.

Circ Autocomplete is not reliably functional at this time, but the problem appears to predate this patch.
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-10-19 16:23:02 +13:00
15e846d74a Fix for Bug 6983 - Item type filter on overdues report does not respect item-level_itypes
This patch adds a check for the item-level_itypes preference
when building the SQL for the overdues report.

Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-10-18 15:54:58 +13:00
Ian Walls
e05d53d50d Enh 6403: Record local use stats when checking in unissued materials
Adds a new system preference, RecordLocalUseOnReturn, which when active will change the statistical
entry type from "return" to "localuse" in AddReturn() if the material was not on loan when returned.
The intended use-case here is for libraries with 'open' book drops, in which patrons can put locally
used (but unissued) materials.

Adds a small message to the user interface to confirm that Local Use was recorded.

This change opens up the possibility to record more types of statistics on return; one would just need
to update the $stat_type variable accordingly.

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-10-09 19:50:41 +13:00
Ian Walls
26acaf3dfa Bug 6801: checkoverdues returns unnecessary fields, causing slowness
Explicitly specifies which fields to return in C4::Overdues::checkoverdues
SQL:  all of biblio, items, and issues, and everything in biblioitems
EXCEPT marc, marcxml and timestamp.

Bug 6801: member details page taking long time to load when many checkouts present

This patch removes the call to GetMemberDetails in build_issue_data; this heavy-weight
subroutine was being run for every single item a patron (or their relatives) have checked out.
Instead, the borrowers first name, surname and cardnumber are added to the GetPendingIssues query.
I believe this is reasonable since GetPendingIssues can now return issues for multiple borrowers.

Also corrects the $borrowernumber used for GetIssuesCharges and CanItemBeRenewed; was using the borrower whose
page we were on, NOT the borrower of that specific item (which would be different in the Relatives Checkouts tab).

Template calls to [% scope.borrowername %] are now broken up into [% scope.firstname %] [% scope.surname %].

Signed-off-by: Liz Rea <lrea@nekls.org>
On my test data, a patron with 180 checkouts (without this patch) would take more than a minute to bring back the circulation.pl and moremember.pl pages.
With this patch, the time is reduced to 5 or so seconds.

Big ups to Ian for tenaciously hunting this one down.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-09-27 09:43:25 +13:00
Joy Nelson
38ca8d6de1 Bug 6773: circ/ysearch.pl is unlimited
Added a LIMIT 10 to the SQL statement
Edited the circulation.pref stating that autocomplete returns the first 10 results at a time

Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-09-25 15:05:56 +13:00
Henri-Damien LAURENT
061f2e9251 Fix for Bug 5436 - Extended patron attributes display improvements
Show patron attributes in the sidebar on circ and patron pages

[Edit from Owen Leonard: This patch takes changes originally in
Bug 5436 and isolates just the parts relating to display of
patron attributes. Because function for pulling patron attributes
was merged with the function for displaying address information
in SetMemberInfosInTemplate() (also found in Bug 5749), I moved
the call to GetBorrowerAttributes into the individual scripts.
That keeps the functionality relating specifically to patron
attributes separate from the proposed changes to displaying
addresses.

Because I think it's important to keep the display consistent,
I added display of patron attributes to all pages which include
the patron information sidebar.]

Rebased for compatability with bug 3489 and database documentation by
Ian Walls, 9-21-11

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-09-23 15:35:54 +12:00
Maxime Pelletier
6200d4ae21 Bug 6679 : fix 3 perl::critic warnings
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-09-21 14:59:34 +12:00
Ian Walls
9ee49d65d4 Enh 6887: Add 'checked out from' column to issued items display tables
Adds "checked out from" column to the right of "checked out on" on both
circ/circulation.pl and members/moremembers.pl.  Columns are sortable with tablesort
(though only on circ/circulation.pl if syspref enabled).

The branch name is sourced from issues.branchcode.

EDIT BY Owen Leonard: Adjusting table columns which are sorted by default
to accommodate the new column.

Things look good! Thanks!

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Liz Rea <lrea@nekls.org>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-09-21 09:44:00 +12:00
Liz Rea
c2015c7103 Bug 6841 - A member with cataloging permissions cannot change branches (when independent branches is set on)
This patch does a couple of things.

1. Changes permission over all to set branch printer (change branch/Set Library) from "circulation" privileges to "view catalogue" permissions. Reasoning: anyone who has privileges to view catalogue could reasonably be expected to perhaps need to change the set branch, but you might have people who don't have circulate permissions who need to change the branch, centralized cataloguing, for example. Those people would never circ and wouldn't need circ privileges, but *would* need to be able to change the set branch.
2. Changes the template flags to see the "Set Library" link with independent branches set from "manage users" to "manage users or edit catalogue." Reasoning: even with indy branches on, there might be reasons for catalogers to be able to change the set branch (that reason was the impetus for this patch in the first place).

To test:
Create a user with only "View Catalogue" Permissions (no circulate permissions), that user should be able to change set library with Independent branches OFF.

With independent branches on, give a user edit catalogue permissions. That user should be able to change set library.

I want to add that this patch was specifically written in response to chris_n's bug report. It may not be practical for these changes to be in mainline, but I haven't thought of any reasons why it would be explicitly bad. That doesn't mean there aren't some, though.

Signed-off-by: Chris Nighswonger <cnighswonger@foundations.edu>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-09-14 21:44:03 +12:00
Brett Wilkins
f824121bb1 bug 6724: enable decimals on values greater than 1
Separating perl standard uses from koha uses

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-09-07 08:39:18 +12:00
Christophe Croullebois
b2138a7ec6 Bug 6121: Holds awaiting pickup
On holds over, when cancelling hold and returning to his branch a bug fill the branchtransfers.tobranch field with the branchname instead of the branch code.

BibLibre MT5647

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-09-04 20:03:37 +12:00
Chris Cormack
f320582b2f Bug 5866 : Updated patch to speed up holds awaiting pickup
This reduced execution time on the report from timeout (1400 holds waiting + 200 holds over) to 6 or so seconds, with 1566 holds over (test data, no holds waiting).

Signed-off-by: Liz Rea <lrea@nekls.org>
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
2011-08-26 15:30:18 +12:00
Colin Campbell
c435c8c7d1 Bug 6280 : Don't generate invalid SQL in GetPendingIssues
Change to parameter list in GetPendingIssues made it
callable by an empty list resulting in invalid sql being
sent to server. As this was occuring on most issues error log
was filling up. Put safeguard in the routine
Also don't bother calling when you have no need

Some of the processing was needlessly obscure

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-08-11 12:53:15 +12:00
Chris Cormack
3195d20440 Merge remote-tracking branch 'kc/new/enh/bug_5922' into kcmaster 2011-08-01 13:03:34 +12:00
53daf8a2de Additional change for bug 5922 - Show waiting items for patron on return
- Adding patron name to dialog
- Styling dialog as a message rather than an alert since it's
  informational rather than a warning
2011-08-01 13:01:41 +12:00
84a8c9a522 Fix for Bug 6487 - No error explanation if patron expiration date is missing
The script tries to parse the patron expiration date without
checking that it is a valid date. If expiration date is empty
it doesn't get caught along with past expiration dates.

I wonder if this line was supposed to catch this problem:

Line 233: if ( $warning_year*$warning_month*$warning_day==0

This patch adds "!$borrower->{'dateexpiry'} ||" to that line.

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-06-10 10:49:43 +12:00
ruth@bywatersolutions.com
414880167c Bug 6467: Add shelving location to checkin screen
Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-06-07 11:16:17 +12:00
091cd69f44 Fix for Bug 2941 Transfers cannot be canceled once initiated
This patch includes the changes by Catalyst found at
http://git.catalyst.net.nz/gw?p=koha.git;a=shortlog;h=refs/heads/bug_2941
and adds a "cancel transfer" link to the transferstoreceive
script, including a redirect check to send the user back to
that report.

Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-04-23 17:22:05 +12:00
514a60270c Fix for bug 6243 - Link to fast cataloging missing from circulation home page
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-04-22 06:57:40 +12:00
49af98afd7 Follow-up fix for Bug 5952, Shows member relatives in issues list
- Moving columns around to match display of patron's own checkouts
- Correcting terminology (issues, borrowers)
- Hiding columns added in previous patch which do not display in
  the standard checkout list: materials, stock number, collection.
  If these are to be added they should be added to all displays.

[edit] Adding display of relative's cardnumber alongside their name

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-04-14 14:40:19 +12:00
Chris Cormack
90962ec380 Bug 5922 : Functional Changes
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-04-13 14:45:21 +12:00
e82f88d5d9 Additional fixes for Bug 5422, Separate state field for patron's adresses
Adding state variable to various circ and member pages so that
sidebar display of patron details includes state.

Signed-off-by: Magnus Enger <magnus@enger.priv.no>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-04-09 11:52:07 +12:00
Alex Arnaud
4268fd376f Bug #6049 - Add a filter by date in overdue.pl
Signed-off-by: Christophe Croullebois <christophe.croullebois@biblibre.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-04-09 11:18:44 +12:00
Alex Arnaud
913d520be7 Bug #6112 - Missing fields in overdues csv file
Signed-off-by: Christophe Croullebois <christophe.croullebois@biblibre.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-04-08 12:56:57 +12:00
Matthias Meusburger
6b2b62eb57 Bug 5952: Shows member relatives in issues lists
Duplicate of '[PATCH] MT3747: Shows member relatives in issueslists' : Subject was wrong

MT3747, Follow-up: Adds siblings issues

MT3747, Follow-up: Shows member relatives in issues lists

 - Now displays patron's and relatives' issues apart

MT3747, Follow-up: Shows member relatives in issues lists

 - Removes renewal in circulation.pl
 - Adds links to moremember.pl

MT3747, Follow-up: Shows member relatives in issues lists

 - Remove unuseful warn

MT3747, Follow-up: Shows member relatives in issues lists

 - Removes renewal in moremember.pl

MT3747, Follow-up: Shows member relatives in issues lists

 - Adds sorting for circulation.pl

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-04-01 21:03:14 +13:00
Chris Cormack
4990b0d2ee Bug 5578 : Follow up patch fixing FSF addresses 2011-04-01 15:48:19 +13:00
Ian Walls
b2a233f480 Bug 5578: Self checkout by Login enhancement
Enables the library to choose whether to have patrons scan their barcodes for self checkout, or login
with username and password.  Uses 'checkpw' for compatibility with LDAP authentication.

Also introduces a few new system preferences to make Self Checkout more secure and manageable:

  SelfCheckTimeOut:      the number of seconds before the self-checkout login times out for a patron
  AllowSelfCheckReturns: indicate whether or not patrons can return materials via self-checkout
  SelfCheckHelpMessage:  user-configurable HTML to show specific text on the Help page.

Thank you to Marlboro College in Marlboro, VT for sponsoring and testing this development!

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-04-01 15:18:40 +13:00
Chris Cormack
c2cee4b445 Merge remote branch 'kc/new/enh/bug_6003' into kcmaster 2011-04-01 13:31:53 +13:00
Magnus Enger
b023e7f46d Bug 6003 Display call number on return
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-04-01 13:30:41 +13:00
Ian Walls
e57dadf762 Bug 5548: Hard Due Dates Circ Rule
Implements the RFC found at http://wiki.koha-community.org/wiki/Hard_Due_Dates_Circ_Rule_RFC.  See squashed commits
messages below for details of implementation.

Squashed commit of the following:

commit 871b91af00871146eb1216ebf5ce673dda2c5925
Author: Ian Walls <ian.walls@bywatersolutions.com>
Date:   Tue Dec 28 15:09:49 2010 -0500

    Hard Due Dates dev part 3: implementing the due dates in circ

    CalcDateDue now calls GetLoanLength, rather than each invocation running separately one after another.  Therefore, instead of
    the 'loanlength' param, CalcDateDue now takes 'itype', and uses the info to get both the issuelength and the hardduedate info (if it exists)

    Global Due Date no longer populates in the sticky due date field in Circ, since it can't be determined before the item is scanned.  Any specified
    due date still overrides the circulation rules, if allowed.

    Hard Due Dates in the past will return an error message, but can be manually specified if truly desired.

    Also, a small fix to updatedatabase.pl to allow the old data to populate if possible.

commit 14d5505f3c01287a2464a759f0076c1d4b665c49
Author: Ian Walls <ian.walls@bywatersolutions.com>
Date:   Mon Dec 27 18:28:11 2010 -0500

    HardDueDates dev part 2:  adding admin interface

    Adds columns to Smart Rules page, including calendar for easy date selection.

    Removes globalDueDate and ceilingDueDates from system preferences editors

commit 76e3e3d86a7a54c6ce4253e7f68278b4dc75a0bb
Author: Ian Walls <ian.walls@bywatersolutions.com>
Date:   Mon Dec 27 15:58:05 2010 -0500

    HardDueDates dev part 1: database changes

    Adds two new columns to issuingrules, a hardduedate and a hardduedatecompare.  If globalduedate is set, use that as the universal value
    for all circ rules.  Else, if ceilingduedate is set, use that as the universal value.  Adjust the comparison accordingly (-1 before, 0
    exact, 1 after).  the old system preferences globalDueDate and ceilingDueDate are then removed.

    Rebased onto 3.03.00.032

Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Jared Camins-Esakov <jcamins@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-03-30 20:35:45 +13:00
Chris Cormack
4669a10776 Merge remote branch 'kc/new/enh/bug_1962' into kcmaster
Conflicts:
	circ/returns.pl
	installer/data/mysql/fr-FR/1-Obligatoire/unimarc_standard_systemprefs.sql
	installer/data/mysql/it-IT/necessari/sysprefs.sql
	installer/data/mysql/pl-PL/mandatory/sysprefs.sql
	installer/data/mysql/ru-RU/mandatory/system_preferences_full_optimal_for_install_only.sql
	installer/data/mysql/uk-UA/mandatory/system_preferences_full_optimal_for_install_only.sql
	installer/data/mysql/updatedatabase.pl
	kohaversion.pl
2011-03-27 21:12:40 +13:00
Katrin Fischer
b3866aff5d Bug 1962: Add new syspref FineNotifyAtCheckin
This patch adds a new syspref FineNotifyAtCheckin.

With syspref ON there will be a message when checking in books from
a patron with outstanding fines.

With syspref OFF (default) no message will be shown.

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-03-27 21:06:37 +13:00
Paul Poulain
ddbedbfc2f Bug 4330 : Adding some copyright BibLibre statements 2011-03-21 10:57:20 +13:00
Chris Cormack
1e98195b10 Merge remote branch 'kc/new/enh/bug_3495' into kcmaster 2011-03-15 22:01:45 +13:00
Katrin Fischer
9dfc9d4d12 Bug 3495: Fast bib record add at circulation
The link to the Fast add framework was never shown.
Now the link is shown if you have the right permissions (fast cataloging or superlibrarian).

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-03-15 22:00:23 +13:00
Katrin Fischer
05052f4081 Bug 1962: Follow-up: Add fine notification during check-in
Don't show message when patron has no fines.

Signed-off-by: Liz Rea <lrea@nekls.org>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-03-12 08:32:34 +13:00
Jared Camins-Esakov
7660909ca8 Bug 5815: Double clicking submits patron selection
Double clicking on an item in the list of matching names now automatically
submits the form when checking out to a patron by name rather than barcode.

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-03-04 13:17:54 +13:00
Katrin Fischer
38b59b7b53 Bug 1962: Add fine notification during check-in
Original patch submitted by dswhite42@yahoo.com

Reformatted to apply cleanly.
Changed alert message during check-in to message used
on borrower account checkout page.

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-02-26 19:52:56 +13:00
50c0ae09a1 Partial fix for Bug 5745, Overdues with fines report not showing titles
- Adding title, subtitle, and author to output
- Reworking display of shelving location selection

Patch does not address the contents of 'overdue status' and 'notified by'

Signed-off-by: Nicole Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-02-15 10:12:36 +13:00
9319ab3254 Fix for Bug 5715, Adding note about ReservesMaxPickUpDelay value
Also correcting display of itemtype based on item-level_itype preference

Signed-off-by: Nicole Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-02-14 10:19:29 +13:00
05c240953a Additional fix for Bug 3550, Use GetRecordValue to get the subtitle
- Adding subtitle to Hold Ratio report output
- Sorting by default on ratio, descending
- Adding author
- Removing description

Signed-off-by: Nicole Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-01-10 05:18:32 +13:00
324991fefd Fix for Bug 4946 - hold warning needs rewording
This patch improves the phrasing of several messages by
breaking the message variable into distinct parts for more
natural-sounding warnings when:

- Checking out an item on hold for another patron
- Checking out an item which is waiting for another patron
- Checking out an item which is checked out to another patron
- Checking out an item which is checked out to this patron
- Checking out to a patron who has too many checked out

I would appreciate special attention to my changes to the
TooMany function in Circulation.pm to make sure I handled
it correctly.

Signed-off-by: Nicole Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2010-12-17 09:45:03 +13:00
Chris Cormack
be8f1f3343 Fix for 5143, now with IE debug removed
Need to set up keyword to marc mappings for subtitle, parts, numbers for this to work

adds:
 - the subtitles into the title link (originally Chris Cormack)
 - barcodes for every listed hold
 - denoted which items were only item and which could be filled by any item on that bib.
 - added id's to every column for ease of jquery suppression of data (example: publication data or patron column could be suppressed)

[EDIT]: Added missing template variable
[EDIT]: Converted table cell IDs to classes. Having multiple identical IDs is invalid.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2010-12-15 09:31:33 +13:00
c4ea43f3db Alternate fix for Bug 2981, removing onclick redirect
Signed-off-by: Nicole Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2010-12-15 08:50:16 +13:00
Srdjan Jankovic
4d1762f5ec Bug 2965: Allow due date in the past
Raise warning rather than disallowing
Remove due date js validation when checking out

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Fixed small error in circulation.tmpl
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2010-12-14 13:49:15 +13:00
Alex Arnaud
122bc589e7 (BUG #4806) circ/circulation.tmpl: Add "reservenumber" in the reserved table.
Add "reservenumber" the "reserved" table which is used for delete or update reserved items.

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2010-12-13 14:30:59 +13:00
8663778b8e Bug 5396: New system preference UseTablesortForCirc
This system preference allows the librarian to toggle on or off whether the JQuery tablesort is used on the
circ/circulation.pl page.  For patrons with many checkouts, this sort may cause very slow page loading (and
therefore slow circulation transaction time), depending on the browser and local machine used.  Staff can
still see a sortable list of current checkouts on the members/moremember.pl page.

My revision prevents the template from including *any* tablesorter code if the
preference is feature is turned off: both the circulation list and
the holds list will have no jQuery tablesorter.

Signed-off-by: Nicole Engard <nengard@bywatersolutions.com>
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2010-11-13 19:53:12 +13:00