Manager_id, the borrowernumber of the staff person doing the action, was not recorded
for payments, rental charges, or rental charges on renewals. This patch implements that.
This patch also adds the recording of itemnumber in a payment, by taking the itemnumber of
the account that it's paying off. This addresses bug 2696, though it does not make any
change to the display logic of the Payments line in the staff client.
To test:
1. Check out an item with an issuing charge
2. Renew the item
3. Pay one of the rental charges on the item
4. Verify in koha.accountlines that each of the three above operations recorded your borrowernumber
in accountlines.manager_id
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Huge thanks to Katrin Fischer for spotting what was the trouble here!
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
This squash commit takes the two patches from Srdjan and adds a minor fix to work with
template toolkit variable renames.
Squashed commit of the following:
commit 2cab669d1fd072600942e1e6fbf3378944255a68
Author: Ian Walls <ian.walls@bywatersolutions.com>
Date: Thu Jun 2 14:08:40 2011 -0400
Bug 5929: Fix advanced_notices to use new template-toolkit compatible message names
Uses 'item_due' and 'advance_notice' for advance notices names; letters do not send otherwise
commit caded04702d5eebd0f63a3b93cdddce28257f092
Author: Srdjan Jankovic <srdjan@catalyst.net.nz>
Date: Tue Mar 29 12:38:49 2011 +1300
wr77490 (bug 5929): removed debugging leftover
commit 1944de0de40f937b1d8748500f24a119390db3f0
Author: Srdjan Jankovic <srdjan@catalyst.net.nz>
Date: Tue Mar 22 19:05:23 2011 +1300
wr77490 (bug 5929): use branch email in preference for due notices
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Punctuation should be a semi-colon not a comma
It works but is a trap for the unwary in the future
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Fixes the main Hard Due Dates conditional to first check for the existence
of $hardduedate, then the existences of its ISO export, then finally that that
value is not '0000-00-00'
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
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>
If you do not have an applicable circulation rule for a combination of branch,
item type and patron category defined in your Circulation and Fines rules,
the Hard Due Dates development prevents circulation by introducing an error:
Can't call method "output" on an undefined value at /home/magnus/kohahead/C4/Circulation.pm line 2713
This is because the $hardduedate variable is not defined. Changing the conditional
to check it, rather that it's output, fixes the issue. That's what this patch does.
Is this the longest commit message for a single line fix? Maybe.
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
This patch addresses two problems:
Bug 6004:
If an item is returned at other than its' home library, and there is a hold for
it--at any library other than the return library--two prompts come up: one
telling the user to send the item home, and the other, to confirm and transfer
for the hold. Only the latter should be displayed.
Bug 3270:
Cancelling a hold request after transfer initiated orphans item.
Signed-off-by: Liz Rea <lrea@nekls.org>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
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>
Branch can be a parameter so it should be included in the rule retrieval
Need to select the most appropriate rule from those returned
(was defaulting to first returned!)
Try to make what's happening a bit less opaque
null fields are returned as undefined not 'NULL' by DBI
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
This patch adds two sysprefs to allow libraries more fine-grained control over
when fines can and can't be overridden. The two sysprefs are:
* AllFinesNeedOverride - when this syspref is set to "Require" (default) any
fine will require a staffmember to override the fine in order to check out a
book. When set to "Don't require," fines below noissuescharge will not need
any override.
* AllowFineOverride - when this syspref is set to "Allow," staff will be able to
override fines that are above noissuescharge. When set to "Don't allow"
(default), staff will not be able to check out items to patrons with fines
greater than noissuescharge.
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Reimplements Paul Poulain's original OPAC Privacy patch, with some minor improvements and changes to wording
If the library enables the OPACPrivacy system preference along with the opacreadinghistory preference, and sets
an AnonymousPatron (must be a valid patron number in the database), the user will see a new tab upon login to
the OPAC, My Privacy. From there, the user can:
- Set their OPAC Privacy to one of three values
0 - Forever. This keeps their reading history unless they explicitly delete it; the bulk anonymiser won't touch it
1 - Default. Keep reading history until either they delete it or the library does
2 - Never. Instantly anonymises reading history upon item return
- Instantly delete their reading history
There is a warning and a popup to confirm. I've removed Paul's extra confirm checkbox, which seemed redundant
A note of which preference the patron has selected is added to the Patorn Details page in the staff client. This is read-only.
This patch also consolidates Privacy system preferences into the Privacy section of the OPAC tab.
Thank you to BibLibre for the original implmentation of this patch, and Los Gatos Public Library for funding and
testing the reimplementation.
Signed-off-by: Nicole Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
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>
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>
In India a ILS product called Libsuite8 prints barcodes like b0007432. The barcode is not stored anywhere in libsuite8's database. Neither is barcode available in any of the reports generated by the software.
The barcode 'b0007432' when scanned into the libsuite8 software is de-constructed like 'b' which is the itemtype i.e. Book in this instance, and '7432' which is the 'Accession Number'. The software then takes the logged in staff's branchcode and does a join on three tables 'Location', 'Media_Type', and 'Books' to retrieve the particular record from the database.
There is no possibility of recreating the barcodes for insertion in Koha while doing a retrospective conversion, because of arbitrary length of the barcode string AND arbitrary number of zeros in the numeric part of the printed barcode AND the fact that there are no reports available from the software which contain barcodes AND the fact that the barcode is not stored in the database.
But most importantly due to the simple fact that printed barcodes are duplicated among branches.
Therefore this patch emulates the functionality of Libsuite8 software of converting the scanned barcode into one stored in Koha using the itemBarcodeInputFilter system preference.
To use this new itemBarcodeInputFilter systempreference choice called 'libsuite8', the barcodes stored in Koha must match the pattern of <branchcode>-<itemtype_code>-<accession_number>. This is easy to achieve while doing retrospective conversion from Libsuite8 to Koha.
As expected the itemBarcodeInputFilter will return unmodified barcode if presented with a barcode of pattern <branchcode>-<itemtype_code>-<accession_number>
This revision corrects the way updatedatabase.pl is changed in order to correctly update version and insert the libsuite8 option in the database. Also kohaversion.pl is changed in the recommended format of 3.0X.0X.XXX to reflect database has changed.
This revision also changes the erronorous itemBarcodeInputFilter description in koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref from 'scanned patron barcodes' to 'scanned item barcodes' there by eliminating need for a separate patch for bug 5417.
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
1) applied patch to HEAD
2) set next database number in kohaversion.pl and updatedatabase.pl
3) webinstaller kicked in, update ok
4) typed the barcodes from test cases into check-in
Barcodes used my local branch code, everything seemed ok to me.
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
this patch create a new systempreference "homeorholdingbranch"-like used only for returns.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
An additional edit was made to circ/returns.pl by Ian Walls of ByWater Solutions to force the dialog message for the return to
use the branch specified by the new HomeOrHoldingBranchReturn system preference, rather than always Homebranch.
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
this add the function C4::Circulation::GetOpenIssue and delete \r chars when processing koc files.
Cherry picked from 3.0.x commit 5af80ab
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
This uncomment a uselessly commented function that is needed by opac-user. And fix this function that doesn't work properly.
Signed-off-by: Henri-Damien LAURENT <henridamien.laurent@biblibre.com>
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
With IndependantBranches on check that the borrower is from the same branch as
the librarian. If not then ask for confirmation. This check is skipped for
SuperLibrarians.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
* Adopted wording suggested by Kyle Hall for the
USERBLOCKEDREMAINING and USERBLOCKEDOVERDUE circulation blocks
* Updated IsMemberBlocked so that if a patron has accrued
fine days, that will be tested for first before testing
to see if the patron has current overdue items; this solves
a problem introduced in the patch series for bug 4505 where
accrued fine days would be ignored if (a) the patron has
current overdue items but (b) the library has chosen to
set the OverduesBlockCirc syspref to noblock.
* Now correctly assigns the USERBLOCKEDREMAINING and USERBLOCKEDOVERDUE
blocks; prior to this patch, they had been swapped.
FIXME: IsMemberBlock ought to be split into two functions
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
As much as circ staff may want to block circulation to
over-rude patrons, Koha probably shouldn't be trying to make
that determination on its own. :)
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
[Documentation note by RM:
This patch adds a new system preference, OverduesBlockCirc,
that can take one of three values:
- noblock: checkouts permitted even if patrons
have overdue items (default)
- confirmation: circ operator asked to confirm checkout
- block: checkouts to patrons who have overdue
items are forbidden
]
Squashed commit of the following:
commit 6a1f66e0686a14d8a89abfc3fe5978dabd0b7af7
Author: Chris Cormack <chrisc@catalyst.net.nz>
Date: Mon Apr 26 10:27:39 2010 +1200
Tidy up ready to send patch
commit 4d1398df18dcce4fd888cf17a0e2955fdf6ee1e4
Author: Chris Cormack <chrisc@catalyst.net.nz>
Date: Mon Apr 26 10:26:15 2010 +1200
Bug 4405 - tidy up
commit 3daeb71bc6b690e18dda96aa3c767c2bb0521038
Author: Chris Cormack <chrisc@catalyst.net.nz>
Date: Mon Apr 26 10:02:04 2010 +1200
Bug 4405 - Overdues block checkout
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
In Circulation::CanBookBeRenewed categorycode and itemtype were not being checked for * wildcard
if a specific code was not given.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Members.pm :
Adding IsMemberBlocked
Circulation.pm :
Using IsMemberBlocked in order to implement finedays
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Adding finedays and reservesallowed and renewalsallowed management in smart rules
Adding Clone Rules
Adding CanBookBeReserved and CanItemBeReserved in C4::Reserves
Manage Reservesallowed in opac and staff interface
Manage renewalsallowed in C4/Circulation.pm
Update Database follow
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
* added POD
* removed optional $barcode argument - in all cases,
itemnumber is known, and we should stick with
itemnumber when retrieving an existing item
* use ModItem to do the update so that indexer
will know to reindex bib - otherwise, can't
do an accurate search of items that are on
the shelving cart.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Allows temporary locations corresponding to 'in processing' and 'shelving'
so that newly-created items, and newly-returned items do not show
immediately as a available. Three new system preferences govern the usage
of these features.
NewItemsDefaultLocation. If system pref NewItemsDefaultLocation is set to a location code,
all newly catalogued items will be set to the location set in this preference.
Location code must be a valid LOC authorized value type.
InProcessingToShelvingCart. if the system pref InProcessingToShelvingCart is turned on,
any items run through returns.pl with a location code for 'PROC', will be modified to
have a new location code of 'CART'.
ReturnToShelvingCart. If the syspref ReturnToShelvingCart is turned on,
all items returned other than confirmed holds will have a new location code of 'CART'.
Any item issued is automatically taken of the shelving cart.
Adds a cron script shelf_to_cart.pl which should be run hourly.
Updates all items with a location of CART to the item's permanent location.
The original location code is stored in the new items column 'permanent_location'.
Original Author: PTFS Contractor <dbavousett@ptfs.com>
This work co-sponsored by
Middletown Township Public Library, Middletown, NJ USA and
East Brunswick Public Library, East Brunswick, NJ USA
Signed-off-by: Colin Campbell <colin.campbell@ptfs-europe.com>
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
If IndependantBranches is ON and user attempts to return an
item at a library other than the item's home library, bail out.
This action, which was previously just a suggestion in the code,
is now required to ensure that the item doesn't get its
holdingbranch set to the library at which the attempt to return
the item was made.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Prior to this patch, this was done only when returning
an item after it had been out on loan. Even if the
item had not been on loan, the fact that it was checked
in means that it is now in fact at the new holding library.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Make _GetCircControlBranch() default to the item's home library
in the case where it otherwise would have returned the item's
holding library but that field is null.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
New name is _GetCircControlBranch so as not to confuse
the library that a circulation transaction is taking
place at with the library that is supposed to control
circulation policy lookup.
Also fixed formatting errors in _GetCircControlBranch.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>