From 72522570c89283573ebf914a604c12c016761208 Mon Sep 17 00:00:00 2001 From: Jason Etheridge Date: Wed, 11 May 2011 02:42:30 -0400 Subject: [PATCH] CSV template and file saving worked out --- Open-ILS/src/sql/Pg/upgrade/renumber_me.sql | 35 ++++++++++++++++++++++++- Open-ILS/web/js/ui/default/vandelay/vandelay.js | 18 ++++++++++--- 2 files changed, 49 insertions(+), 4 deletions(-) diff --git a/Open-ILS/src/sql/Pg/upgrade/renumber_me.sql b/Open-ILS/src/sql/Pg/upgrade/renumber_me.sql index 42e8aecaaf..456038964d 100644 --- a/Open-ILS/src/sql/Pg/upgrade/renumber_me.sql +++ b/Open-ILS/src/sql/Pg/upgrade/renumber_me.sql @@ -161,5 +161,38 @@ INSERT INTO action_trigger.environment ( event_def, path) VALUES ( ,( 38, 'queue') ; +INSERT INTO action_trigger.event_definition ( + id, + active, + owner, + name, + hook, + validator, + reactor, + group_field, + granularity, + template + ) VALUES ( + 39, + TRUE, + 1, + 'CSV Output for Queued Bib Records', + 'vandelay.queued_bib_record.csv', + 'NOOP_True', + 'ProcessTemplate', + 'usr', + 'print-on-demand', +$$ +[%- USE date -%][%- FOR vqbr IN target -%]"[% helpers.get_queued_bib_attr('title',vqbr.attributes) | replace('"', '""') %]","[% helpers.get_queued_bib_attr('author',vqbr.attributes) | replace('"', '""') %]","[% helpers.get_queued_bib_attr('language',vqbr.attributes) | replace('"', '""') %]","[% helpers.get_queued_bib_attr('pagination',vqbr.attributes) | replace('"', '""') %]","[% helpers.get_queued_bib_attr('isbn',vqbr.attributes) | replace('"', '""') %]","[% helpers.get_queued_bib_attr('issn',vqbr.attributes) | replace('"', '""') %]","[% helpers.get_queued_bib_attr('price',vqbr.attributes) | replace('"', '""') %]","[% helpers.get_queued_bib_attr('rec_identifier',vqbr.attributes) | replace('"', '""') %]","[% helpers.get_queued_bib_attr('eg_tcn',vqbr.attributes) | replace('"', '""') %]","[% helpers.get_queued_bib_attr('eg_tcn_source',vqbr.attributes) | replace('"', '""') %]","[% helpers.get_queued_bib_attr('eg_identifier',vqbr.attributes) | replace('"', '""') %]","[% helpers.get_queued_bib_attr('publisher',vqbr.attributes) | replace('"', '""') %]","[% helpers.get_queued_bib_attr('pubdate',vqbr.attributes) | replace('"', '""') %]","[% helpers.get_queued_bib_attr('edition',vqbr.attributes) | replace('"', '""') %]","[% helpers.get_queued_bib_attr('item_barcode',vqbr.attributes) | replace('"', '""') %]"[%- END -%] +$$ + ) +; + +INSERT INTO action_trigger.environment ( event_def, path) VALUES ( + 39, 'attributes') + ,( 39, 'queue') +; + + COMMIT; --- DELETE FROM action_trigger.event WHERE event_def IN (38); DELETE FROM action_trigger.environment WHERE event_def IN (38); DELETE FROM action_trigger.event_definition WHERE id IN (38); DELETE FROM action_trigger.hook WHERE key IN ('vandelay.queued_bib_record.print','vandelay.queued_bib_record.csv','vandelay.queued_bib_record.email','vandelay.queued_auth_record.print','vandelay.queued_auth_record.csv','vandelay.queued_auth_record.email','vandelay.import_items.print','vandelay.import_items.csv','vandelay.import_items.email'); DELETE FROM config.upgrade_log WHERE version = 'test'; +-- DELETE FROM action_trigger.event WHERE event_def IN (38,39); DELETE FROM action_trigger.environment WHERE event_def IN (38,39); DELETE FROM action_trigger.event_definition WHERE id IN (38,39); DELETE FROM action_trigger.hook WHERE key IN ('vandelay.queued_bib_record.print','vandelay.queued_bib_record.csv','vandelay.queued_bib_record.email','vandelay.queued_auth_record.print','vandelay.queued_auth_record.csv','vandelay.queued_auth_record.email','vandelay.import_items.print','vandelay.import_items.csv','vandelay.import_items.email'); DELETE FROM config.upgrade_log WHERE version = 'test'; diff --git a/Open-ILS/web/js/ui/default/vandelay/vandelay.js b/Open-ILS/web/js/ui/default/vandelay/vandelay.js index 95658691db..46b063f395 100644 --- a/Open-ILS/web/js/ui/default/vandelay/vandelay.js +++ b/Open-ILS/web/js/ui/default/vandelay/vandelay.js @@ -423,10 +423,22 @@ function vlExportInit() { function exportHandler(type, response) { try { - var content = openils.Util.readResponse(response)[0].template_output().data(); + var content = openils.Util.readResponse(response); + if (type=='email') { + if (content) { throw(content); } + return; + } + content = content[0].template_output().data(); switch(type) { - case 'print': openils.Util.printHtmlString(content); break; - default: alert('response = ' + response + ' content:\n' + content); + case 'print': + openils.Util.printHtmlString(content); + break; + case 'csv': + //content = content.replace(/\\t/g,'\t'); // if we really wanted to do .tsv instead + openils.XUL.contentToFileSaveDialog(content); + break; + default: + alert('response = ' + response + '\tcontent:\n' + content); } } catch(E) { alert('Error exporting data: ' + E); -- 2.11.0