]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/src/sql/Pg/upgrade/0294.data.bre_format.sql
Email/print methods for printing A/T templated bib information
[working/Evergreen.git] / Open-ILS / src / sql / Pg / upgrade / 0294.data.bre_format.sql
1 BEGIN;
2
3 INSERT INTO config.upgrade_log (version) VALUES ('0294'); -- phasefx
4
5 INSERT INTO container.biblio_record_entry_bucket_type( code, label ) VALUES (
6     'temp',
7     oils_i18n_gettext(
8         'temp',
9         'Temporary bucket which gets deleted after use.',
10         'cbrebt',
11         'label'
12     )
13 );
14
15 INSERT INTO action_trigger.cleanup ( module, description ) VALUES (
16     'DeleteTempBiblioBucket',
17     oils_i18n_gettext(
18         'DeleteTempBiblioBucket',
19         'Deletes a cbreb object used as a target if it has a btype of "temp"',
20         'atclean',
21         'description'
22     )
23 );
24
25 INSERT INTO action_trigger.hook (key,core_type,description,passive) VALUES (
26         'biblio.format.record_entry.email',
27         'cbreb', 
28         oils_i18n_gettext(
29             'biblio.format.record_entry.email',
30             'An email has been requested for one or more biblio record entries.',
31             'ath',
32             'description'
33         ), 
34         FALSE
35     )
36     ,(
37         'biblio.format.record_entry.print',
38         'cbreb', 
39         oils_i18n_gettext(
40             'biblio.format.record_entry.print',
41             'One or more biblio record entries need to be formatted for printing.',
42             'ath',
43             'description'
44         ), 
45         FALSE
46     )
47 ;
48
49 INSERT INTO action_trigger.event_definition (
50         id,
51         active,
52         owner,
53         name,
54         hook,
55         validator,
56         reactor,
57         cleanup_success,
58         cleanup_failure,
59         group_field,
60         granularity,
61         template
62     ) VALUES (
63         31,
64         TRUE,
65         1,
66         'biblio.record_entry.email',
67         'biblio.format.record_entry.email',
68         'NOOP_True',
69         'SendEmail',
70         'DeleteTempBiblioBucket',
71         'DeleteTempBiblioBucket',
72         'owner',
73         NULL,
74 $$
75 [%- USE date -%]
76 [%- SET user = target.0.owner -%]
77 To: [%- params.recipient_email || user.email %]
78 From: [%- params.sender_email || default_sender %]
79 Subject: Bibliographic Records
80
81     [% FOR cbreb IN target %]
82     [% FOR cbrebi IN cbreb.items %]
83         Bib ID# [% cbrebi.target_biblio_record_entry.id %] ISBN: [% crebi.target_biblio_record_entry.simple_record.isbn %]
84         Title: [% cbrebi.target_biblio_record_entry.simple_record.title %]
85         Author: [% cbrebi.target_biblio_record_entry.simple_record.author %]
86         Publication Year: [% cbrebi.target_biblio_record_entry.simple_record.pubdate %]
87
88     [% END %]
89     [% END %]
90 $$
91     )
92     ,(
93         32,
94         TRUE,
95         1,
96         'biblio.record_entry.print',
97         'biblio.format.record_entry.print',
98         'NOOP_True',
99         'ProcessTemplate',
100         'DeleteTempBiblioBucket',
101         'DeleteTempBiblioBucket',
102         'owner',
103         'print-on-demand',
104 $$
105 [%- USE date -%]
106 <div>
107     <style> li { padding: 8px; margin 5px; }</style>
108     <ol>
109     [% FOR cbreb IN target %]
110     [% FOR cbrebi IN cbreb.items %]
111         <li>Bib ID# [% cbrebi.target_biblio_record_entry.id %] ISBN: [% crebi.target_biblio_record_entry.simple_record.isbn %]<br />
112             Title: [% cbrebi.target_biblio_record_entry.simple_record.title %]<br />
113             Author: [% cbrebi.target_biblio_record_entry.simple_record.author %]<br />
114             Publication Year: [% cbrebi.target_biblio_record_entry.simple_record.pubdate %]
115         </li>
116     [% END %]
117     [% END %]
118     </ol>
119 </div>
120 $$
121     )
122 ;
123
124 INSERT INTO action_trigger.environment (
125         event_def,
126         path
127     ) VALUES -- for fleshing cbreb objects
128          ( 31, 'owner' )
129         ,( 31, 'items' )
130         ,( 31, 'items.target_biblio_record_entry' )
131         ,( 31, 'items.target_biblio_record_entry.simple_record' )
132         ,( 31, 'items.target_biblio_record_entry.call_numbers' )
133         ,( 31, 'items.target_biblio_record_entry.fixed_fields' )
134         ,( 31, 'items.target_biblio_record_entry.notes' )
135         ,( 31, 'items.target_biblio_record_entry.full_record_entries' )
136         ,( 32, 'owner' )
137         ,( 32, 'items' )
138         ,( 32, 'items.target_biblio_record_entry' )
139         ,( 32, 'items.target_biblio_record_entry.simple_record' )
140         ,( 32, 'items.target_biblio_record_entry.call_numbers' )
141         ,( 32, 'items.target_biblio_record_entry.fixed_fields' )
142         ,( 32, 'items.target_biblio_record_entry.notes' )
143         ,( 32, 'items.target_biblio_record_entry.full_record_entries' )
144 ;
145
146 -- DELETE FROM action_trigger.environment WHERE event_def IN (31,32); DELETE FROM action_trigger.event where event_def IN (31,32); DELETE FROM action_trigger.event_definition WHERE id IN (31,32); DELETE FROM action_trigger.hook WHERE key IN ('biblio.format.record_entry.email','biblio.format.record_entry.print'); DELETE FROM action_trigger.cleanup WHERE module = 'DeleteTempBiblioBucket'; DELETE FROM container.biblio_record_entry_bucket_item WHERE bucket IN (SELECT id FROM container.biblio_record_entry_bucket WHERE btype = 'temp'); DELETE FROM container.biblio_record_entry_bucket WHERE btype = 'temp'; DELETE FROM container.biblio_record_entry_bucket_type WHERE code = 'temp'; DELETE FROM config.upgrade_log WHERE version = '0294'; -- from testing, this sql will remove these events, etc.
147
148 COMMIT;
149