New Circ Limits
authorThomas Berezansky <tsbere@mvlc.org>
Tue, 7 Feb 2012 22:26:03 +0000 (17:26 -0500)
committerJason Stephenson <jstephenson@mvlc.org>
Tue, 7 Feb 2012 22:26:03 +0000 (17:26 -0500)
commitd2658f32f6197e0609f648d8c3978906cba724a0
tree321971310266515aff8e3cd6973f1f41e22ffcf6
parent84bfb1cc1d41d4fd6f3798204049bfdd192394ae
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>
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