From fc6979bd4a7b2e2125f16e513718b4c4e04759a4 Mon Sep 17 00:00:00 2001 From: Ben Ostrowsky Date: Tue, 15 Feb 2011 13:08:36 +0000 Subject: [PATCH] Function for assigning standing penalties --- sql/base/base.sql | 28 ++++++++++++++++++++++++++++ 1 files changed, 28 insertions(+), 0 deletions(-) diff --git a/sql/base/base.sql b/sql/base/base.sql index 3b3a7a4..ba413c7 100644 --- a/sql/base/base.sql +++ b/sql/base/base.sql @@ -944,6 +944,33 @@ END; $$ LANGUAGE plpgsql; +CREATE OR REPLACE FUNCTION migration_tools.assign_standing_penalties ( ) RETURNS VOID AS $$ + +-- USAGE: Once circulation data has been loaded, and group penalty thresholds have been set up, run this. +-- This will assign standing penalties as needed. + +DECLARE + org_unit INT; + usr INT; + +BEGIN + + FOR org_unit IN EXECUTE ('SELECT DISTINCT org_unit FROM permission.grp_penalty_threshold;') LOOP + + FOR usr IN EXECUTE ('SELECT id FROM actor.usr WHERE NOT deleted;') LOOP + + EXECUTE('SELECT actor.calculate_system_penalties(' || usr || ', ' || org_unit || ');'); + + END LOOP; + + END LOOP; + + RETURN; + +END; + +$$ LANGUAGE plpgsql; + CREATE OR REPLACE FUNCTION migration_tools.insert_metarecords_for_pristine_database () RETURNS VOID AS $$ @@ -964,6 +991,7 @@ END; $$ LANGUAGE plpgsql; + CREATE OR REPLACE FUNCTION migration_tools.insert_metarecords_for_incumbent_database () RETURNS VOID AS $$ BEGIN -- 1.7.2.5