Kyle M Hall
80897930b7
This patch adds a more extensible and flexible debarments system to Koha. The fields borrowers.debarred and borrowers.debarredcomment are retained for compatibility and speed. This system supports having debarments for multiple reasons. There are currently three types of debarments: OVERDUES - Generated by overdue_notices.pl if the notice should debar a patron SUSPENSION - A punative debarment generated on checkin via an issuing rule MANUAL - A debarment created manually by a librarian OVERDUE debarments are cleared automatically when all overdue items have been returned, if the new system preference AutoRemoveOverduesRestrictions is enabled. It is disabled by default to retain current default functionality. Whenever a borrowers debarments are modified, the system updates the borrowers debarment fields with the highest expiration from all the borrowers debarments, and concatenates the comments from the debarments together. Test plan: 1) Apply patch 2) Run updatedatabase.pl 3) Verify the borrower_debarments table has been created and populated with the pre-existing debarments 4) Run t/db_dependent/Borrower_Debarments.t 5) Manually debar a patron, with an expiration date 6) Verify the patron cannot be issued to 7) Add another manual debarment with a different expiration date 8) Verify the 'restricted' message lists the date farthest into the future 9) Add another manual debarment with no expiration date 10) Verify the borrower is now debarred indefinitely 11) Delete the indefinite debarment 12) Verify the debarment message lists an expiration date dagain 13) Enable the new system preference AutoRemoveOverduesRestrictions 14) Set an overdue notice to debar after 1 day of being overdue 15) Check out an item to a patron and backdate the due date to yesterday 16) Run overdue_notices.pl 17) Verify the OVERDUES debarment was created 18) Return the item 19) Verify the OVERDUES debarment was removed 20) Disable AutoRemoveOverduesRestrictions 21) Repeat steps 15 though 18, verify the OVERDUES debarment was *not* removed 22) Add issuing rules so that an overdue item causes a temporary debarment 23) Check out an item to a patron and backdate the due date by a year 24) Return the item 25) Verify the SUSPENSION debarment was added to the patron Signed-off-by: Owen Leonard <oleonard@myacpl.org> Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
600 lines
24 KiB
Text
600 lines
24 KiB
Text
Circulation:
|
|
# FIXME: printcirculationslips is also omitted. It _technically_ could work, but C4::Print is HLT specific and needs a little bit of refactoring.
|
|
Interface:
|
|
-
|
|
- pref: CircAutocompl
|
|
choices:
|
|
yes: Try
|
|
no: "Don't try"
|
|
- to guess the patron being entered while typing a patron search on the circulation screen.
|
|
- Only returns the first 10 results at a time.
|
|
-
|
|
- pref: itemBarcodeInputFilter
|
|
choices:
|
|
OFF: "Don't filter"
|
|
whitespace: Remove spaces from
|
|
cuecat: Convert from CueCat form
|
|
T-prefix: Remove the first number from T-prefix style
|
|
libsuite8: Convert from Libsuite8 form
|
|
EAN13: EAN-13 or zero-padded UPC-A from
|
|
- scanned item barcodes.
|
|
-
|
|
- pref: itemBarcodeFallbackSearch
|
|
choices:
|
|
yes: "Enable"
|
|
no: "Don't enable"
|
|
- the automatic use of a keyword catalog search if the phrase entered as a barcode on the checkout page does not turn up any results during an item barcode search.
|
|
-
|
|
- Sort previous checkouts on the circulation page from
|
|
- pref: previousIssuesDefaultSortOrder
|
|
choices:
|
|
asc: earliest to latest
|
|
desc: latest to earliest
|
|
- due date.
|
|
-
|
|
- "Sort today's checkouts on the circulation page from"
|
|
- pref: todaysIssuesDefaultSortOrder
|
|
type: choice
|
|
choices:
|
|
asc: earliest to latest
|
|
desc: latest to earliest
|
|
- due date.
|
|
-
|
|
- pref: UseTablesortForCirc
|
|
choices:
|
|
yes: "Enable"
|
|
no: "Don't enable"
|
|
- "the sorting of current patron checkouts on the circulation screen. <br/>NOTE: Enabling this function may slow down circulation time for patrons with many checkouts."
|
|
-
|
|
- pref: soundon
|
|
choices:
|
|
yes: "Enable"
|
|
no: "Don't enable"
|
|
- circulation sounds during checkin and checkout in the staff interface. Not supported by all web browsers yet.
|
|
-
|
|
- pref: SpecifyDueDate
|
|
choices:
|
|
yes: Allow
|
|
no: "Don't allow"
|
|
- staff to specify a due date for a checkout.
|
|
-
|
|
- Set the default start date for the Holds to pull list to
|
|
- pref: HoldsToPullStartDate
|
|
class: integer
|
|
- day(s) ago. Note that the default end date is controlled by preference ConfirmFutureHolds.
|
|
-
|
|
- pref: AllowAllMessageDeletion
|
|
choices:
|
|
yes: Allow
|
|
no: "Don't allow"
|
|
- staff to delete messages added from other libraries.
|
|
-
|
|
- Show the
|
|
- pref: numReturnedItemsToShow
|
|
class: integer
|
|
- last returned items on the checkin screen.
|
|
-
|
|
- pref: FineNotifyAtCheckin
|
|
choices:
|
|
yes: Notify
|
|
no: "Don't notify"
|
|
- librarians of overdue fines on the items they are checking in.
|
|
-
|
|
- pref: WaitingNotifyAtCheckin
|
|
choices:
|
|
yes: Notify
|
|
no: "Don't notify"
|
|
- librarians of waiting holds for the patron whose items they are checking in.
|
|
-
|
|
- pref: FilterBeforeOverdueReport
|
|
choices:
|
|
yes: Require
|
|
no: "Don't require"
|
|
- staff to choose which checkouts to show before running the overdues report.
|
|
-
|
|
- pref: DisplayClearScreenButton
|
|
choices:
|
|
yes: Show
|
|
no: "Don't show"
|
|
- a button to clear the current patron from the screen on the circulation screen.
|
|
-
|
|
- pref: RecordLocalUseOnReturn
|
|
choices:
|
|
yes: Record
|
|
no: "Don't record"
|
|
- local use when an unissued item is checked in.
|
|
-
|
|
- When an empty barcode field is submitted in circulation
|
|
- pref: CircAutoPrintQuickSlip
|
|
choices:
|
|
yes: "open a print quick slip window"
|
|
no: "clear the screen"
|
|
- .
|
|
-
|
|
- Include the stylesheet at
|
|
- pref: NoticeCSS
|
|
class: url
|
|
- on Notices. (This should be a complete URL, starting with <code>http://</code>)
|
|
-
|
|
- pref: UpdateTotalIssuesOnCirc
|
|
choices:
|
|
yes: Do
|
|
no: "Do not"
|
|
- update a bibliographic record's total issues count whenever an item is issued (WARNING! This increases server load significantly; if performance is a concern, use the update_totalissues.pl cron job to update the total issues count).
|
|
-
|
|
- Use the
|
|
- pref: ExportWithCsvProfile
|
|
- CSV profile when exporting patron checkout history (enter CSV Profile name)
|
|
-
|
|
- The following fields should be excluded from the patron checkout history CSV or iso2709 export
|
|
- pref: ExportRemoveFields
|
|
- (separate fields with space, e.g. 100a 200b 300c)
|
|
-
|
|
- pref: AllowOfflineCirculation
|
|
choices:
|
|
yes: Enable
|
|
no: "Do not enable"
|
|
- "offline circulation on regular circulation computers. (NOTE: This system preference does not affect the Firefox plugin or the desktop application)"
|
|
|
|
Checkout Policy:
|
|
-
|
|
- pref: AllowTooManyOverride
|
|
choices:
|
|
yes: Allow
|
|
no: "Don't allow"
|
|
- staff to override and check out items when the patron has reached the maximum number of allowed checkouts.
|
|
-
|
|
- pref: AutoRemoveOverduesRestrictions
|
|
choices:
|
|
yes: "Do"
|
|
no: "Do not"
|
|
- allow OVERDUES restrictions triggered by sent notices to be cleared automatically when all overdue items are returned by a patron.
|
|
-
|
|
- pref: AllowNotForLoanOverride
|
|
choices:
|
|
yes: Allow
|
|
no: "Don't allow"
|
|
- staff to override and check out items that are marked as not for loan.
|
|
-
|
|
- pref: AllowRenewalLimitOverride
|
|
choices:
|
|
yes: Allow
|
|
no: "Don't allow"
|
|
- staff to manually override the renewal limit and renew a checkout when it would go over the renewal limit.
|
|
-
|
|
- pref: AllowItemsOnHoldCheckout
|
|
choices:
|
|
yes: Allow
|
|
no: "Don't allow"
|
|
- checkouts of items reserved to someone else. If allowed do not generate RESERVE_WAITING and RESERVED warning. This allows self checkouts for those items.
|
|
-
|
|
- pref: AllFinesNeedOverride
|
|
choices:
|
|
yes: Require
|
|
no: "Don't require"
|
|
- staff to manually override all fines, even fines less than noissuescharge.
|
|
-
|
|
- pref: AllowFineOverride
|
|
choices:
|
|
yes: Allow
|
|
no: "Don't allow"
|
|
- staff to manually override and check out items to patrons who have more than noissuescharge in fines.
|
|
-
|
|
- pref: InProcessingToShelvingCart
|
|
choices:
|
|
yes: Move
|
|
no: "Don't move"
|
|
- items that have the location PROC to the location CART when they are checked in.
|
|
-
|
|
- pref: ReturnToShelvingCart
|
|
choices:
|
|
yes: Move
|
|
no: "Don't move"
|
|
- all items to the location CART when they are checked in.
|
|
-
|
|
- pref: AutomaticItemReturn
|
|
choices:
|
|
yes: Do
|
|
no: "Don't"
|
|
- automatically transfer items to their home library when they are returned.
|
|
-
|
|
- pref: UseBranchTransferLimits
|
|
choices:
|
|
yes: Enforce
|
|
no: "Don't enforce"
|
|
- library transfer limits based on
|
|
- pref: BranchTransferLimitsType
|
|
choices:
|
|
ccode: collection code
|
|
itemtype: item type
|
|
- .
|
|
-
|
|
- pref: UseTransportCostMatrix
|
|
choices:
|
|
yes: Use
|
|
no: "Don't use"
|
|
- Transport Cost Matrix for calculating optimal holds filling between branches.
|
|
-
|
|
- Use the checkout and fines rules of
|
|
- pref: CircControl
|
|
type: choice
|
|
choices:
|
|
PickupLibrary: the library you are logged in at.
|
|
PatronLibrary: the library the patron is from.
|
|
ItemHomeLibrary: the library the item is from.
|
|
-
|
|
- Use the checkout and fines rules of
|
|
- pref: HomeOrHoldingBranch
|
|
type: choice
|
|
choices:
|
|
homebranch: the library the item is from.
|
|
holdingbranch: the library the item was checked out from.
|
|
-
|
|
- Allow materials to be returned to
|
|
- pref: AllowReturnToBranch
|
|
type: choice
|
|
choices:
|
|
anywhere: to any library.
|
|
homebranch: only the library the item is from.
|
|
holdingbranch: only the library the item was checked out from.
|
|
homeorholdingbranch: either the library the item is from or the library it was checked out from.
|
|
-
|
|
- Calculate the due date using
|
|
- pref: useDaysMode
|
|
choices:
|
|
Days: circulation rules only.
|
|
Calendar: the calendar to skip all days the library is closed.
|
|
Datedue: the calendar to push the due date to the next open day
|
|
-
|
|
- When renewing checkouts, base the new due date on
|
|
- pref: RenewalPeriodBase
|
|
choices:
|
|
date_due: the old due date of the checkout.
|
|
now: the current date.
|
|
-
|
|
- pref: RenewalSendNotice
|
|
choices:
|
|
yes: Send
|
|
no: "Don't send"
|
|
- a renewal notice according to patron checkout alert preferences.
|
|
-
|
|
- Prevent patrons from making holds on the OPAC if they owe more than
|
|
- pref: maxoutstanding
|
|
class: currency
|
|
- '[% local_currency %] in fines.'
|
|
-
|
|
- Show a warning on the "Transfers to Receive" screen if the transfer has not been received
|
|
- pref: TransfersMaxDaysWarning
|
|
class: integer
|
|
- days after it was sent.
|
|
-
|
|
- pref: IssuingInProcess
|
|
choices:
|
|
yes: "Don't prevent"
|
|
no: "Prevent"
|
|
- patrons from checking out an item whose rental charge would take them over the limit.
|
|
-
|
|
- "Restrict patrons with the following target audience values from checking out inappropriate materials:"
|
|
- pref: AgeRestrictionMarker
|
|
- "E.g. enter target audience keyword(s) split by | (bar) FSK|PEGI|Age| (No white space near |). Be sure to map agerestriction in Koha to MARC mapping (e.g. 521$a). A MARC field value of FSK 12 or PEGI 12 would mean: Borrower must be 12 years old. Leave empty to not apply an age restriction."
|
|
-
|
|
- pref: AgeRestrictionOverride
|
|
choices:
|
|
yes: Allow
|
|
no: "Don't allow"
|
|
- staff to check out an item with age restriction.
|
|
-
|
|
- Prevent patrons from checking out books if they have more than
|
|
- pref: noissuescharge
|
|
class: integer
|
|
- '[% local_currency %] in fines.'
|
|
-
|
|
- pref: RentalsInNoissuesCharge
|
|
choices:
|
|
yes: Include
|
|
no: "Don't include"
|
|
- rental charges when summing up charges for noissuescharge.
|
|
-
|
|
- pref: ManInvInNoissuesCharge
|
|
choices:
|
|
yes: Include
|
|
no: "Don't include"
|
|
- MANUAL_INV charges when summing up charges for noissuescharge.
|
|
-
|
|
- pref: ReturnBeforeExpiry
|
|
choices:
|
|
yes: Require
|
|
no: "Don't require"
|
|
- "patrons to return books before their accounts expire (by restricting due dates to before the patron's expiration date)."
|
|
-
|
|
- Send all notices as a BCC to this email address
|
|
- pref: OverdueNoticeBcc
|
|
-
|
|
- Include up to
|
|
- pref: PrintNoticesMaxLines
|
|
class: integer
|
|
- "item lines in a printed overdue notice. If the number of items is greater than this number, the notice will end with a warning asking the borrower to check their online account for a full list of overdue items. Set to 0 to include all overdue items in the notice, no matter how many there are."
|
|
-
|
|
- pref: OverduesBlockCirc
|
|
choices:
|
|
block: Block
|
|
noblock: "Don't block"
|
|
confirmation: Ask for confirmation
|
|
- when checking out to a borrower that has overdues outstanding
|
|
-
|
|
- On checkin route the returned item to
|
|
- pref: HomeOrHoldingBranchReturn
|
|
type: choice
|
|
choices:
|
|
homebranch: the library the item is from.
|
|
holdingbranch: the library the item was checked out from.
|
|
-
|
|
- "When issuing an item that has been marked as lost, "
|
|
- pref: IssueLostItem
|
|
choices:
|
|
confirm: "require confirmation"
|
|
alert: "display a message"
|
|
nothing : "do nothing"
|
|
- .
|
|
Checkin Policy:
|
|
-
|
|
- pref: BlockReturnOfWithdrawnItems
|
|
choices:
|
|
yes: Block
|
|
no: "Don't block"
|
|
- returning of items that have been withdrawn.
|
|
-
|
|
- pref: CalculateFinesOnReturn
|
|
choices:
|
|
yes: Do
|
|
no: "Don't"
|
|
- calculate and update overdue charges when an item is returned.
|
|
- <br /><b>NOTE If you are doing hourly loans then you should have this on.</b>
|
|
Holds Policy:
|
|
-
|
|
- pref: AllowHoldPolicyOverride
|
|
choices:
|
|
yes: Allow
|
|
no: "Don't allow"
|
|
- staff to override hold policies when placing holds.
|
|
-
|
|
- pref: AllowHoldsOnDamagedItems
|
|
choices:
|
|
yes: Allow
|
|
no: "Don't allow"
|
|
- hold requests to be placed on damaged items.
|
|
-
|
|
- pref: AllowOnShelfHolds
|
|
choices:
|
|
yes: Allow
|
|
no: "Don't allow"
|
|
- hold requests to be placed on items that are not checked out.
|
|
-
|
|
- pref: AllowHoldDateInFuture
|
|
choices:
|
|
yes: Allow
|
|
no: "Don't allow"
|
|
- hold requests to be placed that do not enter the waiting list until a certain future date.
|
|
-
|
|
- pref: OPACAllowHoldDateInFuture
|
|
choices:
|
|
yes: Allow
|
|
no: "Don't allow"
|
|
- "patrons to place holds that don't enter the waiting list until a certain future date. (AllowHoldDateInFuture must also be enabled)."
|
|
-
|
|
- Confirm future hold requests (starting no later than
|
|
- pref: ConfirmFutureHolds
|
|
class: integer
|
|
- days from now) at checkin time. Note that this number of days will be used too in calculating the default end date for the Holds to pull-report. But it does not interfere with issuing, renewing or transferring books.
|
|
-
|
|
- Check the
|
|
- pref: ReservesControlBranch
|
|
choices:
|
|
ItemHomeLibrary: "item's home library"
|
|
PatronLibrary: "patron's home library"
|
|
- to see if the patron can place a hold on the item.
|
|
-
|
|
- Mark a hold as problematic if it has been waiting for more than
|
|
- pref: ReservesMaxPickUpDelay
|
|
class: integer
|
|
- days.
|
|
-
|
|
- pref: ExpireReservesMaxPickUpDelay
|
|
choices:
|
|
yes: Allow
|
|
no: "Don't allow"
|
|
- "holds to expire automatically if they have not been picked by within the time period specified in ReservesMaxPickUpDelay"
|
|
-
|
|
- If using ExpireReservesMaxPickUpDelay, charge a borrower who allows his or her waiting hold to expire a fee of
|
|
- pref: ExpireReservesMaxPickUpDelayCharge
|
|
class: currency
|
|
-
|
|
- Satisfy holds from the libraries
|
|
- pref: StaticHoldsQueueWeight
|
|
class: multi
|
|
- (as branchcodes, separated by commas; if empty, uses all libraries)
|
|
- pref: RandomizeHoldsQueueWeight
|
|
choices:
|
|
yes: in random order.
|
|
no: in that order.
|
|
-
|
|
-
|
|
- pref: canreservefromotherbranches
|
|
choices:
|
|
yes: Allow
|
|
no: "Don't allow (with independent branches)"
|
|
- a user from one library to place a hold on an item from another library
|
|
-
|
|
- pref: OPACAllowUserToChooseBranch
|
|
choices:
|
|
yes: Allow
|
|
no: "Don't allow"
|
|
- a user to choose the library to pick up a hold from.
|
|
-
|
|
- pref: ReservesNeedReturns
|
|
choices:
|
|
yes: "Don't automatically"
|
|
no: Automatically
|
|
- mark holds as found and waiting when a hold is placed specifically on them and they are already checked in.
|
|
-
|
|
- Patrons can only have
|
|
- pref: maxreserves
|
|
class: integer
|
|
- holds at once.
|
|
-
|
|
- pref: emailLibrarianWhenHoldIsPlaced
|
|
choices:
|
|
yes: Enable
|
|
no: "Don't enable"
|
|
- "sending an email to the Koha administrator email address whenever a hold request is placed."
|
|
-
|
|
- pref: DisplayMultiPlaceHold
|
|
choices:
|
|
yes: Enable
|
|
no: "Don't enable"
|
|
- "the ability to place holds on multiple biblio from the search results"
|
|
-
|
|
- pref: TransferWhenCancelAllWaitingHolds
|
|
choices:
|
|
yes: Transfer
|
|
no: "Don't transfer"
|
|
- items when cancelling all waiting holds.
|
|
-
|
|
- pref: AutoResumeSuspendedHolds
|
|
choices:
|
|
yes: Allow
|
|
no: "Don't allow"
|
|
- suspended holds to be automatically resumed by a set date.
|
|
-
|
|
- pref: SuspendHoldsIntranet
|
|
choices:
|
|
yes: Allow
|
|
no: "Don't allow"
|
|
- holds to be suspended from the intranet.
|
|
-
|
|
- pref: SuspendHoldsOpac
|
|
choices:
|
|
yes: Allow
|
|
no: "Don't allow"
|
|
- holds to be suspended from the OPAC.
|
|
-
|
|
- pref: decreaseLoanHighHolds
|
|
choices:
|
|
yes: Enable
|
|
no: "Don't enable"
|
|
- the reduction of loan period to
|
|
- pref: decreaseLoanHighHoldsDuration
|
|
class: integer
|
|
- days for items with more than
|
|
- pref: decreaseLoanHighHoldsValue
|
|
class: integer
|
|
- holds.
|
|
-
|
|
- pref: AllowHoldsOnPatronsPossessions
|
|
choices:
|
|
yes: Allow
|
|
no: "Don't allow"
|
|
- a patron to place a hold on a record where the patron already has one or more items attached to that record checked out.
|
|
Fines Policy:
|
|
-
|
|
- Calculate fines based on days overdue
|
|
- pref: finesCalendar
|
|
type: choice
|
|
choices:
|
|
ignoreCalendar: directly.
|
|
noFinesWhenClosed: not including days the library is closed.
|
|
-
|
|
-
|
|
- pref: finesMode
|
|
type: choice
|
|
choices:
|
|
off: "Don't calculate"
|
|
test: Calculate (but only for mailing to the admin)
|
|
production: Calculate and charge
|
|
- fines (when <code>misc/cronjobs/fines.pl</code> is being run).
|
|
-
|
|
- pref: RefundLostItemFeeOnReturn
|
|
choices:
|
|
yes: Refund
|
|
no: "Don't refund"
|
|
- lost item fees charged to a borrower when the lost item is returned.
|
|
-
|
|
- pref: FinesIncludeGracePeriod
|
|
choices:
|
|
yes: Include
|
|
no: "Don't include"
|
|
- the grace period when calculating the fine for an overdue item.
|
|
-
|
|
- pref: WhenLostForgiveFine
|
|
choices:
|
|
yes: Forgive
|
|
no: "Don't Forgive"
|
|
- the fines on an item when it is lost.
|
|
-
|
|
- pref: WhenLostChargeReplacementFee
|
|
choices:
|
|
yes: Charge
|
|
no: "Don't Charge"
|
|
- the replacement price when a patron loses an item.
|
|
Self Checkout:
|
|
-
|
|
- "Include the following JavaScript on all pages in the web-based self checkout:"
|
|
- pref: SCOUserJS
|
|
type: textarea
|
|
class: code
|
|
-
|
|
- "Include the following CSS on all pages in the web-based self checkout:"
|
|
- pref: SCOUserCSS
|
|
type: textarea
|
|
class: code
|
|
-
|
|
- pref: ShowPatronImageInWebBasedSelfCheck
|
|
choices:
|
|
yes: Show
|
|
no: "Don't show"
|
|
- "the patron's picture (if one has been added) when they use the web-based self checkout."
|
|
-
|
|
- pref: WebBasedSelfCheck
|
|
choices:
|
|
yes: Enable
|
|
no: "Don't enable"
|
|
- "the web-based self checkout system. (available at: /cgi-bin/koha/sco/sco-main.pl)"
|
|
-
|
|
- Have patrons login into the web-based self checkout system with their
|
|
- pref: SelfCheckoutByLogin
|
|
choices:
|
|
yes: Username and Password
|
|
no: Barcode
|
|
-
|
|
- "Time out the current patron's web-based self checkout system login after"
|
|
- pref: SelfCheckTimeout
|
|
class: integer
|
|
- seconds.
|
|
-
|
|
- pref: AllowSelfCheckReturns
|
|
choices:
|
|
yes: Allow
|
|
no: "Don't allow"
|
|
- patrons to return items through web-based self checkout system.
|
|
-
|
|
- "Include the following HTML in the Help page of the web-based self checkout system:"
|
|
- pref: SelfCheckHelpMessage
|
|
type: textarea
|
|
class: code
|
|
-
|
|
- pref: AutoSelfCheckAllowed
|
|
choices:
|
|
yes: Allow
|
|
no: "Don't allow"
|
|
- "the web-based self checkout system to automatically login with this staff login"
|
|
- pref: AutoSelfCheckID
|
|
- and this password
|
|
- pref: AutoSelfCheckPass
|
|
- .
|
|
Course Reserves:
|
|
-
|
|
- pref: UseCourseReserves
|
|
choices:
|
|
yes: Use
|
|
no: "Don't use"
|
|
- course reserves
|