From c5d8ee7651da7732990139682c1ad404d17a9d7f Mon Sep 17 00:00:00 2001 From: Owen Leonard Date: Fri, 8 May 2020 16:13:40 +0000 Subject: [PATCH] Bug 25428: Correctly encode link if authority subfield is a URL This patch modifies the script and template for showing the details of an authority record so that if the authority subfield is configured to be a link the link is correctly output in the template. To test you must have an authority type configured with at least one subfield designated as a URL: - Go to Administration -> Authority types - Select "MARC structure" from the actions menu for the authority type you want to modify. - Select "Subfields" from the actions menu for the tag containing the subfield you want to modify (for instance 856). - Edit the subfield you want to display as a link (e.g. subfield u). - In the subfield configuration form under "Advanced constraints" check the "Is a URL" checkbox and save your changes. - Apply the patch and go to Authorities in the staff interface. - Search for or create an authority record which contains URL information in the right subfield (for instance 856$u). - View the details for the record. Using the 856 example, the "8" tab should contain an active link pointing to the correct URL. Signed-off-by: Bernardo Gonzalez Kriegel Signed-off-by: Katrin Fischer Signed-off-by: Martin Renvoize (cherry picked from commit 1bcc45be621b19dc602d675ca10d844301496b06) Signed-off-by: Aleisha Amohia --- authorities/detail.pl | 3 ++- .../intranet-tmpl/prog/en/modules/authorities/detail.tt | 6 +++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/authorities/detail.pl b/authorities/detail.pl index f9724ff4ce..ca1654461d 100755 --- a/authorities/detail.pl +++ b/authorities/detail.pl @@ -120,7 +120,8 @@ sub build_tabs { my %subfield_data; $subfield_data{marc_lib}=$tagslib->{$field->tag()}->{$subf[$i][0]}->{lib}; if ($tagslib->{$field->tag()}->{$subf[$i][0]}->{isurl}) { - $subfield_data{marc_value}="$subf[$i][1]"; + $subfield_data{marc_value} = $subf[$i][1]; + $subfield_data{is_url} = 1; } else { $subfield_data{marc_value}=$subf[$i][1]; } diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/authorities/detail.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/authorities/detail.tt index 9fddd71909..618e325105 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/authorities/detail.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/authorities/detail.tt @@ -79,7 +79,11 @@ - [% subfiel.marc_value | html %] + [% IF ( subfiel.is_url ) %] + [% subfiel.marc_value | html %] + [% ELSE %] + [% subfiel.marc_value | html %] + [% END %] [% IF ( subfiel.link ) %] -- 2.39.5