3 INSERT INTO config.global_flag (name, label, value, enabled) VALUES (
4 'opac.metarecord.holds.format_attr',
6 'opac.metarecord.holds.format_attr',
7 'OPAC Metarecord Hold Formats Attribute',
15 INSERT INTO config.record_attr_definition
16 (name, label, multi, filter, composite)
21 'Metarecord Hold Formats',
28 -- these formats are a subset of the "icon_format" attribute,
29 -- modified to exclude electronic resources, which are not holdable
31 -- for i18n purposes, these have to be listed individually
32 INSERT INTO config.coded_value_map
33 (id, ctype, code, value, search_label) VALUES
34 (588, 'mr_hold_format', 'book',
35 oils_i18n_gettext(588, 'Book', 'ccvm', 'value'),
36 oils_i18n_gettext(588, 'Book', 'ccvm', 'search_label')),
37 (589, 'mr_hold_format', 'braille',
38 oils_i18n_gettext(589, 'Braille', 'ccvm', 'value'),
39 oils_i18n_gettext(589, 'Braille', 'ccvm', 'search_label')),
40 (590, 'mr_hold_format', 'software',
41 oils_i18n_gettext(590, 'Software and video games', 'ccvm', 'value'),
42 oils_i18n_gettext(590, 'Software and video games', 'ccvm', 'search_label')),
43 (591, 'mr_hold_format', 'dvd',
44 oils_i18n_gettext(591, 'DVD', 'ccvm', 'value'),
45 oils_i18n_gettext(591, 'DVD', 'ccvm', 'search_label')),
46 (592, 'mr_hold_format', 'kit',
47 oils_i18n_gettext(592, 'Kit', 'ccvm', 'value'),
48 oils_i18n_gettext(592, 'Kit', 'ccvm', 'search_label')),
49 (593, 'mr_hold_format', 'map',
50 oils_i18n_gettext(593, 'Map', 'ccvm', 'value'),
51 oils_i18n_gettext(593, 'Map', 'ccvm', 'search_label')),
52 (594, 'mr_hold_format', 'microform',
53 oils_i18n_gettext(594, 'Microform', 'ccvm', 'value'),
54 oils_i18n_gettext(594, 'Microform', 'ccvm', 'search_label')),
55 (595, 'mr_hold_format', 'score',
56 oils_i18n_gettext(595, 'Music Score', 'ccvm', 'value'),
57 oils_i18n_gettext(595, 'Music Score', 'ccvm', 'search_label')),
58 (596, 'mr_hold_format', 'picture',
59 oils_i18n_gettext(596, 'Picture', 'ccvm', 'value'),
60 oils_i18n_gettext(596, 'Picture', 'ccvm', 'search_label')),
61 (597, 'mr_hold_format', 'equip',
62 oils_i18n_gettext(597, 'Equipment, games, toys', 'ccvm', 'value'),
63 oils_i18n_gettext(597, 'Equipment, games, toys', 'ccvm', 'search_label')),
64 (598, 'mr_hold_format', 'serial',
65 oils_i18n_gettext(598, 'Serials and magazines', 'ccvm', 'value'),
66 oils_i18n_gettext(598, 'Serials and magazines', 'ccvm', 'search_label')),
67 (599, 'mr_hold_format', 'vhs',
68 oils_i18n_gettext(599, 'VHS', 'ccvm', 'value'),
69 oils_i18n_gettext(599, 'VHS', 'ccvm', 'search_label')),
70 (600, 'mr_hold_format', 'cdaudiobook',
71 oils_i18n_gettext(600, 'CD Audiobook', 'ccvm', 'value'),
72 oils_i18n_gettext(600, 'CD Audiobook', 'ccvm', 'search_label')),
73 (601, 'mr_hold_format', 'cdmusic',
74 oils_i18n_gettext(601, 'CD Music recording', 'ccvm', 'value'),
75 oils_i18n_gettext(601, 'CD Music recording', 'ccvm', 'search_label')),
76 (602, 'mr_hold_format', 'casaudiobook',
77 oils_i18n_gettext(602, 'Cassette audiobook', 'ccvm', 'value'),
78 oils_i18n_gettext(602, 'Cassette audiobook', 'ccvm', 'search_label')),
79 (603, 'mr_hold_format', 'casmusic',
80 oils_i18n_gettext(603, 'Audiocassette music recording', 'ccvm', 'value'),
81 oils_i18n_gettext(603, 'Audiocassette music recording', 'ccvm', 'search_label')),
82 (604, 'mr_hold_format', 'phonospoken',
83 oils_i18n_gettext(604, 'Phonograph spoken recording', 'ccvm', 'value'),
84 oils_i18n_gettext(604, 'Phonograph spoken recording', 'ccvm', 'search_label')),
85 (605, 'mr_hold_format', 'phonomusic',
86 oils_i18n_gettext(605, 'Phonograph music recording', 'ccvm', 'value'),
87 oils_i18n_gettext(605, 'Phonograph music recording', 'ccvm', 'search_label')),
88 (606, 'mr_hold_format', 'lpbook',
89 oils_i18n_gettext(606, 'Large Print Book', 'ccvm', 'value'),
90 oils_i18n_gettext(606, 'Large Print Book', 'ccvm', 'search_label'))
93 -- but we can auto-generate the composite definitions
98 FOR format IN SELECT UNNEST(
99 '{book,braille,software,dvd,kit,map,microform,score,picture,equip,serial,vhs,cdaudiobook,cdmusic,casaudiobook,casmusic,phonospoken,phonomusic,lpbook}'::text[]) LOOP
101 INSERT INTO config.composite_attr_entry_definition
102 (coded_value, definition) VALUES
104 -- get the ID from the new ccvm above
105 (SELECT id FROM config.coded_value_map
106 WHERE code = format AND ctype = 'mr_hold_format'),
107 -- get the def of the matching ccvm attached to the icon_format attr
108 (SELECT definition FROM config.composite_attr_entry_definition ccaed
109 JOIN config.coded_value_map ccvm ON (ccaed.coded_value = ccvm.id)
110 WHERE ccvm.ctype = 'icon_format' AND ccvm.code = format)