From 1cb13ae3bb9eebc5e171716de829ee45a3db5d3d Mon Sep 17 00:00:00 2001 From: Kyle M Hall <kyle@bywatersolutions.com> Date: Thu, 10 Dec 2015 12:30:00 +0000 Subject: [PATCH] Bug 14377 [QA Followup] - Use true value description for authorised value Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> --- C4/XSLT.pm | 19 +++++++++++++++++-- .../prog/en/xslt/MARC21slim2intranetDetail.xsl | 3 ++- .../prog/en/xslt/MARC21slim2intranetResults.xsl | 3 ++- 3 files changed, 21 insertions(+), 4 deletions(-) diff --git a/C4/XSLT.pm b/C4/XSLT.pm index 5622e5f..2b83279 100644 --- a/C4/XSLT.pm +++ b/C4/XSLT.pm @@ -86,8 +86,8 @@ sub transformMARCXML4XSLT { $value = GetAuthorisedValueDesc( $tag, $letter, $value, '', $tagslib ) if $av->{ $tag }->{ $letter }; push( @new_subfields, $letter, $value ); - } - $field ->replace_with( MARC::Field->new( + } + $field->replace_with( MARC::Field->new( $tag, $field->indicator(1), $field->indicator(2), @@ -220,6 +220,21 @@ sub XSLTParse4Display { $sysxml .= "<syspref name=\"singleBranchMode\">$singleBranchMode</syspref>\n"; $sysxml .= "</sysprefs>\n"; + + ## Non-syspref variables that need to be computed + $sysxml .= "<OtherVars>"; + + # Fetch the authorised value description for 942$n ( supressed in opac ) for the value '1' + # if 942$n is not mapped, the return value will be '1' which means even if the field is not + # mapped in the framework, we will still get the correct value to compare against + my $frameworkcode = GetFrameworkCode($biblionumber) || ''; + my $tagslib = &GetMarcStructure(1,$frameworkcode); + my $value = GetAuthorisedValueDesc( '942', 'n', '1', '', $tagslib ); + $sysxml .= "<OtherVar name=\"Field942_1_True_Value\">$value</OtherVar>"; + + $sysxml .= "</OtherVars>\n"; + ## End non-syspref variables that need to be computed + $xmlrecord =~ s/\<\/record\>/$itemsxml$sysxml\<\/record\>/; if ($fixamps) { # We need to correct the HTML entities that Zebra outputs $xmlrecord =~ s/\&amp;/\&/g; diff --git a/koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21slim2intranetDetail.xsl b/koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21slim2intranetDetail.xsl index d1293aa..6a46267 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21slim2intranetDetail.xsl +++ b/koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21slim2intranetDetail.xsl @@ -91,7 +91,8 @@ </xsl:variable> <!-- Indicate if record is suppressed in OPAC --> - <xsl:if test="marc:datafield[@tag=942][marc:subfield[@code='n'] = '1']"> + <xsl:variable name="Field942_1_True_Value" select="marc:OtherVars/marc:OtherVar[@name='Field942_1_True_Value']"/> + <xsl:if test="marc:datafield[@tag=942][marc:subfield[@code='n'] = $Field942_1_True_Value]"> <span class="results_summary suppressed_opac"><xsl:value-of select="concat('#',marc:datafield[@tag=999]/marc:subfield[@code='c'])"/> - Suppressed in OPAC</span> </xsl:if> diff --git a/koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21slim2intranetResults.xsl b/koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21slim2intranetResults.xsl index 2019142..e3513c1 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21slim2intranetResults.xsl +++ b/koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21slim2intranetResults.xsl @@ -282,7 +282,8 @@ </xsl:variable> <!-- Indicate if record is suppressed in OPAC --> - <xsl:if test="marc:datafield[@tag=942][marc:subfield[@code='n'] = '1']"> + <xsl:variable name="Field942_1_True_Value" select="marc:OtherVars/marc:OtherVar[@name='Field942_1_True_Value']"/> + <xsl:if test="marc:datafield[@tag=942][marc:subfield[@code='n'] = $Field942_1_True_Value]"> <span class="results_summary suppressed_opac"><xsl:value-of select="concat('#',marc:datafield[@tag=999]/marc:subfield[@code='c'])"/> - Suppressed in OPAC</span> </xsl:if> -- 2.7.0