Adding realia circulation modifiers.
authorChris Sharp <csharp@georgialibraries.org>
Fri, 20 Dec 2013 16:20:26 +0000 (11:20 -0500)
committerChris Sharp <csharp@georgialibraries.org>
Fri, 20 Dec 2013 16:20:26 +0000 (11:20 -0500)
Open-ILS/src/sql/Pg/pines/add_relia_circ_mods.sql [new file with mode: 0644]

diff --git a/Open-ILS/src/sql/Pg/pines/add_relia_circ_mods.sql b/Open-ILS/src/sql/Pg/pines/add_relia_circ_mods.sql
new file mode 100644 (file)
index 0000000..c435939
--- /dev/null
@@ -0,0 +1,136 @@
+-- Adding the 'realia' circ modifiers to PINES
+BEGIN;
+
+-- create the circulation modifiers
+INSERT INTO config.circ_modifier (code, name, description, sip_2_media_type, magnetic_media) 
+       VALUES ('realia-0', 'Realia - No Renewals', 'Naturally occurring objects and any other three-dimensional item made or modified by humans that does not fit into any other category', '000', false);
+INSERT INTO config.circ_modifier (code, name, description, sip_2_media_type, magnetic_media) 
+        VALUES ('realia-1', 'Realia - One Renewal', 'Naturally occurring objects and any other three-dimensional item made or modified by humans that does not fit into any other category', '000', false);
+INSERT INTO config.circ_modifier (code, name, description, sip_2_media_type, magnetic_media) 
+        VALUES ('realia-2', 'Realia - Two Renewals', 'Naturally occurring objects and any other three-dimensional item made or modified by humans that does not fit into any other category', '000', false);
+
+-- add duration rule to accommodate the new circ modifiers
+INSERT INTO config.rule_circ_duration (name, extended, normal, shrt, max_renewals)
+       VALUES ('3_7_or_14_days_0_renew', '14 days', '7 days', '3 days', 0);
+
+-- add a recurring fine rule to accommodate the new circ modifiers
+INSERT INTO config.rule_recurring_fine (name, high, normal, low, recurrence_interval, grace_period)
+       VALUES ('3_10_or_25_dollars_per_day', '25.00', '10.00', '3.00', '1 day', '1 day');
+
+-- add circulation rules for each new circ modifier
+INSERT INTO config.circ_matrix_matchpoint (
+       org_unit, 
+       grp, 
+       circ_modifier, 
+       circulate, 
+       duration_rule, 
+       recurring_fine_rule,
+       max_fine_rule
+) VALUES (
+       1,
+       1,
+       'realia-0',
+       true,
+       (SELECT id 
+       FROM config.rule_circ_duration 
+       WHERE name = '3_7_or_14_days_0_renew'),
+       (SELECT id
+       FROM config.rule_recurring_fine
+       WHERE name = '3_10_or_25_dollars_per_day'),
+       (SELECT id
+       FROM config.rule_max_fine
+       WHERE name = 'overdue_min')
+);
+INSERT INTO config.circ_matrix_matchpoint (
+        org_unit, 
+        grp, 
+        circ_modifier, 
+        circulate, 
+        duration_rule, 
+        recurring_fine_rule,
+        max_fine_rule
+) VALUES (
+        1,
+        1,
+        'realia-1',
+        true,
+        (SELECT id 
+        FROM config.rule_circ_duration 
+        WHERE name = '3_7_or_14_days_1_renew'),
+        (SELECT id
+        FROM config.rule_recurring_fine
+        WHERE name = '3_10_or_25_dollars_per_day'),
+        (SELECT id
+        FROM config.rule_max_fine
+        WHERE name = 'overdue_min')
+);
+INSERT INTO config.circ_matrix_matchpoint (
+        org_unit, 
+        grp, 
+        circ_modifier, 
+        circulate, 
+        duration_rule, 
+        recurring_fine_rule,
+        max_fine_rule
+) VALUES (
+        1,
+        1,
+        'realia-2',
+        true,
+        (SELECT id 
+        FROM config.rule_circ_duration 
+        WHERE name = '3_7_or_14_days_2_renew'),
+        (SELECT id
+        FROM config.rule_recurring_fine
+        WHERE name = '3_10_or_25_dollars_per_day'),
+        (SELECT id
+        FROM config.rule_max_fine
+        WHERE name = 'overdue_min')
+);
+
+-- add hold policies for each new circ modifier
+INSERT INTO config.hold_matrix_matchpoint (
+       user_home_ou,
+       requestor_grp,
+       circ_modifier,
+       ref_flag,
+       transit_range,
+       max_holds
+) VALUES (
+       1,
+       1,
+       'realia-0',
+       false,
+       2,
+       50)
+);
+INSERT INTO config.hold_matrix_matchpoint (
+        user_home_ou,
+        requestor_grp,
+        circ_modifier,
+        ref_flag,
+        transit_range
+) VALUES (
+        1,
+        1,
+        'realia-1',
+        false,
+        2,
+       50)
+);
+INSERT INTO config.hold_matrix_matchpoint (
+        user_home_ou,
+        requestor_grp,
+        circ_modifier,
+        ref_flag,
+        transit_range
+) VALUES (
+        1,
+        1,
+        'realia-2',
+        false,
+        2,
+       50)
+);
+
+COMMIT;