Main Koha release repository https://koha-community.org
Find a file
Jonathan Druart 4d8489efba Bug 14045: Add specific quotas to on-site checkouts
This patch set adds the ability to defined independent quotas for on-site
checkouts.
This will be done using the circulation rules matrix where a new column
“Current on-site checkouts allow” will be added.

This feature is going to use the same method as the existing fields maxissueqty
("Current checkouts allowed"), the new fields will be added to the
different tables (see the "DB changes" patch) and will be named
maxonsiteissueqty (for consistency).

In order to keep the existing behavior and to let more flexibility,
a new system preference is added (ConsiderOnSiteCheckoutsAsNormalCheckouts).
This syspref will let the liberty to the library to decide if an on-site
checkout should be considered as a "normal" checkout or not.

To keep the existing behavior, the syspref will be disabled (i.e. an on-site
checkout is considered as a normal checkout) and the number of on-site
checkouts will be the same as the number of checkout (maxissueqty ==
maxonsiteissueqty).

Technically:
There are only very few tests for the Circulation module, and the 2
subroutines impacted by this patch set were not tested at all.
It is necessary to introduce non-regression tests for this area.
The 2 subroutines are: C4::Circulation::GetBranchBorrowerCircRule
and C4::Circulation::TooMany (only called by
C4::Circulation::CanBookBeIssued, so we will take the liberty to change
the prototype to raise a better warning to the end user).

Test plan:
I. Confirm there is no regression and the existing behavior is kept
 0/ Let the syspref disabled
 1/ Set a rule to limit to 2 the number of checkouts allowed
 2/ Do a normal checkout
 3/ Do an on-site checkout
 4/ Try to checkout (on-site or normal) an item again.
 You should not be allowed.

II. Test the new feature - pref disabled
 0/ Let the syspref disabled
 1/ Set a rule to limit to 2 the number of checkouts allowed and to 1
 the number of on-site checkouts allowed.
 2/ Do an on-site checkout
 3/ Try to do another one, you should not be allowed to do it.
 4/ A normal checkout should pass successfully
Note that it does not make sense to have the number of on-site checkouts
alowed > number of checkouts allowed.

III. Test the new feature - pref enabled
 0/ Enable the syspref
Now an on-site checkout is *not* counted as a normal checkout.
This means you can have the number of on-site checkouts > number of
checkouts allowed.
 1/ Set the values you want for the 2 types of checkouts (normal vs
on-site).
 2/ Even if a patron has reached the maximum of checkouts allowed, he
 will be allowed to do a on-site checkout (vice versa).

IV. Stress the developper
 Using the different configurations available in the circulation matrix,
 try to find one where the checkout is allowed and not should be.

