3 --create hook for actor.usr.expire_date
4 INSERT INTO action_trigger.hook (key, core_type, description, passive)
5 VALUES ('expire', 'au', 'Account is expired', 't');
7 --SQL to create event definition for 30 day account pre-expiration notice
8 --Inactive, owned by top of org tree by default. Modify to suit needs.
9 --Can set reactor to 'ProcessTemplate' for testing. Will generate emails in DB, but not actually send.
11 INSERT INTO action_trigger.event_definition (
12 active, owner, name, hook,
13 validator, reactor, delay, delay_field,
14 max_delay, repeat_delay, template
16 'f', '1', '30 Day Account Expiration Courtesy Notice', 'expire',
17 'NOOP_True', 'SendEmail', '-30 days', 'expire_date',
18 '-29 days', '30 days',
22 [%- lib = target.home_ou -%]
23 To: [%- params.recipient_email || user.email %]
24 From: [%- helpers.get_org_setting(target.home_ou.id, 'org.bounced_emails') || lib.email || params.sender_email || default_sender %]
25 Reply-To: [%- helpers.get_org_setting(target.home_ou.id, 'org.bounced_emails') || lib.email || params.sender_email || default_sender %]
26 Subject: Courtesy Notice - Library Account Expiration in 30 days
27 Auto-Submitted: auto-generated
29 Dear [% user.first_given_name %] [% user.family_name %],
31 Our records indicate your library account is due to expire in 30 days. Please visit your local library at your convenience to renew your account in order to avoid a disruption in access to library service.
36 Contact your library for more information:
39 [%- SET addr = lib.mailing_address -%]
40 [%- IF !addr -%] [%- SET addr = lib.billing_address -%] [%- END %]
41 [% addr.street1 %] [% addr.street2 %]
42 [% addr.city %], [% addr.state %]
48 --insert environment values
49 INSERT INTO action_trigger.environment (event_def, path) VALUES
50 (CURRVAL('action_trigger.event_definition_id_seq'), 'home_ou.mailing_address'),
51 (CURRVAL('action_trigger.event_definition_id_seq'), 'home_ou.billing_address');