]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/src/sql/Pg/upgrade/XXXX.data.circ_history_export_csv.sql
TPac: Circulation history CSV export
[working/Evergreen.git] / Open-ILS / src / sql / Pg / upgrade / XXXX.data.circ_history_export_csv.sql
1
2 BEGIN;
3
4 INSERT INTO action_trigger.hook (key, core_type, description, passive)
5 VALUES (
6     'circ.format.history.csv',
7     'circ',
8     oils_i18n_gettext(
9         'circ.format.history.csv',
10         'Produce CSV of circulation history',
11         'ath',
12         'description'
13     ),
14     FALSE
15 );
16
17 INSERT INTO action_trigger.event_definition (
18     active, owner, name, hook, reactor, validator, group_field, template) 
19 VALUES (
20     TRUE, 1, 'Circ History CSV', 'circ.format.history.csv', 'ProcessTemplate', 'NOOP_True', 'usr',
21 $$
22 Title,Author,Call Number,Barcode,Format
23 [%-
24 FOR circ IN target;
25     bibxml = helpers.unapi_bre(circ.target_copy.call_number.record, {flesh => '{mra}'});
26     title = "";
27     FOR part IN bibxml.findnodes('//*[@tag="245"]/*[@code="a" or @code="b"]');
28         title = title _ part.textContent;
29     END;
30     author = bibxml.findnodes('//*[@tag="100"]/*[@code="a"]').textContent;
31     item_type = bibxml.findnodes('//*[local-name()="attributes"]/*[local-name()="field"][@name="item_type"]').getAttribute('coded-value') %]
32
33     [%- helpers.csv_datum(title) -%],
34     [%- helpers.csv_datum(author) -%],
35     [%- helpers.csv_datum(circ.target_copy.call_number.label) -%],
36     [%- helpers.csv_datum(circ.target_copy.barcode) -%],
37     [%- helpers.csv_datum(item_type) %]
38 [%- END -%]
39 $$
40 );
41
42 INSERT INTO action_trigger.environment (event_def, path)
43     VALUES (
44         currval('action_trigger.event_definition_id_seq'),
45         'target_copy.call_number'
46     );
47
48 COMMIT;
49
50 /* UNDO
51 DELETE FROM action_trigger.event WHERE event_def = (
52     SELECT id FROM action_trigger.event_definition WHERE hook = 'circ.format.history.csv');
53 DELETE FROM action_trigger.event_definition WHERE hook = 'circ.format.history.csv');
54 DELETE FROM action_trigger.hook WHERE key = 'circ.format.history.csv';
55 */