]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/sql/Pg/upgrade/0871.data.tpac-format-selector.sql
LP#1564079 Checkout history skips nonexistent items
[Evergreen.git] / Open-ILS / src / sql / Pg / upgrade / 0871.data.tpac-format-selector.sql
1
2 BEGIN;
3
4 SELECT evergreen.upgrade_deps_block_check('0871', :eg_version);
5
6 INSERT INTO config.record_attr_definition 
7     (name, label, multi, filter, composite) VALUES (
8         'search_format', 
9         oils_i18n_gettext('search_format', 'Search Formats', 'crad', 'label'),
10         TRUE, TRUE, TRUE
11     );
12
13 INSERT INTO config.coded_value_map
14     (id, ctype, code, value, search_label) VALUES 
15 (610, 'search_format', 'book', 
16     oils_i18n_gettext(610, 'All Books', 'ccvm', 'value'),
17     oils_i18n_gettext(610, 'All Books', 'ccvm', 'search_label')),
18 (611, 'search_format', 'braille', 
19     oils_i18n_gettext(611, 'Braille', 'ccvm', 'value'),
20     oils_i18n_gettext(611, 'Braille', 'ccvm', 'search_label')),
21 (612, 'search_format', 'software', 
22     oils_i18n_gettext(612, 'Software and video games', 'ccvm', 'value'),
23     oils_i18n_gettext(612, 'Software and video games', 'ccvm', 'search_label')),
24 (613, 'search_format', 'dvd', 
25     oils_i18n_gettext(613, 'DVD', 'ccvm', 'value'),
26     oils_i18n_gettext(613, 'DVD', 'ccvm', 'search_label')),
27 (614, 'search_format', 'ebook', 
28     oils_i18n_gettext(614, 'E-book', 'ccvm', 'value'),
29     oils_i18n_gettext(614, 'E-book', 'ccvm', 'search_label')),
30 (615, 'search_format', 'eaudio', 
31     oils_i18n_gettext(615, 'E-audio', 'ccvm', 'value'),
32     oils_i18n_gettext(615, 'E-audio', 'ccvm', 'search_label')),
33 (616, 'search_format', 'kit', 
34     oils_i18n_gettext(616, 'Kit', 'ccvm', 'value'),
35     oils_i18n_gettext(616, 'Kit', 'ccvm', 'search_label')),
36 (617, 'search_format', 'map', 
37     oils_i18n_gettext(617, 'Map', 'ccvm', 'value'),
38     oils_i18n_gettext(617, 'Map', 'ccvm', 'search_label')),
39 (618, 'search_format', 'microform', 
40     oils_i18n_gettext(618, 'Microform', 'ccvm', 'value'),
41     oils_i18n_gettext(618, 'Microform', 'ccvm', 'search_label')),
42 (619, 'search_format', 'score', 
43     oils_i18n_gettext(619, 'Music Score', 'ccvm', 'value'),
44     oils_i18n_gettext(619, 'Music Score', 'ccvm', 'search_label')),
45 (620, 'search_format', 'picture', 
46     oils_i18n_gettext(620, 'Picture', 'ccvm', 'value'),
47     oils_i18n_gettext(620, 'Picture', 'ccvm', 'search_label')),
48 (621, 'search_format', 'equip', 
49     oils_i18n_gettext(621, 'Equipment, games, toys', 'ccvm', 'value'),
50     oils_i18n_gettext(621, 'Equipment, games, toys', 'ccvm', 'search_label')),
51 (622, 'search_format', 'serial', 
52     oils_i18n_gettext(622, 'Serials and magazines', 'ccvm', 'value'),
53     oils_i18n_gettext(622, 'Serials and magazines', 'ccvm', 'search_label')),
54 (623, 'search_format', 'vhs', 
55     oils_i18n_gettext(623, 'VHS', 'ccvm', 'value'),
56     oils_i18n_gettext(623, 'VHS', 'ccvm', 'search_label')),
57 (624, 'search_format', 'evideo', 
58     oils_i18n_gettext(624, 'E-video', 'ccvm', 'value'),
59     oils_i18n_gettext(624, 'E-video', 'ccvm', 'search_label')),
60 (625, 'search_format', 'cdaudiobook', 
61     oils_i18n_gettext(625, 'CD Audiobook', 'ccvm', 'value'),
62     oils_i18n_gettext(625, 'CD Audiobook', 'ccvm', 'search_label')),
63 (626, 'search_format', 'cdmusic', 
64     oils_i18n_gettext(626, 'CD Music recording', 'ccvm', 'value'),
65     oils_i18n_gettext(626, 'CD Music recording', 'ccvm', 'search_label')),
66 (627, 'search_format', 'casaudiobook', 
67     oils_i18n_gettext(627, 'Cassette audiobook', 'ccvm', 'value'),
68     oils_i18n_gettext(627, 'Cassette audiobook', 'ccvm', 'search_label')),
69 (628, 'search_format', 'casmusic',
70     oils_i18n_gettext(628, 'Audiocassette music recording', 'ccvm', 'value'),
71     oils_i18n_gettext(628, 'Audiocassette music recording', 'ccvm', 'search_label')),
72 (629, 'search_format', 'phonospoken', 
73     oils_i18n_gettext(629, 'Phonograph spoken recording', 'ccvm', 'value'),
74     oils_i18n_gettext(629, 'Phonograph spoken recording', 'ccvm', 'search_label')),
75 (630, 'search_format', 'phonomusic', 
76     oils_i18n_gettext(630, 'Phonograph music recording', 'ccvm', 'value'),
77     oils_i18n_gettext(630, 'Phonograph music recording', 'ccvm', 'search_label')),
78 (631, 'search_format', 'lpbook', 
79     oils_i18n_gettext(631, 'Large Print Book', 'ccvm', 'value'),
80     oils_i18n_gettext(631, 'Large Print Book', 'ccvm', 'search_label')),
81 (632, 'search_format', 'music', 
82     oils_i18n_gettext(632, 'All Music', 'ccvm', 'label'),
83     oils_i18n_gettext(632, 'All Music', 'ccvm', 'search_label')),
84 (633, 'search_format', 'blu-ray', 
85     oils_i18n_gettext(633, 'Blu-ray', 'ccvm', 'value'),
86     oils_i18n_gettext(633, 'Blu-ray', 'ccvm', 'search_label'));
87
88
89
90 -- copy the composite definition from icon_format into 
91 -- search_format for a baseline data set
92 DO $$
93     DECLARE format config.coded_value_map%ROWTYPE;
94 BEGIN
95     FOR format IN SELECT * 
96         FROM config.coded_value_map WHERE ctype = 'icon_format'
97     LOOP
98         INSERT INTO config.composite_attr_entry_definition 
99             (coded_value, definition) VALUES
100             (
101                 -- get the ID from the new ccvm above
102                 (SELECT id FROM config.coded_value_map 
103                     WHERE code = format.code AND ctype = 'search_format'),
104
105                 -- def of the matching icon_format attr
106                 (SELECT definition FROM config.composite_attr_entry_definition 
107                     WHERE coded_value = format.id)
108             );
109     END LOOP; 
110 END $$;
111
112 -- modify the 'book' definition so that it includes large print
113 UPDATE config.composite_attr_entry_definition 
114     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"}]}'
115     WHERE coded_value = 610;
116
117 -- modify 'music' to include all recorded music, regardless of format
118 UPDATE config.composite_attr_entry_definition 
119     SET definition = '{"_attr":"item_type","_val":"j"}'
120     WHERE coded_value = 632;
121
122 UPDATE config.global_flag 
123     SET value = 'search_format' 
124     WHERE name = 'opac.format_selector.attr';
125
126 COMMIT;
127