From: Mike Rylander Date: Mon, 10 Mar 2014 16:31:51 +0000 (-0400) Subject: Stamping upgrade script for TPAC metarecord / formats repairs and usability additions X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=d470c2dcf5ffb4b1d28f783f8eb356fdc4f6ab06;p=evergreen%2Fmasslnc.git Stamping upgrade script for TPAC metarecord / formats repairs and usability additions Signed-off-by: Mike Rylander --- diff --git a/Open-ILS/src/sql/Pg/002.schema.config.sql b/Open-ILS/src/sql/Pg/002.schema.config.sql index 7dc8705a01..dfcbbcde31 100644 --- a/Open-ILS/src/sql/Pg/002.schema.config.sql +++ b/Open-ILS/src/sql/Pg/002.schema.config.sql @@ -91,7 +91,7 @@ CREATE TRIGGER no_overlapping_deps BEFORE INSERT OR UPDATE ON config.db_patch_dependencies FOR EACH ROW EXECUTE PROCEDURE evergreen.array_overlap_check ('deprecates'); -INSERT INTO config.upgrade_log (version, applied_to) VALUES ('0870', :eg_version); -- miker/bshum +INSERT INTO config.upgrade_log (version, applied_to) VALUES ('0871', :eg_version); -- berick/miker CREATE TABLE config.bib_source ( id SERIAL PRIMARY KEY, diff --git a/Open-ILS/src/sql/Pg/upgrade/0871.data.tpac-format-selector.sql b/Open-ILS/src/sql/Pg/upgrade/0871.data.tpac-format-selector.sql new file mode 100644 index 0000000000..0e706e3084 --- /dev/null +++ b/Open-ILS/src/sql/Pg/upgrade/0871.data.tpac-format-selector.sql @@ -0,0 +1,127 @@ + +BEGIN; + +SELECT evergreen.upgrade_deps_block_check('0871', :eg_version); + +INSERT INTO config.record_attr_definition + (name, label, multi, filter, composite) VALUES ( + 'search_format', + oils_i18n_gettext('search_format', 'Search Formats', 'crad', 'label'), + TRUE, TRUE, TRUE + ); + +INSERT INTO config.coded_value_map + (id, ctype, code, value, search_label) VALUES +(610, 'search_format', 'book', + oils_i18n_gettext(610, 'All Books', 'ccvm', 'value'), + oils_i18n_gettext(610, 'All Books', 'ccvm', 'search_label')), +(611, 'search_format', 'braille', + oils_i18n_gettext(611, 'Braille', 'ccvm', 'value'), + oils_i18n_gettext(611, 'Braille', 'ccvm', 'search_label')), +(612, 'search_format', 'software', + oils_i18n_gettext(612, 'Software and video games', 'ccvm', 'value'), + oils_i18n_gettext(612, 'Software and video games', 'ccvm', 'search_label')), +(613, 'search_format', 'dvd', + oils_i18n_gettext(613, 'DVD', 'ccvm', 'value'), + oils_i18n_gettext(613, 'DVD', 'ccvm', 'search_label')), +(614, 'search_format', 'ebook', + oils_i18n_gettext(614, 'E-book', 'ccvm', 'value'), + oils_i18n_gettext(614, 'E-book', 'ccvm', 'search_label')), +(615, 'search_format', 'eaudio', + oils_i18n_gettext(615, 'E-audio', 'ccvm', 'value'), + oils_i18n_gettext(615, 'E-audio', 'ccvm', 'search_label')), +(616, 'search_format', 'kit', + oils_i18n_gettext(616, 'Kit', 'ccvm', 'value'), + oils_i18n_gettext(616, 'Kit', 'ccvm', 'search_label')), +(617, 'search_format', 'map', + oils_i18n_gettext(617, 'Map', 'ccvm', 'value'), + oils_i18n_gettext(617, 'Map', 'ccvm', 'search_label')), +(618, 'search_format', 'microform', + oils_i18n_gettext(618, 'Microform', 'ccvm', 'value'), + oils_i18n_gettext(618, 'Microform', 'ccvm', 'search_label')), +(619, 'search_format', 'score', + oils_i18n_gettext(619, 'Music Score', 'ccvm', 'value'), + oils_i18n_gettext(619, 'Music Score', 'ccvm', 'search_label')), +(620, 'search_format', 'picture', + oils_i18n_gettext(620, 'Picture', 'ccvm', 'value'), + oils_i18n_gettext(620, 'Picture', 'ccvm', 'search_label')), +(621, 'search_format', 'equip', + oils_i18n_gettext(621, 'Equipment, games, toys', 'ccvm', 'value'), + oils_i18n_gettext(621, 'Equipment, games, toys', 'ccvm', 'search_label')), +(622, 'search_format', 'serial', + oils_i18n_gettext(622, 'Serials and magazines', 'ccvm', 'value'), + oils_i18n_gettext(622, 'Serials and magazines', 'ccvm', 'search_label')), +(623, 'search_format', 'vhs', + oils_i18n_gettext(623, 'VHS', 'ccvm', 'value'), + oils_i18n_gettext(623, 'VHS', 'ccvm', 'search_label')), +(624, 'search_format', 'evideo', + oils_i18n_gettext(624, 'E-video', 'ccvm', 'value'), + oils_i18n_gettext(624, 'E-video', 'ccvm', 'search_label')), +(625, 'search_format', 'cdaudiobook', + oils_i18n_gettext(625, 'CD Audiobook', 'ccvm', 'value'), + oils_i18n_gettext(625, 'CD Audiobook', 'ccvm', 'search_label')), +(626, 'search_format', 'cdmusic', + oils_i18n_gettext(626, 'CD Music recording', 'ccvm', 'value'), + oils_i18n_gettext(626, 'CD Music recording', 'ccvm', 'search_label')), +(627, 'search_format', 'casaudiobook', + oils_i18n_gettext(627, 'Cassette audiobook', 'ccvm', 'value'), + oils_i18n_gettext(627, 'Cassette audiobook', 'ccvm', 'search_label')), +(628, 'search_format', 'casmusic', + oils_i18n_gettext(628, 'Audiocassette music recording', 'ccvm', 'value'), + oils_i18n_gettext(628, 'Audiocassette music recording', 'ccvm', 'search_label')), +(629, 'search_format', 'phonospoken', + oils_i18n_gettext(629, 'Phonograph spoken recording', 'ccvm', 'value'), + oils_i18n_gettext(629, 'Phonograph spoken recording', 'ccvm', 'search_label')), +(630, 'search_format', 'phonomusic', + oils_i18n_gettext(630, 'Phonograph music recording', 'ccvm', 'value'), + oils_i18n_gettext(630, 'Phonograph music recording', 'ccvm', 'search_label')), +(631, 'search_format', 'lpbook', + oils_i18n_gettext(631, 'Large Print Book', 'ccvm', 'value'), + oils_i18n_gettext(631, 'Large Print Book', 'ccvm', 'search_label')), +(632, 'search_format', 'music', + oils_i18n_gettext(632, 'All Music', 'ccvm', 'label'), + oils_i18n_gettext(632, 'All Music', 'ccvm', 'search_label')), +(633, 'search_format', 'blu-ray', + oils_i18n_gettext(633, 'Blu-ray', 'ccvm', 'value'), + oils_i18n_gettext(633, 'Blu-ray', 'ccvm', 'search_label')); + + + +-- copy the composite definition from icon_format into +-- search_format for a baseline data set +DO $$ + DECLARE format config.coded_value_map%ROWTYPE; +BEGIN + FOR format IN SELECT * + FROM config.coded_value_map WHERE ctype = 'icon_format' + LOOP + INSERT INTO config.composite_attr_entry_definition + (coded_value, definition) VALUES + ( + -- get the ID from the new ccvm above + (SELECT id FROM config.coded_value_map + WHERE code = format.code AND ctype = 'search_format'), + + -- def of the matching icon_format attr + (SELECT definition FROM config.composite_attr_entry_definition + WHERE coded_value = format.id) + ); + END LOOP; +END $$; + +-- modify the 'book' definition so that it includes large print +UPDATE config.composite_attr_entry_definition + SET definition = '{"0":[{"_attr":"item_type","_val":"a"},{"_attr":"item_type","_val":"t"}],"1":{"_not":[{"_attr":"item_form","_val":"a"},{"_attr":"item_form","_val":"b"},{"_attr":"item_form","_val":"c"},{"_attr":"item_form","_val":"f"},{"_attr":"item_form","_val":"o"},{"_attr":"item_form","_val":"q"},{"_attr":"item_form","_val":"r"},{"_attr":"item_form","_val":"s"}]},"2":[{"_attr":"bib_level","_val":"a"},{"_attr":"bib_level","_val":"c"},{"_attr":"bib_level","_val":"d"},{"_attr":"bib_level","_val":"m"}]}' + WHERE coded_value = 610; + +-- modify 'music' to include all recorded music, regardless of format +UPDATE config.composite_attr_entry_definition + SET definition = '{"_attr":"item_type","_val":"j"}' + WHERE coded_value = 632; + +UPDATE config.global_flag + SET value = 'search_format' + WHERE name = 'opac.format_selector.attr'; + +COMMIT; + diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.data.tpac-format-selector.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.data.tpac-format-selector.sql deleted file mode 100644 index a0d30beeff..0000000000 --- a/Open-ILS/src/sql/Pg/upgrade/XXXX.data.tpac-format-selector.sql +++ /dev/null @@ -1,125 +0,0 @@ - -BEGIN; - -INSERT INTO config.record_attr_definition - (name, label, multi, filter, composite) VALUES ( - 'search_format', - oils_i18n_gettext('search_format', 'Search Formats', 'crad', 'label'), - TRUE, TRUE, TRUE - ); - -INSERT INTO config.coded_value_map - (id, ctype, code, value, search_label) VALUES -(610, 'search_format', 'book', - oils_i18n_gettext(610, 'All Books', 'ccvm', 'value'), - oils_i18n_gettext(610, 'All Books', 'ccvm', 'search_label')), -(611, 'search_format', 'braille', - oils_i18n_gettext(611, 'Braille', 'ccvm', 'value'), - oils_i18n_gettext(611, 'Braille', 'ccvm', 'search_label')), -(612, 'search_format', 'software', - oils_i18n_gettext(612, 'Software and video games', 'ccvm', 'value'), - oils_i18n_gettext(612, 'Software and video games', 'ccvm', 'search_label')), -(613, 'search_format', 'dvd', - oils_i18n_gettext(613, 'DVD', 'ccvm', 'value'), - oils_i18n_gettext(613, 'DVD', 'ccvm', 'search_label')), -(614, 'search_format', 'ebook', - oils_i18n_gettext(614, 'E-book', 'ccvm', 'value'), - oils_i18n_gettext(614, 'E-book', 'ccvm', 'search_label')), -(615, 'search_format', 'eaudio', - oils_i18n_gettext(615, 'E-audio', 'ccvm', 'value'), - oils_i18n_gettext(615, 'E-audio', 'ccvm', 'search_label')), -(616, 'search_format', 'kit', - oils_i18n_gettext(616, 'Kit', 'ccvm', 'value'), - oils_i18n_gettext(616, 'Kit', 'ccvm', 'search_label')), -(617, 'search_format', 'map', - oils_i18n_gettext(617, 'Map', 'ccvm', 'value'), - oils_i18n_gettext(617, 'Map', 'ccvm', 'search_label')), -(618, 'search_format', 'microform', - oils_i18n_gettext(618, 'Microform', 'ccvm', 'value'), - oils_i18n_gettext(618, 'Microform', 'ccvm', 'search_label')), -(619, 'search_format', 'score', - oils_i18n_gettext(619, 'Music Score', 'ccvm', 'value'), - oils_i18n_gettext(619, 'Music Score', 'ccvm', 'search_label')), -(620, 'search_format', 'picture', - oils_i18n_gettext(620, 'Picture', 'ccvm', 'value'), - oils_i18n_gettext(620, 'Picture', 'ccvm', 'search_label')), -(621, 'search_format', 'equip', - oils_i18n_gettext(621, 'Equipment, games, toys', 'ccvm', 'value'), - oils_i18n_gettext(621, 'Equipment, games, toys', 'ccvm', 'search_label')), -(622, 'search_format', 'serial', - oils_i18n_gettext(622, 'Serials and magazines', 'ccvm', 'value'), - oils_i18n_gettext(622, 'Serials and magazines', 'ccvm', 'search_label')), -(623, 'search_format', 'vhs', - oils_i18n_gettext(623, 'VHS', 'ccvm', 'value'), - oils_i18n_gettext(623, 'VHS', 'ccvm', 'search_label')), -(624, 'search_format', 'evideo', - oils_i18n_gettext(624, 'E-video', 'ccvm', 'value'), - oils_i18n_gettext(624, 'E-video', 'ccvm', 'search_label')), -(625, 'search_format', 'cdaudiobook', - oils_i18n_gettext(625, 'CD Audiobook', 'ccvm', 'value'), - oils_i18n_gettext(625, 'CD Audiobook', 'ccvm', 'search_label')), -(626, 'search_format', 'cdmusic', - oils_i18n_gettext(626, 'CD Music recording', 'ccvm', 'value'), - oils_i18n_gettext(626, 'CD Music recording', 'ccvm', 'search_label')), -(627, 'search_format', 'casaudiobook', - oils_i18n_gettext(627, 'Cassette audiobook', 'ccvm', 'value'), - oils_i18n_gettext(627, 'Cassette audiobook', 'ccvm', 'search_label')), -(628, 'search_format', 'casmusic', - oils_i18n_gettext(628, 'Audiocassette music recording', 'ccvm', 'value'), - oils_i18n_gettext(628, 'Audiocassette music recording', 'ccvm', 'search_label')), -(629, 'search_format', 'phonospoken', - oils_i18n_gettext(629, 'Phonograph spoken recording', 'ccvm', 'value'), - oils_i18n_gettext(629, 'Phonograph spoken recording', 'ccvm', 'search_label')), -(630, 'search_format', 'phonomusic', - oils_i18n_gettext(630, 'Phonograph music recording', 'ccvm', 'value'), - oils_i18n_gettext(630, 'Phonograph music recording', 'ccvm', 'search_label')), -(631, 'search_format', 'lpbook', - oils_i18n_gettext(631, 'Large Print Book', 'ccvm', 'value'), - oils_i18n_gettext(631, 'Large Print Book', 'ccvm', 'search_label')), -(632, 'search_format', 'music', - oils_i18n_gettext(632, 'All Music', 'ccvm', 'label'), - oils_i18n_gettext(632, 'All Music', 'ccvm', 'search_label')), -(633, 'search_format', 'blu-ray', - oils_i18n_gettext(633, 'Blu-ray', 'ccvm', 'value'), - oils_i18n_gettext(633, 'Blu-ray', 'ccvm', 'search_label')); - - - --- copy the composite definition from icon_format into --- search_format for a baseline data set -DO $$ - DECLARE format config.coded_value_map%ROWTYPE; -BEGIN - FOR format IN SELECT * - FROM config.coded_value_map WHERE ctype = 'icon_format' - LOOP - INSERT INTO config.composite_attr_entry_definition - (coded_value, definition) VALUES - ( - -- get the ID from the new ccvm above - (SELECT id FROM config.coded_value_map - WHERE code = format.code AND ctype = 'search_format'), - - -- def of the matching icon_format attr - (SELECT definition FROM config.composite_attr_entry_definition - WHERE coded_value = format.id) - ); - END LOOP; -END $$; - --- modify the 'book' definition so that it includes large print -UPDATE config.composite_attr_entry_definition - SET definition = '{"0":[{"_attr":"item_type","_val":"a"},{"_attr":"item_type","_val":"t"}],"1":{"_not":[{"_attr":"item_form","_val":"a"},{"_attr":"item_form","_val":"b"},{"_attr":"item_form","_val":"c"},{"_attr":"item_form","_val":"f"},{"_attr":"item_form","_val":"o"},{"_attr":"item_form","_val":"q"},{"_attr":"item_form","_val":"r"},{"_attr":"item_form","_val":"s"}]},"2":[{"_attr":"bib_level","_val":"a"},{"_attr":"bib_level","_val":"c"},{"_attr":"bib_level","_val":"d"},{"_attr":"bib_level","_val":"m"}]}' - WHERE coded_value = 610; - --- modify 'music' to include all recorded music, regardless of format -UPDATE config.composite_attr_entry_definition - SET definition = '{"_attr":"item_type","_val":"j"}' - WHERE coded_value = 632; - -UPDATE config.global_flag - SET value = 'search_format' - WHERE name = 'opac.format_selector.attr'; - -COMMIT; -