From 02602ceb9b6117a9961660a80adecb4fb1e60ec1 Mon Sep 17 00:00:00 2001 From: Bill Erickson Date: Tue, 10 Jan 2012 13:24:49 -0500 Subject: [PATCH] Standing penalty staff_alert required for alert Only show the standing penalty if the staff_alert value is true, instead of unconditionally showing it for all penalties with a block_list value. This allows staff to configure blocking penalties that do not alert. Signed-off-by: Bill Erickson --- Open-ILS/src/sql/Pg/002.schema.config.sql | 30 +++++++++++----------- .../Pg/upgrade/XXXX.schema.alerting-penalties.sql | 4 ++- Open-ILS/xul/staff_client/server/patron/display.js | 2 +- 3 files changed, 19 insertions(+), 17 deletions(-) diff --git a/Open-ILS/src/sql/Pg/002.schema.config.sql b/Open-ILS/src/sql/Pg/002.schema.config.sql index d1243fc975..f9a39233eb 100644 --- a/Open-ILS/src/sql/Pg/002.schema.config.sql +++ b/Open-ILS/src/sql/Pg/002.schema.config.sql @@ -125,24 +125,24 @@ CREATE TABLE config.standing_penalty ( staff_alert BOOL NOT NULL DEFAULT FALSE, org_depth INTEGER ); -INSERT INTO config.standing_penalty (id,name,label,block_list) - VALUES (1,'PATRON_EXCEEDS_FINES','Patron exceeds fine threshold','CIRC|HOLD|RENEW'); -INSERT INTO config.standing_penalty (id,name,label,block_list) - VALUES (2,'PATRON_EXCEEDS_OVERDUE_COUNT','Patron exceeds max overdue item threshold','CIRC|HOLD|RENEW'); -INSERT INTO config.standing_penalty (id,name,label,block_list) - VALUES (3,'PATRON_EXCEEDS_CHECKOUT_COUNT','Patron exceeds max checked out item threshold','CIRC'); -INSERT INTO config.standing_penalty (id,name,label,block_list) - VALUES (4,'PATRON_EXCEEDS_COLLECTIONS_WARNING','Patron exceeds pre-collections warning fine threshold','CIRC|HOLD|RENEW'); +INSERT INTO config.standing_penalty (id,name,label,block_list,staff_alert) + VALUES (1,'PATRON_EXCEEDS_FINES','Patron exceeds fine threshold','CIRC|HOLD|RENEW', TRUE); +INSERT INTO config.standing_penalty (id,name,label,block_list,staff_alert) + VALUES (2,'PATRON_EXCEEDS_OVERDUE_COUNT','Patron exceeds max overdue item threshold','CIRC|HOLD|RENEW', TRUE); +INSERT INTO config.standing_penalty (id,name,label,block_list,staff_alert) + VALUES (3,'PATRON_EXCEEDS_CHECKOUT_COUNT','Patron exceeds max checked out item threshold','CIRC', TRUE); +INSERT INTO config.standing_penalty (id,name,label,block_list,staff_alert) + VALUES (4,'PATRON_EXCEEDS_COLLECTIONS_WARNING','Patron exceeds pre-collections warning fine threshold','CIRC|HOLD|RENEW', TRUE); INSERT INTO config.standing_penalty (id,name,label,staff_alert) VALUES (20,'ALERT_NOTE','Alerting Note, no blocks',TRUE); INSERT INTO config.standing_penalty (id,name,label) VALUES (21,'SILENT_NOTE','Note, no blocks'); -INSERT INTO config.standing_penalty (id,name,label,block_list) VALUES (22,'STAFF_C','Alerting block on Circ','CIRC'); -INSERT INTO config.standing_penalty (id,name,label,block_list) VALUES (23,'STAFF_CH','Alerting block on Circ and Hold','CIRC|HOLD'); -INSERT INTO config.standing_penalty (id,name,label,block_list) VALUES (24,'STAFF_CR','Alerting block on Circ and Renew','CIRC|RENEW'); -INSERT INTO config.standing_penalty (id,name,label,block_list) VALUES (25,'STAFF_CHR','Alerting block on Circ, Hold and Renew','CIRC|HOLD|RENEW'); -INSERT INTO config.standing_penalty (id,name,label,block_list) VALUES (26,'STAFF_HR','Alerting block on Hold and Renew','HOLD|RENEW'); -INSERT INTO config.standing_penalty (id,name,label,block_list) VALUES (27,'STAFF_H','Alerting block on Hold','HOLD'); -INSERT INTO config.standing_penalty (id,name,label,block_list) VALUES (28,'STAFF_R','Alerting block on Renew','RENEW'); +INSERT INTO config.standing_penalty (id,name,label,block_list,staff_alert) VALUES (22,'STAFF_C','Alerting block on Circ','CIRC'); +INSERT INTO config.standing_penalty (id,name,label,block_list,staff_alert) VALUES (23,'STAFF_CH','Alerting block on Circ and Hold','CIRC|HOLD', TRUE); +INSERT INTO config.standing_penalty (id,name,label,block_list,staff_alert) VALUES (24,'STAFF_CR','Alerting block on Circ and Renew','CIRC|RENEW', TRUE); +INSERT INTO config.standing_penalty (id,name,label,block_list,staff_alert) VALUES (25,'STAFF_CHR','Alerting block on Circ, Hold and Renew','CIRC|HOLD|RENEW', TRUE); +INSERT INTO config.standing_penalty (id,name,label,block_list,staff_alert) VALUES (26,'STAFF_HR','Alerting block on Hold and Renew','HOLD|RENEW', TRUE); +INSERT INTO config.standing_penalty (id,name,label,block_list,staff_alert) VALUES (27,'STAFF_H','Alerting block on Hold','HOLD', TRUE); +INSERT INTO config.standing_penalty (id,name,label,block_list,staff_alert) VALUES (28,'STAFF_R','Alerting block on Renew','RENEW', TRUE); INSERT INTO config.standing_penalty (id,name,label) VALUES (29,'INVALID_PATRON_ADDRESS','Patron has an invalid address'); INSERT INTO config.standing_penalty (id,name,label) VALUES (30,'PATRON_IN_COLLECTIONS','Patron has been referred to a collections agency'); diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.alerting-penalties.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.alerting-penalties.sql index 31b6cff675..fd1745550b 100644 --- a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.alerting-penalties.sql +++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.alerting-penalties.sql @@ -5,6 +5,8 @@ SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version); ALTER TABLE config.standing_penalty ADD staff_alert BOOL NOT NULL DEFAULT FALSE; -- 20 is ALERT_NOTE -UPDATE config.standing_penalty SET staff_alert = TRUE WHERE id = 20; +-- for backwards compat, set all blocking penalties to alerts +UPDATE config.standing_penalty SET staff_alert = TRUE + WHERE id = 20 OR block_list IS NOT NULL; COMMIT; diff --git a/Open-ILS/xul/staff_client/server/patron/display.js b/Open-ILS/xul/staff_client/server/patron/display.js index 350825746d..2e17b8bb1b 100644 --- a/Open-ILS/xul/staff_client/server/patron/display.js +++ b/Open-ILS/xul/staff_client/server/patron/display.js @@ -963,7 +963,7 @@ patron.display.prototype = { if (!penalties) { penalties = []; } var dl_flag_opened = false; for (var i = 0; i < penalties.length; i++) { - if (penalties[i].standing_penalty().block_list() || penalties[i].standing_penalty().staff_alert()) { + if (get_bool(penalties[i].standing_penalty().staff_alert())) { if (!dl_flag_opened) { msg += '
'; dl_flag_opened = true; -- 2.11.0