From f96108efd162213e0728b1286c3b5e5fbd86683a Mon Sep 17 00:00:00 2001 From: Mike Rylander Date: Fri, 12 Jan 2018 15:24:12 -0500 Subject: [PATCH] LP#1744385: Additional seed data and display field use in the OPAC ... and teach subjects.tt2 how to search with a facet in HL mode (for genre) Signed-off-by: Mike Rylander Signed-off-by: Kathy Lussier Signed-off-by: Dan Wells --- .../XXXX.data.display-field-seed-data.sql | 32 +++++++++++++++++++ .../upgrade/YYYY.data.virtual_index_defs.sql | 3 +- .../templates/opac/parts/record/contents.tt2 | 7 +++- .../templates/opac/parts/record/subjects.tt2 | 11 +++++-- 4 files changed, 49 insertions(+), 4 deletions(-) diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.data.display-field-seed-data.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.data.display-field-seed-data.sql index 6b1788b0d1..b44afd4ed4 100644 --- a/Open-ILS/src/sql/Pg/upgrade/XXXX.data.display-field-seed-data.sql +++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.data.display-field-seed-data.sql @@ -4,6 +4,8 @@ BEGIN; -- NEW config.metabib_field entries +UPDATE config.metabib_field SET display_xpath = facet_xpath, display_field = TRUE WHERE id = 33; + INSERT INTO config.metabib_field (id, field_class, name, label, xpath, display_field, search_field, browse_field) VALUES ( @@ -67,6 +69,36 @@ VALUES ( TRUE, FALSE, FALSE ); +INSERT INTO config.metabib_field (id, field_class, name, + label, xpath, display_field, search_field, browse_field) +VALUES ( + 46, 'keyword', 'bibliography', + oils_i18n_gettext(46, 'Bibliography', 'cmf', 'label'), + $$//mods33:note[@type='bibliography']$$, + TRUE, TRUE, FALSE +),( + 47, 'keyword', 'thesis', + oils_i18n_gettext(47, 'Thesis', 'cmf', 'label'), + $$//mods33:note[@type='thesis']$$, + TRUE, TRUE, FALSE +),( + 48, 'keyword', 'production_credits', + oils_i18n_gettext(48, 'Creation/Production Credits', 'cmf', 'label'), + $$//mods33:note[@type='creation/production credits']$$, + TRUE, TRUE, FALSE +),( + 49, 'keyword', 'performers', + oils_i18n_gettext(49, 'Performers', 'cmf', 'label'), + $$//mods33:note[@type='performers']$$, + TRUE, TRUE, FALSE +),( + 50, 'keyword', 'general_note', + oils_i18n_gettext(50, 'General Note', 'cmf', 'label'), + $$//mods33:note[not(@type)]$$, + TRUE, TRUE, FALSE +) +; + -- Modify existing config.metabib_field entries diff --git a/Open-ILS/src/sql/Pg/upgrade/YYYY.data.virtual_index_defs.sql b/Open-ILS/src/sql/Pg/upgrade/YYYY.data.virtual_index_defs.sql index 65e67ed369..1618350bbc 100644 --- a/Open-ILS/src/sql/Pg/upgrade/YYYY.data.virtual_index_defs.sql +++ b/Open-ILS/src/sql/Pg/upgrade/YYYY.data.virtual_index_defs.sql @@ -8,7 +8,8 @@ INSERT INTO config.metabib_field_virtual_map (real, virtual) 45 FROM config.metabib_field WHERE search_field - AND id NOT IN (15, 45); + AND id NOT IN (15, 45) + AND id NOT IN (SELECT real FROM config.metabib_field_virtual_map); UPDATE config.metabib_field SET xpath=$$//mods32:mods/mods32:subject[not(descendant::mods32:geographicCode)]$$ WHERE id = 16; diff --git a/Open-ILS/src/templates/opac/parts/record/contents.tt2 b/Open-ILS/src/templates/opac/parts/record/contents.tt2 index 4f7897e775..87057dc1a7 100644 --- a/Open-ILS/src/templates/opac/parts/record/contents.tt2 +++ b/Open-ILS/src/templates/opac/parts/record/contents.tt2 @@ -1,15 +1,18 @@ [%- contents = [ { + display_field => 'general_note', label => l('General Note: '), xpath => '//*[@tag="500"]' }, { label => l('With Note: '), xpath => '//*[@tag="501"]' }, { + display_field => 'thesis', label => l('Dissertation Note: '), xpath => '//*[@tag="502"]' }, { + display_field => 'bibliography', label => l('Bibliography, etc. Note: '), xpath => '//*[@tag="504"]' }, { @@ -23,12 +26,14 @@ contents = [ label => l('Scale Note for Graphic Material: '), xpath => '//*[@tag="507"]' }, { + display_field => 'production_credits', label => l('Creation/Production Credits Note: '), xpath => '//*[@tag="508"]' }, { label => l('Citation/References Note: '), xpath => '//*[@tag="510"]' }, { + display_field => 'performers', label => l('Participant or Performer Note: '), xpath => '//*[@tag="511"]' }, { @@ -187,7 +192,7 @@ BLOCK render_all_contents; content = ''; df = cont.display_field; IF df AND attrs.hl.$df.size; - content = attrs.hl.$df.join('
'); + content = '' _ attrs.hl.$df.join('
'); ELSE; content = PROCESS render_contents(xpath=cont.xpath); END; diff --git a/Open-ILS/src/templates/opac/parts/record/subjects.tt2 b/Open-ILS/src/templates/opac/parts/record/subjects.tt2 index ad028561b0..73ae64f482 100644 --- a/Open-ILS/src/templates/opac/parts/record/subjects.tt2 +++ b/Open-ILS/src/templates/opac/parts/record/subjects.tt2 @@ -5,6 +5,7 @@ label => l('Subject: '), xpath => '//*[@tag="600" or @tag="610" or @tag="611" or @tag="630" or @tag="650" or @tag="651"]' }, { + display_field => 'genre', label => l('Genre: '), facet => 'identifier|genre', joiner => ' -- ', @@ -82,9 +83,14 @@ END; BLOCK render_hl_subject; - ''; + total_term = s.value; + IF s.facet; + total_term = s.facet _ '[' _ s.value _ ']'; + END; + + ''; %][% s.highlight %] [%- ''; END; @@ -97,6 +103,7 @@ IF df AND attrs.hl_display_fields.$df.size; content = []; FOREACH hl_s IN attrs.hl_display_fields.$df; + hl_s.facet = subj.facet; next_s = PROCESS render_hl_subject(s=hl_s); content.push(next_s); END; -- 2.43.2