Bug 15381: Remove GetAuthType and GetAuthTypeCode
Test this patch with the previous one. Signed-off-by: Frédéric Demians <f.demians@tamil.fr> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
This commit is contained in:
parent
7283069a9d
commit
7e70202d34
11 changed files with 50 additions and 90 deletions
|
@ -27,6 +27,7 @@ use C4::AuthoritiesMarc::UNIMARC;
|
|||
use C4::Charset;
|
||||
use C4::Log;
|
||||
use Koha::MetadataRecord::Authority;
|
||||
use Koha::Authorities;
|
||||
use Koha::Authority::Types;
|
||||
|
||||
use vars qw($VERSION @ISA @EXPORT);
|
||||
|
@ -39,8 +40,6 @@ BEGIN {
|
|||
@ISA = qw(Exporter);
|
||||
@EXPORT = qw(
|
||||
&GetTagsLabels
|
||||
&GetAuthType
|
||||
&GetAuthTypeCode
|
||||
&GetAuthMARCFromKohaField
|
||||
|
||||
&AddAuthority
|
||||
|
@ -300,16 +299,17 @@ sub SearchAuthorities {
|
|||
$reported_tag .= '$' . $_->[0] . $_->[1];
|
||||
}
|
||||
}
|
||||
my $thisauthtypecode = GetAuthTypeCode($authid);
|
||||
my $thisauthtype = GetAuthType($thisauthtypecode);
|
||||
|
||||
my $thisauthtypecode = Koha::Authorities->find($authid)->authtypecode;
|
||||
my $thisauthtype = Koha::Authority::Types->find($thisauthtypecode);
|
||||
unless (defined $thisauthtype) {
|
||||
$thisauthtypecode = $authtypecode;
|
||||
$thisauthtype = GetAuthType($authtypecode);
|
||||
$thisauthtype = Koha::Authority::Types->find($thisauthtypecode);
|
||||
}
|
||||
my $summary = BuildSummary( $authrecord, $authid, $thisauthtypecode );
|
||||
|
||||
$newline{authtype} = defined($thisauthtype) ?
|
||||
$thisauthtype->{'authtypetext'} : '';
|
||||
$thisauthtype->authtypetext : '';
|
||||
$newline{summary} = $summary;
|
||||
$newline{even} = $counter % 2;
|
||||
$newline{reported_tag} = $reported_tag;
|
||||
|
@ -367,24 +367,6 @@ sub CountUsageChildren {
|
|||
my ($authid) = @_;
|
||||
}
|
||||
|
||||
=head2 GetAuthTypeCode
|
||||
|
||||
$authtypecode= &GetAuthTypeCode($authid)
|
||||
|
||||
returns authtypecode of an authid
|
||||
|
||||
=cut
|
||||
|
||||
sub GetAuthTypeCode {
|
||||
#AUTHfind_authtypecode
|
||||
my ($authid) = @_;
|
||||
my $dbh=C4::Context->dbh;
|
||||
my $sth = $dbh->prepare("select authtypecode from auth_header where authid=?");
|
||||
$sth->execute($authid);
|
||||
my $authtypecode = $sth->fetchrow;
|
||||
return $authtypecode;
|
||||
}
|
||||
|
||||
=head2 GuessAuthTypeCode
|
||||
|
||||
my $authtypecode = GuessAuthTypeCode($record);
|
||||
|
@ -803,32 +785,6 @@ sub GetAuthority {
|
|||
return ($authority->record);
|
||||
}
|
||||
|
||||
=head2 GetAuthType
|
||||
|
||||
$result = &GetAuthType($authtypecode)
|
||||
|
||||
If the authority type specified by C<$authtypecode> exists,
|
||||
returns a hashref of the type's fields. If the type
|
||||
does not exist, returns undef.
|
||||
|
||||
=cut
|
||||
|
||||
sub GetAuthType {
|
||||
my ($authtypecode) = @_;
|
||||
my $dbh=C4::Context->dbh;
|
||||
my $sth;
|
||||
if (defined $authtypecode){ # NOTE - in MARC21 framework, '' is a valid authority
|
||||
# type (FIXME but why?)
|
||||
$sth=$dbh->prepare("select * from auth_types where authtypecode=?");
|
||||
$sth->execute($authtypecode);
|
||||
if (my $res = $sth->fetchrow_hashref) {
|
||||
return $res;
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
=head2 FindDuplicateAuthority
|
||||
|
||||
$record= &FindDuplicateAuthority( $record, $authtypecode)
|
||||
|
@ -896,16 +852,16 @@ sub BuildSummary {
|
|||
my $summary_template;
|
||||
# handle $authtypecode is NULL or eq ""
|
||||
if ($authtypecode) {
|
||||
my $authref = GetAuthType($authtypecode);
|
||||
$summary{authtypecode} = $authref->{authtypecode};
|
||||
$summary{type} = $authref->{authtypetext};
|
||||
$summary_template = $authref->{summary};
|
||||
my $authref = Koha::Authority::Types->find($authtypecode);
|
||||
$summary{authtypecode} = $authref->authtypecode;
|
||||
$summary{type} = $authref->authtypetext;
|
||||
$summary_template = $authref->summary;
|
||||
# for MARC21, the authority type summary displays a label meant for
|
||||
# display
|
||||
if (C4::Context->preference('marcflavour') ne 'UNIMARC') {
|
||||
$summary{label} = $authref->{summary};
|
||||
$summary{label} = $authref->summary;
|
||||
} else {
|
||||
$summary{summary} = $authref->{summary};
|
||||
$summary{summary} = $authref->summary;
|
||||
}
|
||||
}
|
||||
my $marc21subfields = 'abcdfghjklmnopqrstuvxyz68';
|
||||
|
@ -1443,15 +1399,14 @@ sub merge {
|
|||
my ($mergefrom,$MARCfrom,$mergeto,$MARCto) = @_;
|
||||
my ($counteditedbiblio,$countunmodifiedbiblio,$counterrors)=(0,0,0);
|
||||
my $dbh=C4::Context->dbh;
|
||||
my $authtypecodefrom = GetAuthTypeCode($mergefrom);
|
||||
my $authtypecodeto = GetAuthTypeCode($mergeto);
|
||||
# warn "mergefrom : $authtypecodefrom $mergefrom mergeto : $authtypecodeto $mergeto ";
|
||||
# return if authority does not exist
|
||||
my $authtypefrom = Koha::Authority::Types->find($mergefrom);
|
||||
my $authtypeto = Koha::Authority::Types->find($mergeto);
|
||||
|
||||
return "error MARCFROM not a marcrecord ".Data::Dumper::Dumper($MARCfrom) if scalar($MARCfrom->fields()) == 0;
|
||||
return "error MARCTO not a marcrecord".Data::Dumper::Dumper($MARCto) if scalar($MARCto->fields()) == 0;
|
||||
# search the tag to report
|
||||
my $auth_tag_to_report_from = Koha::Authority::Types->find($authtypecodefrom)->auth_tag_to_report;
|
||||
my $auth_tag_to_report_to = Koha::Authority::Types->find($authtypecodeto)->auth_tag_to_report;
|
||||
my $auth_tag_to_report_from = $authtypefrom->auth_tag_to_report;
|
||||
my $auth_tag_to_report_to = $authtypeto->auth_tag_to_report;
|
||||
|
||||
my @record_to;
|
||||
@record_to = $MARCto->field($auth_tag_to_report_to)->subfields() if $MARCto->field($auth_tag_to_report_to);
|
||||
|
@ -1491,15 +1446,15 @@ sub merge {
|
|||
# Get All candidate Tags for the change
|
||||
# (This will reduce the search scope in marc records).
|
||||
my $sth = $dbh->prepare("select distinct tagfield from marc_subfield_structure where authtypecode=?");
|
||||
$sth->execute($authtypecodefrom);
|
||||
$sth->execute($authtypefrom->authtypecode);
|
||||
my @tags_using_authtype;
|
||||
while (my ($tagfield) = $sth->fetchrow) {
|
||||
push @tags_using_authtype,$tagfield ;
|
||||
}
|
||||
my $tag_to=0;
|
||||
if ($authtypecodeto ne $authtypecodefrom){
|
||||
if ($authtypeto->authtypecode ne $authtypefrom->authtypecode){
|
||||
# If many tags, take the first
|
||||
$sth->execute($authtypecodeto);
|
||||
$sth->execute($authtypeto->authtypecode);
|
||||
$tag_to=$sth->fetchrow;
|
||||
#warn $tag_to;
|
||||
}
|
||||
|
|
|
@ -39,6 +39,7 @@ use C4::Linker;
|
|||
use C4::OAI::Sets;
|
||||
|
||||
use Koha::Cache;
|
||||
use Koha::Authority::Types;
|
||||
|
||||
use vars qw($VERSION @ISA @EXPORT);
|
||||
|
||||
|
@ -572,8 +573,7 @@ sub LinkBibHeadingsToAuthorities {
|
|||
$results{'linked'}->{ $heading->display_form() }++;
|
||||
}
|
||||
else {
|
||||
my $authtypedata =
|
||||
C4::AuthoritiesMarc::GetAuthType( $heading->auth_type() );
|
||||
my $authority_type = Koha::Authority::Types->find( $heading->auth_type() );
|
||||
my $marcrecordauth = MARC::Record->new();
|
||||
if ( C4::Context->preference('marcflavour') eq 'MARC21' ) {
|
||||
$marcrecordauth->leader(' nz a22 o 4500');
|
||||
|
@ -582,7 +582,7 @@ sub LinkBibHeadingsToAuthorities {
|
|||
$field->delete_subfield( code => '9' )
|
||||
if defined $current_link;
|
||||
my $authfield =
|
||||
MARC::Field->new( $authtypedata->{auth_tag_to_report},
|
||||
MARC::Field->new( $authority_type->auth_tag_to_report,
|
||||
'', '', "a" => "" . $field->subfield('a') );
|
||||
map {
|
||||
$authfield->add_subfields( $_->[0] => $_->[1] )
|
||||
|
|
|
@ -41,7 +41,7 @@ use Koha::Util::MARC;
|
|||
|
||||
use base qw(Koha::MetadataRecord);
|
||||
|
||||
__PACKAGE__->mk_accessors(qw( authid authtype ));
|
||||
__PACKAGE__->mk_accessors(qw( authid authtypecode ));
|
||||
|
||||
=head2 new
|
||||
|
||||
|
@ -100,7 +100,7 @@ sub get_from_authid {
|
|||
$authtypecode ||= C4::AuthoritiesMarc::GuessAuthTypeCode($record);
|
||||
|
||||
my $self = $class->SUPER::new( { authid => $authid,
|
||||
authtype => $authtypecode,
|
||||
authtypecode => $authtypecode,
|
||||
schema => $marcflavour,
|
||||
record => $record });
|
||||
|
||||
|
@ -139,7 +139,7 @@ sub get_from_breeding {
|
|||
|
||||
my $self = $class->SUPER::new( {
|
||||
schema => $marcflavour,
|
||||
authtype => $authtypecode,
|
||||
authtypecode => $authtypecode,
|
||||
record => $record });
|
||||
|
||||
bless $self, $class;
|
||||
|
|
|
@ -568,7 +568,7 @@ my $breedingid = $input->param('breedingid');
|
|||
|
||||
my $dbh = C4::Context->dbh;
|
||||
if(!$authtypecode) {
|
||||
$authtypecode = $authid? &GetAuthTypeCode($authid): '';
|
||||
$authtypecode = $authid ? Koha::Authorities->find($authid)->authtypecode : '';
|
||||
}
|
||||
|
||||
my ($template, $loggedinuser, $cookie)
|
||||
|
|
|
@ -47,6 +47,9 @@ use CGI qw ( -utf8 );
|
|||
use MARC::Record;
|
||||
use C4::Koha;
|
||||
|
||||
use Koha::Authorities;
|
||||
use Koha::Authority::Types;
|
||||
|
||||
my $query = new CGI;
|
||||
|
||||
my $dbh = C4::Context->dbh;
|
||||
|
@ -55,10 +58,10 @@ my $authid = $query->param('authid');
|
|||
my $index = $query->param('index');
|
||||
my $tagid = $query->param('tagid');
|
||||
my $relationship = $query->param('relationship');
|
||||
my $authtypecode = &GetAuthTypeCode($authid);
|
||||
my $authtypecode = Koha::Authorities->find($authid)->authtypecode;
|
||||
my $tagslib = &GetTagsLabels( 1, $authtypecode );
|
||||
|
||||
my $auth_type = GetAuthType($authtypecode);
|
||||
my $auth_type = Koha::Authority::Types->find($authtypecode);
|
||||
my $record;
|
||||
if ($authid) {
|
||||
$record = GetAuthority($authid);
|
||||
|
@ -79,7 +82,7 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
|
|||
my @subfield_loop;
|
||||
my ($indicator1, $indicator2);
|
||||
if ($authid) {
|
||||
my @fields = $record->field( $auth_type->{auth_tag_to_report} );
|
||||
my @fields = $record->field( $auth_type->auth_tag_to_report );
|
||||
my $repet = ($query->param('repet') || 1) - 1;
|
||||
my $field = $fields[$repet];
|
||||
|
||||
|
@ -104,7 +107,7 @@ if ($authid) {
|
|||
$indicator1 = $field->indicator('1');
|
||||
$indicator2 = $field->indicator('2');
|
||||
} elsif (C4::Context->preference('marcflavour') eq 'MARC21') {
|
||||
my $tag_from = $auth_type->{auth_tag_to_report};
|
||||
my $tag_from = $auth_type->auth_tag_to_report;
|
||||
my $tag_to = $index;
|
||||
$tag_to =~ s/^tag_(\d*)_.*$/$1/;
|
||||
if ($tag_to =~ /^6/) { # subject heading
|
||||
|
|
|
@ -50,6 +50,7 @@ use C4::Koha;
|
|||
# use C4::Biblio;
|
||||
# use C4::Catalogue;
|
||||
|
||||
use Koha::Authorities;
|
||||
use Koha::Authority::Types;
|
||||
|
||||
my $query=new CGI;
|
||||
|
@ -58,7 +59,7 @@ my $dbh=C4::Context->dbh;
|
|||
|
||||
my $authid = $query->param('authid');
|
||||
my $index = $query->param('index');
|
||||
my $authtypecode = &GetAuthTypeCode($authid);
|
||||
my $authtypecode = Koha::Authorities->find($authid)->authtypecode;
|
||||
my $tagslib = &GetTagsLabels(1,$authtypecode);
|
||||
|
||||
my $record =GetAuthority($authid);
|
||||
|
|
|
@ -47,6 +47,7 @@ use C4::Output;
|
|||
use CGI qw ( -utf8 );
|
||||
use MARC::Record;
|
||||
use C4::Koha;
|
||||
use Koha::Authorities;
|
||||
|
||||
use Koha::Authority::Types;
|
||||
|
||||
|
@ -176,7 +177,7 @@ my ($template, $loggedinuser, $cookie) = get_template_and_user(
|
|||
|
||||
my $authid = $query->param('authid');
|
||||
|
||||
my $authtypecode = GetAuthTypeCode($authid);
|
||||
my $authtypecode = Koha::Authorities->find($authid)->authtypecode;
|
||||
$tagslib = &GetTagsLabels(1,$authtypecode);
|
||||
|
||||
# Build list of authtypes for showing them
|
||||
|
|
|
@ -104,12 +104,12 @@ else {
|
|||
if ($mergereference) {
|
||||
|
||||
my $framework;
|
||||
if ( $recordObj1->authtype ne $recordObj2->authtype && $mergereference ne 'breeding' ) {
|
||||
if ( $recordObj1->authtypecode ne $recordObj2->authtypecode && $mergereference ne 'breeding' ) {
|
||||
$framework = $input->param('frameworkcode')
|
||||
or push @errors, { code => 'FRAMEWORK_NOT_SELECTED' };
|
||||
}
|
||||
else {
|
||||
$framework = $recordObj1->authtype;
|
||||
$framework = $recordObj1->authtypecode;
|
||||
}
|
||||
if ($mergereference eq 'breeding') {
|
||||
$mergereference = $authid[0];
|
||||
|
@ -155,7 +155,7 @@ else {
|
|||
title1 => $recordObj1->authorized_heading,
|
||||
title2 => $recordObj2->authorized_heading,
|
||||
);
|
||||
if ( $recordObj1->authtype ne $recordObj2->authtype ) {
|
||||
if ( $recordObj1->authtypecode ne $recordObj2->authtypecode ) {
|
||||
my $authority_types = Koha::Authority::Types->search( {}, { order_by => ['authtypecode'] } );
|
||||
my @frameworkselect;
|
||||
while ( my $authority_type = $authority_types->next ) {
|
||||
|
@ -167,10 +167,10 @@ else {
|
|||
}
|
||||
$template->param(
|
||||
frameworkselect => \@frameworkselect,
|
||||
frameworkcode1 => $recordObj1->authtype,
|
||||
frameworkcode2 => $recordObj2->authtype,
|
||||
frameworklabel1 => $frameworks->{$recordObj1->authtype}->{'authtypetext'},
|
||||
frameworklabel2 => $frameworks->{$recordObj2->authtype}->{'authtypetext'},
|
||||
frameworkcode1 => $recordObj1->authtypecode,
|
||||
frameworkcode2 => $recordObj2->authtypecode,
|
||||
frameworklabel1 => $recordObj1->authtypetext,
|
||||
frameworklabel2 => $recordObj2->authtypetext,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -55,8 +55,8 @@ $|=1; # flushes output
|
|||
my $authfrom = GetAuthority($mergefrom);
|
||||
my $authto = GetAuthority($mergeto);
|
||||
|
||||
my $authtypecodefrom = GetAuthTypeCode($mergefrom);
|
||||
my $authtypecodeto = GetAuthTypeCode($mergeto);
|
||||
my $authtypecodefrom = $mergefrom->authtypecode;
|
||||
my $authtypecodeto = $mergeto->authtypecode;
|
||||
|
||||
unless ($noconfirm || $batch) {
|
||||
print "************\n";
|
||||
|
|
|
@ -75,7 +75,7 @@ if ( ! $record ) {
|
|||
exit;
|
||||
}
|
||||
|
||||
my $authtypecode = &GetAuthTypeCode( $authid );
|
||||
my $authtypecode = $record->authtypecode;
|
||||
|
||||
if ($display_hierarchy){
|
||||
$template->{VARS}->{'displayhierarchy'} = $display_hierarchy;
|
||||
|
|
|
@ -25,7 +25,7 @@ use List::MoreUtils qw( uniq );
|
|||
|
||||
use C4::Auth qw( get_template_and_user );
|
||||
use C4::Output qw( output_html_with_http_headers );
|
||||
use C4::AuthoritiesMarc qw( BuildSummary GetAuthTypeCode ModAuthority );
|
||||
use C4::AuthoritiesMarc qw( BuildSummary ModAuthority );
|
||||
use C4::BackgroundJob;
|
||||
use C4::Biblio qw( GetMarcBiblio ModBiblio );
|
||||
use C4::MarcModificationTemplates qw( GetModificationTemplateActions GetModificationTemplates ModifyRecordWithTemplate );
|
||||
|
@ -216,7 +216,7 @@ if ( $op eq 'form' ) {
|
|||
my $authority = Koha::MetadataRecord::Authority->get_from_authid( $authid );
|
||||
my $record = $authority->record;
|
||||
ModifyRecordWithTemplate( $mmtid, $record );
|
||||
ModAuthority( $authid, $record, GetAuthTypeCode( $authid ) );
|
||||
ModAuthority( $authid, $record, $authority->authtypecode );
|
||||
};
|
||||
if ( $error and $error != $authid or $@ ) {
|
||||
push @messages, {
|
||||
|
|
Loading…
Reference in a new issue