From e362ade666b7181d9b4b1d89e89968eefb134eb9 Mon Sep 17 00:00:00 2001 From: Mason James Date: Wed, 20 Sep 2017 15:59:04 +1200 Subject: [PATCH] Revert "Bug 17249: Remove GetKohaAuthorisedValuesFromField" This reverts commit 65945e30f71fe353c995bab97a5b6a333326b570. --- C4/Koha.pm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/C4/Koha.pm b/C4/Koha.pm index 8889c665af..66e17a5950 100644 --- a/C4/Koha.pm +++ b/C4/Koha.pm @@ -56,6 +56,7 @@ BEGIN { &GetAuthorisedValues &GetAuthorisedValueCategories &GetKohaAuthorisedValues + &GetKohaAuthorisedValuesFromField &GetKohaAuthorisedValuesMapping &GetKohaAuthorisedValueLib &GetAuthorisedValueByCode @@ -1134,6 +1135,37 @@ sub GetKohaAuthorisedValues { } } +=head2 GetKohaAuthorisedValuesFromField + +Takes $field, $subfield, $fwcode as parameters. + +If $opac parameter is set to a true value, displays OPAC descriptions rather than normal ones when they exist. +$subfield can be undefined + +Returns hashref of Code => description + +Returns undef if no authorised value category is defined for the given field and subfield + +=cut + +sub GetKohaAuthorisedValuesFromField { + my ($field, $subfield, $fwcode,$opac) = @_; + $fwcode='' unless $fwcode; + my %values; + my $dbh = C4::Context->dbh; + my $avcode = GetAuthValCodeFromField($field, $subfield, $fwcode); + if ($avcode) { + my $sth = $dbh->prepare("select authorised_value, lib, lib_opac from authorised_values where category=? "); + $sth->execute($avcode); + while ( my ($val, $lib, $lib_opac) = $sth->fetchrow_array ) { + $values{$val} = ($opac && $lib_opac) ? $lib_opac : $lib; + } + return \%values; + } else { + return; + } +} + =head2 GetKohaAuthorisedValuesMapping Takes a hash as a parameter. The interface key indicates the -- 2.39.5