Sponsored-by: BULAC - http://www.bulac.fr/
Signed-off-by: Nicolas Legrand <nicolas.legrand@bulac.fr>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2015-10-13 11:13:22 -03:00
acqui Bug 14928: Remove C4::Dates from files acqui/pdfformat/layout*.pm 2015-10-09 09:39:30 -03:00
admin Bug 14888: Update copyright and wording 2015-10-05 12:00:38 -03:00
authorities Bug 14387: Merge reference selection has no effect when merging authorities. 2015-07-24 13:44:58 -03:00
basket Bug 14330: Remove unused email_sender from sendbasket/sendshelf 2015-06-08 10:38:08 -03:00
C4 Bug 14045: Add specific quotas to on-site checkouts 2015-10-13 11:13:22 -03:00
catalogue Bug 14879: Move the date displays to the template 2015-09-25 11:52:27 -03:00
cataloguing Bug 14201: Yes, goodbye to the third plugin marc21_leader_video too 2015-09-28 12:19:53 -03:00
circ Bug 14045: Add specific quotas to on-site checkouts 2015-10-13 11:13:22 -03:00
course_reserves Bug 9978: Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:38 -03:00
debian Bug 14840: Added new cron script send membership expiry reminder notices in crontab.example file 2015-10-06 11:21:18 -03:00
docs Bug 7143: Add Benjamin Rokseth to the projects history file and about page 2015-08-26 10:42:04 -03:00
errors Bug 11944: use CGI( -utf8 ) everywhere 2015-01-13 13:07:21 -03:00
etc Bug 14217: Add 'condition' attribute for DOM index definition 2015-09-25 11:53:24 -03:00
install_misc Bug 14066: Removing more Readonly 2015-05-06 11:05:22 -03:00
installer Bug 6810: DBRev 3.21.00.034 2015-10-06 11:18:32 -03:00
Koha Bug 10020: (RM followup) DBIx update 2015-10-06 10:39:26 -03:00
koha-tmpl Bug 14890: Simplify processing to display a date with hours 2015-10-08 10:59:05 -03:00
labels Bug 14667: UI/UX improvements for the Label creator 2015-10-06 11:22:55 -03:00
members Bug 14925: (QA followup) tidy code block 2015-10-09 10:39:12 -03:00
misc Bug 12368: Die if the --table value is not allowed. 2015-10-09 14:25:58 -03:00
offline_circ Bug 14321: Integrate Upload.pm into Koha 2015-09-25 12:02:52 -03:00
opac Bug 14607: (QA followup) Fix one missing occurence, incorrect calls to GetNormalizedUPC 2015-10-06 11:09:53 -03:00
OpenILS Bug 9239 QA follow-up: remove stray debug code 2013-03-16 21:32:34 -04:00
patron_lists Bug 11944: use CGI( -utf8 ) everywhere 2015-01-13 13:07:21 -03:00
patroncards Bug 14739: Fix plack compatibility 2015-10-06 10:25:30 -03:00
plugins Bug 14951: Remove C4::Dates from plugins/*.pl files 2015-10-06 10:29:42 -03:00
reports Bug 9006: Remove AUTOLOAD in C4::Context 2015-07-20 10:11:41 -03:00
reserve Bug 14883: Librarians are not warned if patron is restricted when placing holds 2015-09-25 15:37:35 -03:00
reviews Bug 14779: Cannot paginate reviews 2015-09-07 11:38:26 -03:00
rotating_collections Bug 9978: (followup) Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:43 -03:00
selenium Adding selenium tests for filterMembers 2009-09-30 11:30:37 +02:00
serials Bug 10855: Additional marc fields are not inserted 2015-10-02 15:10:31 -03:00
services Bug 9978: Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:38 -03:00
skel Bug 11078: Add locking to rebuild_zebra 2014-02-28 22:21:41 +00:00
sms Bug 11944: use CGI( -utf8 ) everywhere 2015-01-13 13:07:21 -03:00
suggestion Bug 10752: Alert the librarian if the suggestion has not been added 2015-04-28 15:11:42 -03:00
svc Bug 14528: Inconsistency in permissions check when listing shelves 2015-10-05 12:26:19 -03:00
t Bug 14045: Add specific quotas to on-site checkouts 2015-10-13 11:13:22 -03:00
tags Bug 13813: Remove deprecated module C4::Dates from system 2015-09-18 12:40:55 -03:00
test Bug 14321: Final cleanup, removing obsolete files 2015-09-25 12:02:52 -03:00
tmp/modified_authorities changing DO_NOT_REMOVE to README.txt 2007-10-21 19:14:41 -05:00
tools Bug 14950: Remove unused variable $today_iso 2015-10-06 10:27:56 -03:00
virtualshelves Bug 14383: Fix some typos in comments and documentation 2015-06-22 17:34:46 -03:00
xt Bug 14383: Fix some typos in comments and documentation 2015-06-22 17:34:46 -03:00
.editorconfig Bug 12545: Add EditorConfig.org file to the source tree 2014-08-22 11:07:45 -03:00
.htaccess Fix file permissions: if it is not a script, it should not be executable. 2010-04-16 00:40:34 -04:00
.mailmap (RM followup) .mailmap updates 2015-05-22 17:02:21 -03:00
about.pl Bug 14298: Add warning to the about page if the sco user does not have correct permissions 2015-09-25 11:15:48 -03:00
changelanguage.pl Bug 9978: (followup) Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:43 -03:00
edithelp.pl Bug 14813: Fix encoding issues on editing help pages 2015-09-16 10:42:15 -03:00
fix-perl-path.PL Bug 9978: (followup) Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:43 -03:00
help.pl Bug 14812: Display the help in the correct language 2015-10-02 15:06:08 -03:00
INSTALL Bug 7759, update of install files to use background indexing (and some whitespace tidy) 2012-04-20 16:11:52 +02:00
install-CPAN.pl Bug 9978: Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:38 -03:00
INSTALL.debian Bug 8092 follow-up: Add optional dependency on CHI 2012-06-09 13:08:18 +02:00
INSTALL.fedora7 Bug 9809: Remove one more occurrence of reserveconstraints 2015-08-26 10:27:01 -03:00
INSTALL.opensuse Bug 11757: remove dependency on POE 2014-02-15 01:38:15 +00:00
INSTALL.ubuntu Bug 7764: (follow-up) editorial tweaks 2013-10-04 16:27:55 +00:00
Koha.pm Bug 6810: DBRev 3.21.00.034 2015-10-06 11:18:32 -03:00
koha_perl_deps.pl bug 10548: fix count of missing required dependencies by koha_perl_deps.pl 2013-07-11 14:03:32 +00:00
kohaversion.pl Bug 13758: Move the Koha version from kohaversion.pl 2015-05-07 11:39:04 -03:00
LICENSE Bug 9440 - update Koha's LICENSE file from GPL2 to GPL3 2013-02-12 08:52:10 -05:00
mainpage.pl Bug 8007: Discharge - Glue 2015-04-30 12:33:53 -03:00
Makefile.PL Bug 13758: (QA followup) Make Makefile.PL aware of Koha.pm 2015-05-07 11:42:12 -03:00
MANIFEST.SKIP Bug 9546 : Updating make manifest tardist 2013-02-06 23:54:46 -05:00
README Bug 9440 - update Koha's LICENSE file from GPL2 to GPL3 2013-02-12 08:52:10 -05:00
README.robots Bug 6411 add another example to README.robots 2011-07-05 14:48:05 +12:00
rewrite-config.PL Bug 9978: Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:38 -03:00

Koha is a free software integrated library system.

Koha is distributed under the GNU GPL version 3 or later.
Please read the file LICENSE for more details.

To install or upgrade Koha, please see the INSTALL file appropriate
to your platform.

Report bugs at http://bugs.koha-community.org/

Visit the Koha Project website at http://www.koha-community.org/