[open-ils-commits] [GIT] Evergreen ILS branch master updated. ebaf0fd679a1f466205cffa1a3edfd8dffac3e5f

Evergreen Git git at git.evergreen-ils.org
Thu Mar 15 12:07:12 EDT 2012


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Evergreen ILS".

The branch, master has been updated
       via  ebaf0fd679a1f466205cffa1a3edfd8dffac3e5f (commit)
       via  034fb7bcb12964cecb14a2da7f81a8e2523ed075 (commit)
      from  65d23b647978ddd2cd701b3cfbcbbc6552583fe0 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit ebaf0fd679a1f466205cffa1a3edfd8dffac3e5f
Author: Bill Erickson <berick at esilibrary.com>
Date:   Thu Mar 15 12:06:48 2012 -0400

    stamped upgrade for hold-avail-email-notify validation
    
    Signed-off-by: Bill Erickson <berick at esilibrary.com>

diff --git a/Open-ILS/src/sql/Pg/002.schema.config.sql b/Open-ILS/src/sql/Pg/002.schema.config.sql
index 38966f2..6c5851f 100644
--- a/Open-ILS/src/sql/Pg/002.schema.config.sql
+++ b/Open-ILS/src/sql/Pg/002.schema.config.sql
@@ -86,7 +86,7 @@ CREATE TRIGGER no_overlapping_deps
     BEFORE INSERT OR UPDATE ON config.db_patch_dependencies
     FOR EACH ROW EXECUTE PROCEDURE evergreen.array_overlap_check ('deprecates');
 
