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;
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
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;
$$);
+INSERT INTO action_trigger.event_params (event_def, param, value)
+ VALUES (5, 'check_email_notify', 1);
INSERT INTO action_trigger.hook (
key,
$$
);
+INSERT INTO action_trigger.event_params (event_def, param, value)
+ VALUES (7, 'check_email_notify', 1);
INSERT INTO action_trigger.environment (
event_def,
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,
1,
'Hold waiting for pickup for long time',
'hold_request.long_wait',
- 'NOOP_True',
+ 'HoldNotifyCheck',
'SendEmail',
'6 MONTHS',
'request_time',
(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 (
(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
----------------------------------------------------------------
'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,
--- /dev/null
+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';