New Circ Limits
authorThomas Berezansky <tsbere@mvlc.org>
Tue, 7 Feb 2012 22:26:03 +0000 (17:26 -0500)
committerMike Rylander <mrylander@gmail.com>
Tue, 28 Feb 2012 18:33:50 +0000 (13:33 -0500)
commit5e2bad24b7743d5129999d0dfb6cf4352e2ef91d
treeea79c4658a0997e8ed44d9c5bf36223f5f9f1d56
parent3ace401ed850aa71eb555d7e30e0fe8c47dd6d0a
New Circ Limits

Replace the old "Circ Mod Test" limit system with a more flexible system.

In addition to circ modifiers this system supports "Limit Groups" that are
automatically applied (by default) to any circulation checking them. This
can be overidden by setting the "Check Only" flag when linking a Limit
Group to a Limit Set.

Both the limit groups and circ modifiers are linked to "Limit Sets" that
act similarly to rules. Each Set can be attached to 0 or more circulation
matchpoints.

Each Limit set supports a number of items out (0 replaces infinite), depth
in the org tree to start counting at (0 for up to the top, 1 for 1 below,
etc), and a global flag (to check everywhere below the depth point, rather
than just those circulations that happend at ancestors/descendants).

When a Limit Set is linked to a Circulation Matchpoint it can be made
inactive and has a fallthrough flag. When the fallthrough flag is enabled
the Limit Set will be used whenever the matchpoint is involved with making
a decision. When it is disabled the Limit Set will only be used when the
matchpoint is the most specific matchpoint used in making the decision.

Limit Groups management can be found on the server administration menu.

Limit Sets management can be found on the local administration menu.

Limit Set -> Matchpoint linking is done via editing Circulation Policies.

The upgrade script does not remove the old tables in case something goes
wrong with migrating the information contained within them.

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Conflicts:

Open-ILS/web/opac/locale/en-US/lang.dtd
Open-ILS/xul/staff_client/chrome/content/main/menu_frame_menus.xul

Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
12 files changed:
Open-ILS/examples/fm_IDL.xml
Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Circulate.pm
Open-ILS/src/sql/Pg/100.circ_matrix.sql
Open-ILS/src/sql/Pg/upgrade/XXXX.circ_limits.sql [new file with mode: 0644]
Open-ILS/src/templates/conify/global/config/circ_limit_group.tt2 [new file with mode: 0644]
Open-ILS/src/templates/conify/global/config/circ_limit_set.tt2 [new file with mode: 0644]
Open-ILS/src/templates/conify/global/config/circ_matrix_matchpoint.tt2
Open-ILS/web/js/ui/default/conify/global/config/circ_limit_set.js [new file with mode: 0644]
Open-ILS/web/js/ui/default/conify/global/config/circ_matrix_matchpoint.js
Open-ILS/web/opac/locale/en-US/lang.dtd
Open-ILS/xul/staff_client/chrome/content/main/menu.js
Open-ILS/xul/staff_client/chrome/content/main/menu_frame_menus.xul