@@ -, +, @@ plausible numbers for 'used in xx records'. tools/batch_delete_records.pl. Select Authorities and click Continue. The next form shows a column "Used in". Do you see the same count again? You should see just one hit in a comment that can be kept in Koha/Authorities.pm. --- C4/AuthoritiesMarc.pm | 41 +-------------------------------------- authorities/detail.pl | 5 +++-- opac/opac-authoritiesdetail.pl | 4 ++-- t/db_dependent/Koha/Authorities.t | 2 +- tools/batch_delete_records.pl | 3 ++- 5 files changed, 9 insertions(+), 46 deletions(-) --- a/C4/AuthoritiesMarc.pm +++ a/C4/AuthoritiesMarc.pm @@ -51,8 +51,6 @@ BEGIN { &GetAuthority &GetAuthorityXML - &CountUsage - &CountUsageChildren &SearchAuthorities &BuildSummary @@ -327,7 +325,7 @@ sub SearchAuthorities { ### if (! $skipmetadata) { for (my $z=0; $z<@finalresult; $z++){ - my $count=CountUsage($finalresult[$z]{authid}); + my $count = Koha::Authorities->get_usage_count({ authid => $finalresult[$z]{authid} }); $finalresult[$z]{used}=$count; }# all $z's } @@ -340,43 +338,6 @@ sub SearchAuthorities { return (\@finalresult, $nbresults); } -=head2 CountUsage - - $count= &CountUsage($authid) - -counts Usage of Authid in bibliorecords. - -=cut - -sub CountUsage { - my ($authid) = @_; - ### ZOOM search here - my $query; - $query= "an:".$authid; - # Should really be replaced with a real count call, this is a - # bad way. - my $searcher = Koha::SearchEngine::Search->new({index => $Koha::SearchEngine::BIBLIOS_INDEX}); - my ($err,$res,$result) = $searcher->simple_search_compat($query,0,1); - if ($err) { - warn "Error: $err from search $query"; - $result = 0; - } - - return $result; -} - -=head2 CountUsageChildren - - $count= &CountUsageChildren($authid) - -counts Usage of narrower terms of Authid in bibliorecords. - -=cut - -sub CountUsageChildren { - my ($authid) = @_; -} - =head2 GuessAuthTypeCode my $authtypecode = GuessAuthTypeCode($record); --- a/authorities/detail.pl +++ a/authorities/detail.pl @@ -178,7 +178,8 @@ my ($template, $loggedinuser, $cookie) = get_template_and_user( my $authid = $query->param('authid'); -my $authtypecode = Koha::Authorities->find($authid)->authtypecode; +my $authobj = Koha::Authorities->find($authid); +my $authtypecode = $authobj ? $authobj->authtypecode: q{}; $tagslib = &GetTagsLabels(1,$authtypecode); # Build list of authtypes for showing them @@ -200,7 +201,7 @@ if (C4::Context->preference("AuthDisplayHierarchy")){ $template->{VARS}->{'loophierarchies'} = GenerateHierarchy($authid); } -my $count = CountUsage($authid); +my $count = $authobj ? $authobj->get_usage_count : 0; # find the marc field/subfield used in biblio by this authority my $sth = $dbh->prepare("select distinct tagfield from marc_subfield_structure where authtypecode=?"); --- a/opac/opac-authoritiesdetail.pl +++ a/opac/opac-authoritiesdetail.pl @@ -77,14 +77,14 @@ if ( ! $record ) { } my $authority = Koha::Authorities->find( $authid ); -my $authtypecode = $authority->authtypecode; +my $authtypecode = $authority ? $authority->authtypecode : q{}; if ($display_hierarchy){ $template->{VARS}->{'displayhierarchy'} = $display_hierarchy; $template->{VARS}->{'loophierarchies'} = GenerateHierarchy($authid); } -my $count = CountUsage($authid); +my $count = $authority ? $authority->get_usage_count : 0; my $authority_types = Koha::Authority::Types->search( {}, { order_by => ['authtypecode'] } ); $template->param( --- a/t/db_dependent/Koha/Authorities.t +++ a/t/db_dependent/Koha/Authorities.t @@ -127,7 +127,7 @@ subtest 'Testing reporting_tag_xml in MergeRequest' => sub { ); }; -subtest 'Trivial tests for get_count_usage and linked_biblionumbers' => sub { +subtest 'Trivial tests for get_usage_count and linked_biblionumbers' => sub { plan tests => 5; # NOTE: We are not testing $searcher->simple_search_compat here. Suppose --- a/tools/batch_delete_records.pl +++ a/tools/batch_delete_records.pl @@ -28,6 +28,7 @@ use C4::Output; use C4::AuthoritiesMarc; use C4::Biblio; +use Koha::Authorities; use Koha::Biblios; my $input = new CGI; @@ -101,7 +102,7 @@ if ( $op eq 'form' ) { $authority = { authid => $record_id, summary => C4::AuthoritiesMarc::BuildSummary( $authority, $record_id ), - count_usage => C4::AuthoritiesMarc::CountUsage( $record_id ), + count_usage => Koha::Authorities->get_usage_count({ authid => $record_id }), }; push @records, $authority; } --