X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=authorities%2Fauthorities.pl;h=bb527f61f00e73139f03c2f85e5e4be094aaba79;hb=9f6999bfdb12d2dd19c454a6b54a58a3f7a6490d;hp=19a03e8f6d6387e9b6b2910381310b93a0dd955d;hpb=9b8a5274732edd0bbcf3dd80b82c00b182a292da;p=koha.git diff --git a/authorities/authorities.pl b/authorities/authorities.pl index 19a03e8f6d..bb527f61f0 100755 --- a/authorities/authorities.pl +++ b/authorities/authorities.pl @@ -24,6 +24,7 @@ use CGI; use C4::Auth; use C4::Output; use C4::AuthoritiesMarc; +use C4::ImportBatch; #GetImportRecordMarc use C4::Context; use C4::Koha; # XXX subfield_is_koha_internal_p use Date::Calc qw(Today); @@ -47,6 +48,21 @@ builds list, depending on authorised value... =cut +sub MARCfindbreeding_auth { + my ( $id ) = @_; + my ($marc, $encoding) = GetImportRecordMarc($id); + if ($marc) { + my $record = MARC::Record->new_from_usmarc($marc); + if ( !defined(ref($record)) ) { + return -1; + } else { + return $record, $encoding; + } + } else { + return -1; + } +} + sub build_authorized_values_list { my ( $tag, $subfield, $value, $dbh, $authorised_values_sth,$index_tag,$index_subfield ) = @_; @@ -544,6 +560,7 @@ my $nonav = $input->param('nonav'); my $myindex = $input->param('index'); my $linkid=$input->param('linkid'); my $authtypecode = $input->param('authtypecode'); +my $breedingid = $input->param('breedingid'); my $dbh = C4::Context->dbh; if(!$authtypecode) { @@ -558,11 +575,18 @@ my ($template, $loggedinuser, $cookie) flagsrequired => {editauthorities => 1}, debug => 1, }); -$template->param(nonav => $nonav,index=>$myindex,authtypecode=>$authtypecode,); +$template->param(nonav => $nonav,index=>$myindex,authtypecode=>$authtypecode,breedingid=>$breedingid,); + $tagslib = GetTagsLabels(1,$authtypecode); my $record=-1; my $encoding=""; -$record = GetAuthority($authid) if ($authid); +if (($authid) && !($breedingid)){ + $record = GetAuthority($authid); +} +if ($breedingid) { + ( $record, $encoding ) = MARCfindbreeding_auth( $breedingid ); +} + my ($oldauthnumtagfield,$oldauthnumtagsubfield); my ($oldauthtypetagfield,$oldauthtypetagsubfield); $is_a_modif=0;