X-Git-Url: http://git.equinoxoli.org/?p=migration-tools.git;a=blobdiff_plain;f=sql%2Fbase%2Fbase.sql;h=ba413c7eaf01828e23fe22c3efd3b6cfeb865852;hp=3b3a7a4ccb1b242b44f603e4b36cb20df5785c20;hb=fc6979bd4a7b2e2125f16e513718b4c4e04759a4;hpb=6ac9268cf0308342e4855bd2d9334da2c30b5360 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