-INSERT INTO config.upgrade_log (version, applied_to) VALUES ('0682', :eg_version); -- berick/dbs/tsbere
+INSERT INTO config.upgrade_log (version, applied_to) VALUES ('0683', :eg_version); -- tsbere/berick
 
 CREATE TABLE config.bib_source (
 	id		SERIAL	PRIMARY KEY,
diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.hold_available_email_notify.sql b/Open-ILS/src/sql/Pg/upgrade/0683.hold_available_email_notify.sql
similarity index 89%
rename from Open-ILS/src/sql/Pg/upgrade/XXXX.hold_available_email_notify.sql
rename to Open-ILS/src/sql/Pg/upgrade/0683.hold_available_email_notify.sql
index a0ab077..2765f4e 100644
--- a/Open-ILS/src/sql/Pg/upgrade/XXXX.hold_available_email_notify.sql
+++ b/Open-ILS/src/sql/Pg/upgrade/0683.hold_available_email_notify.sql
@@ -1,3 +1,8 @@
+BEGIN;
+
+-- check whether patch can be applied
+SELECT evergreen.upgrade_deps_block_check('0683', :eg_version);
+
 INSERT INTO action_trigger.event_params (event_def, param, value)
     VALUES (5, 'check_email_notify', 1);
 INSERT INTO action_trigger.event_params (event_def, param, value)
@@ -16,6 +21,8 @@ UPDATE action_trigger.event_definition SET validator = 'HoldNotifyCheck' WHERE i
 
 -- NOT COVERED: Adding check_sms_notify to the proper trigger. It doesn't have a static id.
 
+COMMIT;
+
 --UNDO
 --UPDATE action_trigger.event_definition SET validator = 'NOOP_True' WHERE id = 9;
 --DELETE FROM action_trigger.event_params WHERE param = 'check_email_notify';

commit 034fb7bcb12964cecb14a2da7f81a8e2523ed075
Author: Thomas Berezansky <tsbere at mvlc.org>
Date:   Mon Feb 6 17:19:14 2012 -0500

    Enable notify checking for holds in A/T Validators
    
    HoldIsAvailable and HoldIsCanceled get new checks, plus add HoldNotifyCheck
    validator.
    
    All three check for "check_$type_notify" parameters evaling to true, where
    $type is email, sms, or phone. If true the hold's appropriate value is
    checked and, if not suitable, the validator returns false.
    
    For email the email_notify value must pass the is_true test.
    
    For sms/phone the appropriate notify value must pass perl's truth test.
    
    Upgrade script modifies default event definitions, with the exception of
    the sms hold available event definition. That has no static id in the seed
    values.
    
    Signed-off-by: Thomas Berezansky <tsbere at mvlc.org>
    Signed-off-by: Bill Erickson <berick at esilibrary.com>

diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/Trigger/Validator.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/Trigger/Validator.pm
index 55c5742..f3a701a 100644
--- a/Open-ILS/src/perlmods/lib/OpenILS/Application/Trigger/Validator.pm
+++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Trigger/Validator.pm
@@ -5,10 +5,13 @@ use DateTime::Format::ISO8601;
 use OpenSRF::Utils qw/:datetime/;
 use OpenSRF::Utils::Logger qw/:logger/;
 use OpenILS::Const qw/:const/;
+use OpenILS::Application::AppUtils;
 sub fourty_two { return 42 }
 sub NOOP_True { return 1 }
 sub NOOP_False { return 0 }
 
+my $U = 'OpenILS::Application::AppUtils';
+
 sub CircIsOpen {
     my $self = shift;
     my $env = shift;
@@ -73,6 +76,16 @@ sub HoldIsAvailable {
 
     my $hold = $env->{target};
 
+    if ($env->{params}->{check_email_notify}) {
+        return 0 unless $U->is_true($hold->email_notify);
+    }
+    if ($env->{params}->{check_sms_notify}) {
+        return 0 unless $hold->sms_notify;
+    }
+    if ($env->{params}->{check_phone_notify}) {
+        return 0 unless $hold->phone_notify;
+    }
+
     return 1 if 
         !$hold->cancel_time and
         !$hold->fulfillment_time and
@@ -106,7 +119,36 @@ sub HoldIsCancelled {
 
     my $hold = $env->{target};
 
+    if ($env->{params}->{check_email_notify}) {
+        return 0 unless $U->is_true($hold->email_notify);
+    }
+    if ($env->{params}->{check_sms_notify}) {
+        return 0 unless $hold->sms_notify;
+    }
+    if ($env->{params}->{check_phone_notify}) {
+        return 0 unless $hold->phone_notify;
+    }
+
     return ($hold->cancel_time) ? 1 : 0;
 }
 
+sub HoldNotifyCheck {
+    my $self = shift;
+    my $env = shift;
+
+    my $hold = $env->{target};
+
+    if ($env->{params}->{check_email_notify}) {
+        return 0 unless $U->is_true($hold->email_notify);
+    }
+    if ($env->{params}->{check_sms_notify}) {
+        return 0 unless $hold->sms_notify;
+    }
+    if ($env->{params}->{check_phone_notify}) {
+        return 0 unless $hold->phone_notify;
+    }
+
+    return 1;
+}
+
 1;
diff --git a/Open-ILS/src/sql/Pg/950.data.seed-values.sql b/Open-ILS/src/sql/Pg/950.data.seed-values.sql
index 94e7626..86ad4f6 100644
--- a/Open-ILS/src/sql/Pg/950.data.seed-values.sql
+++ b/Open-ILS/src/sql/Pg/950.data.seed-values.sql
@@ -6522,6 +6522,8 @@ The item(s) you requested are available for pickup from the Library.
 
 $$);
 
+INSERT INTO action_trigger.event_params (event_def, param, value)
+    VALUES (5, 'check_email_notify', 1);
 
 INSERT INTO action_trigger.hook (
         key,
@@ -6584,6 +6586,8 @@ pickup, but these holds will soon expire.
 $$
 );
 
+INSERT INTO action_trigger.event_params (event_def, param, value)
+    VALUES (7, 'check_email_notify', 1);
 
 INSERT INTO action_trigger.environment (
         event_def,
@@ -6607,6 +6611,15 @@ INSERT INTO action_trigger.hook (
         TRUE
     );
 
+INSERT INTO action_trigger.validator (module,description) VALUES
+    ('HoldNotifyCheck',
+    oils_i18n_gettext(
+        'HoldNotifyCheck',
+        'Check Hold notification flag(s)',
+        'atval',
+        'description'
+    ));
+
 INSERT INTO action_trigger.event_definition (
         id,
         active,
@@ -6625,7 +6638,7 @@ INSERT INTO action_trigger.event_definition (
         1,
         'Hold waiting for pickup for long time',
         'hold_request.long_wait',
-        'NOOP_True',
+        'HoldNotifyCheck',
         'SendEmail',
         '6 MONTHS',
         'request_time',
@@ -6658,6 +6671,9 @@ INSERT INTO action_trigger.environment (event_def, path)
     (9, 'usr'),
     (9, 'current_copy.call_number');
 
+INSERT INTO action_trigger.event_params (event_def, param, value)
+    VALUES (9, 'check_email_notify', 1);
+
 -- trigger data related to acq user requests
 
 INSERT INTO action_trigger.hook (key,core_type,description,passive) VALUES (
@@ -9192,6 +9208,9 @@ INSERT INTO action_trigger.environment (event_def, path) VALUES
     (38, 'pickup_lib'),
     (38, 'bib_rec.bib_record.simple_record');
 
+INSERT INTO action_trigger.event_params (event_def, param, value)
+    VALUES (currval('action_trigger.event_definition_id_seq'), 'check_email_notify', 1);
+
 ----------------------------------------------------------------
 -- Seed data for queued record/item exports
 ----------------------------------------------------------------
@@ -11238,6 +11257,9 @@ INSERT INTO action_trigger.environment (
     'pickup_lib.billing_address'
 );
 
+INSERT INTO action_trigger.event_params (event_def, param, value)
+    VALUES (currval('action_trigger.event_definition_id_seq'), 'check_sms_notify', 1);
+
 INSERT INTO action_trigger.hook(
     key,
     core_type,
diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.hold_available_email_notify.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.hold_available_email_notify.sql
new file mode 100644
index 0000000..a0ab077
--- /dev/null
+++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.hold_available_email_notify.sql
@@ -0,0 +1,22 @@
+INSERT INTO action_trigger.event_params (event_def, param, value)
+    VALUES (5, 'check_email_notify', 1);
+INSERT INTO action_trigger.event_params (event_def, param, value)
+    VALUES (7, 'check_email_notify', 1);
+INSERT INTO action_trigger.event_params (event_def, param, value)
+    VALUES (9, 'check_email_notify', 1);
+INSERT INTO action_trigger.validator (module,description) VALUES
+    ('HoldNotifyCheck',
+    oils_i18n_gettext(
+        'HoldNotifyCheck',
+        'Check Hold notification flag(s)',
+        'atval',
+        'description'
+    ));
+UPDATE action_trigger.event_definition SET validator = 'HoldNotifyCheck' WHERE id = 9;
+
+-- NOT COVERED: Adding check_sms_notify to the proper trigger. It doesn't have a static id.
+
+--UNDO
+--UPDATE action_trigger.event_definition SET validator = 'NOOP_True' WHERE id = 9;
+--DELETE FROM action_trigger.event_params WHERE param = 'check_email_notify';
+--DELETE FROM action_trigger.validator WHERE module = 'HoldNotifyCheck';

-----------------------------------------------------------------------

Summary of changes:
 .../lib/OpenILS/Application/Trigger/Validator.pm   |   42 ++++++++++++++++++++
 Open-ILS/src/sql/Pg/002.schema.config.sql          |    2 +-
 Open-ILS/src/sql/Pg/950.data.seed-values.sql       |   24 +++++++++++-
 .../upgrade/0683.hold_available_email_notify.sql   |   29 +++++++++++++
 4 files changed, 95 insertions(+), 2 deletions(-)
 create mode 100644 Open-ILS/src/sql/Pg/upgrade/0683.hold_available_email_notify.sql


hooks/post-receive
-- 
Evergreen ILS


More information about the open-ils-commits mailing list