Koha/opac
Kyle M Hall 80897930b7 Bug 2720 - Overdues which debar automatically should undebar automatically when returned
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>
2013-10-31 01:53:22 +00:00
..
errors Bug 4330 Fixing FSF statements 2012-05-28 17:53:51 +02:00
rss
sco Bug 10016: force zero browser-side caching of SCO pages 2013-10-21 18:05:12 +00:00
svc Bug 10856: Improve the previous and next items on the shelf browser 2013-10-04 15:56:35 +00:00
ilsdi.pl Bug 10549: (follow-up) make sure ILS-DI GetAvailability response is emitted as UTF-8 2013-07-17 19:14:37 +00:00
maintenance.pl Bug 7853 - opac-maintanance.pl should correctly redirect back to opac-main.pl, if no updates are outstanding 2013-04-07 13:34:12 -04:00
oai.pl Bug 4330 Fixing FSF statements 2012-05-28 17:53:51 +02:00
opac-account.pl Bug 4330 : Fixing FSF address and copyright statements 2012-05-28 17:53:46 +02:00
opac-addbybiblionumber.pl Bug 5894: Display all titles when confirming copy of items from cart to list 2013-07-05 07:04:02 -07:00
opac-alert-subscribe.pl
opac-authorities-home.pl Bug 9132: Paging through OPAC authority search results does not work 2012-11-28 08:13:18 -05:00
opac-authoritiesdetail.pl Bug 8981 follow-up: case 2012-11-29 22:07:29 -05:00
opac-basket.pl Bug 10026 - OPAC cart not showing location anymore 2013-04-23 08:43:50 -04:00
opac-browser.pl
opac-changelanguage.pl Bug 4330 Fixing FSF statements 2012-05-28 17:53:51 +02:00
opac-course-details.pl bug 8215: (followup) don't allow deleting course reserves from OPAC 2013-05-21 15:51:02 -07:00
opac-course-reserves.pl bug 8215: (followup) make sure C4::CourseReserves doesn't export anything 2013-05-21 15:51:01 -07:00
opac-detail.pl Bug 10829: fix browsing across pages breaks for OPAC bibs-linked-to-authority searches 2013-10-23 14:45:54 +00:00
opac-downloadcart.pl Bug 10853: All existing routing to get a CSV should return a MARC csv 2013-10-11 02:16:33 +00:00
opac-downloadshelf.pl Bug 10853: All existing routing to get a CSV should return a MARC csv 2013-10-11 02:16:33 +00:00
opac-export.pl Bug 3652: close XSS vulnerabilities in opac-export 2012-10-24 15:40:18 +02:00
opac-ics.pl Bug 5549 : GetPendingIssues now returns DateTime objects 2012-03-20 12:33:37 +13:00
opac-image.pl Bug 8255: allow local cover images to be cached 2012-06-25 18:12:29 +02:00
opac-imageviewer.pl Bug 4321: clean C4::Biblio::GetBiblio and uses 2012-09-18 12:11:54 +02:00
opac-ISBDdetail.pl Bug 10584 - Hide OPAC biblio details if all items are hidden 2013-09-18 15:31:04 +00:00
opac-main.pl Bug 9395: Problem with callnumber and standard number searches 2013-02-15 18:30:15 -05:00
opac-MARCdetail.pl Bug 10876: Fix opac-MARCdetail.pl displaying items that are meant to be hidden 2013-09-18 16:03:45 +00:00
opac-memberentry.pl Bug 10636 - patronimage should have borrowernumber as PK, not cardnumber 2013-10-14 21:08:02 +00:00
opac-messaging.pl Talking Tech Support - Phase I 2012-06-10 17:46:52 +02:00
opac-modrequest-suspend.pl Bug 7641: Suspend Reserves 2012-03-29 14:37:49 +02:00
opac-modrequest.pl Bug 9394: Use reserve_id where possible 2013-07-24 05:04:55 +00:00
opac-mymessages.pl Bug 4330 : Fixing FSF address and copyright statements 2012-05-28 17:53:46 +02:00
opac-overdrive-search.pl Bug 10320: (follow-up) correct license statement 2013-09-08 07:04:45 +00:00
opac-passwd.pl Bug 9611: (follow-up) move new password hashing routines to separate module 2013-10-09 03:29:22 +00:00
opac-patron-image.pl Bug 10636 - patronimage should have borrowernumber as PK, not cardnumber 2013-10-14 21:08:02 +00:00
opac-privacy.pl Bug 6506: When AnonymousPatron not set, deletion of issue history silently failed. 2013-05-01 08:44:11 -04:00
opac-ratings-ajax.pl Bug 8315 - fix 'C4::Output 3.02' errors in Koha 2012-06-29 11:59:13 +02:00
opac-ratings.pl Bug 5668 - Star ratings in the opac 2012-04-10 14:40:49 +02:00
opac-readingrecord.pl Bug 8017 reduce manipulation of GetAllIssues return 2012-09-13 18:51:45 +02:00
opac-registration-verify.pl Bug 7067 - QA Followup - Fix error when confirming via email 2012-12-14 08:09:02 -05:00
opac-renew.pl Bug 7551 : Can only renew for the user you are logged in as now 2012-02-17 09:12:21 +01:00
opac-reserve.pl Bug 2720 - Overdues which debar automatically should undebar automatically when returned 2013-10-31 01:53:22 +00:00
opac-review.pl
opac-search-history.pl Bug 10309 - New OPAC theme based on Bootstrap 2013-10-14 23:13:05 +00:00
opac-search.pl Bug 10320 - Integrate OverDrive search into OPAC 2013-09-08 07:00:40 +00:00
opac-sendbasket.pl Bug 8626: Fix encoding in cart emails for use of quoted-printable 2012-08-29 18:14:32 +02:00
opac-sendshelf.pl Bug 8368: (follow-up) restore use of quoted printable for message body 2013-10-18 07:27:30 +00:00
opac-serial-issues.pl
opac-shelves.pl Bug 7310: Code changes for Improving list permissions 2012-03-21 16:46:40 +01:00
opac-showmarc.pl Bug 9570 - view plain not working in ccsr 2013-03-07 09:33:57 -05:00
opac-showreviews.pl Bug 6679 :[SIGNED-OFF] Fixing some perlcritic violations in the opac 2012-04-10 13:45:00 +02:00
opac-suggestions.pl Bug 9457 - Followup - Ordering branches should be case independent (2) 2013-03-20 15:36:19 -04:00
opac-tags.pl bug 9401: remove direct reads of CGISESSID cookie by JavaScript 2013-02-01 11:05:35 -05:00
opac-tags_subject.pl
opac-topissues.pl Bug 10588: improve selection of default branch for OPAC popular items pag 2013-09-04 17:14:22 +00:00
opac-user.pl Bug 2720 - Overdues which debar automatically should undebar automatically when returned 2013-10-31 01:53:22 +00:00
search.pl Bug 8233 : SearchEngine: Add a Koha::SearchEngine module 2012-07-06 16:51:58 +02:00
tracklinks.pl Bug 8917 : Shifting db dependent code to a module 2013-03-07 11:14:25 -05:00
unapi Bug 10085: unapi does not function under Plack 2013-04-23 08:33:51 -04:00