Bug 24347: (follow-up) Remove custom catalog search from acquisitions
authorOwen Leonard <oleonard@myacpl.org>
Mon, 6 Jan 2020 15:09:08 +0000 (15:09 +0000)
committerMartin Renvoize <martin.renvoize@ptfs-europe.com>
Thu, 30 Jan 2020 10:59:27 +0000 (10:59 +0000)
This patch removes the "neworderbiblio" script and template which are
made obsolete by the "search to order" feature.

deleted:    acqui/neworderbiblio.pl
deleted:    koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderbiblio.tt

Some documentation in addorder.pl has been corrected to remove reference
to neworderbiblio.pl.

To test, apply the patch and verify that the correct files have been
removed.

Search the Koha codebase to verify that no links to
acqui/neworderbiblio.pl remain.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

acqui/addorder.pl
acqui/neworderbiblio.pl [deleted file]
koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderbiblio.tt [deleted file]

index 9ff4e79..abbea1e 100755 (executable)
@@ -32,9 +32,7 @@ It is called by :
 
 =over
 
-=item neworderbiblio.pl to add an order from nothing.
-
-=item neworderempty.pl to add an order from an existing biblio.
+=item neworderempty.pl to add an order from an existing record or from nothing.
 
 =item newordersuggestion.pl to add an order from an existing suggestion.
 
diff --git a/acqui/neworderbiblio.pl b/acqui/neworderbiblio.pl
deleted file mode 100755 (executable)
index 931429f..0000000
+++ /dev/null
@@ -1,163 +0,0 @@
-#!/usr/bin/perl
-
-#origninally script to provide intranet (librarian) advanced search facility
-#now script to do searching for acquisitions
-
-# Copyright 2000-2002 Katipo Communications
-# Copyright 2008-2009 BibLibre SARL
-#
-# This file is part of Koha.
-#
-# Koha is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
-#
-# Koha is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Koha; if not, see <http://www.gnu.org/licenses>.
-
-=head1 NAME
-
-neworderbiblio.pl
-
-=head1 DESCRIPTION
-
-this script allows to perform a new order from an existing record.
-
-=head1 CGI PARAMETERS
-
-=over 4
-
-=item search
-the title the librarian has typed to search an existing record.
-
-=item q
-the keyword the librarian has typed to search an existing record.
-
-=item author
-the author of the new record.
-
-=item num
-the number of result per page to display
-
-=item booksellerid
-the id of the bookseller this script has to add an order.
-
-=item basketno
-the basket number to know on which basket this script have to add a new order.
-
-=back
-
-=cut
-
-use Modern::Perl;
-
-use C4::Search;
-use CGI qw ( -utf8 );
-use C4::Biblio;
-use C4::Auth;
-use C4::Output;
-use C4::Koha;
-use C4::Budgets qw/ GetBudgetHierarchy /;
-use C4::Languages qw(getlanguage);
-
-use Koha::Acquisition::Booksellers;
-use Koha::SearchEngine;
-use Koha::SearchEngine::Search;
-use Koha::SearchEngine::QueryBuilder;
-use Koha::Patrons;
-
-my $input = new CGI;
-
-#getting all CGI params into a hash.
-my $params = $input->Vars;
-
-my $page             = $params->{'page'} || 1;
-my $query            = $params->{'q'};
-my $results_per_page = $params->{'num'} || 20;
-my $booksellerid     = $params->{'booksellerid'};
-my $basketno         = $params->{'basketno'};
-my $sub              = $params->{'sub'};
-my $bookseller       = Koha::Acquisition::Booksellers->find( $booksellerid );
-my $lang             = C4::Languages::getlanguage($input);
-
-# getting the template
-my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
-    {
-        template_name   => "acqui/neworderbiblio.tt",
-        query           => $input,
-        type            => "intranet",
-        authnotrequired => 0,
-        flagsrequired   => { acquisition => 'order_manage' },
-    }
-);
-
-output_and_exit( $input, $cookie, $template, 'unknown_vendor') unless $bookseller;
-
-# Searching the catalog.
-
-my @operands = $query;
-my $QParser;
-$QParser = C4::Context->queryparser if (C4::Context->preference('UseQueryParser'));
-my $builtquery;
-my $builder  = Koha::SearchEngine::QueryBuilder->new({index => $Koha::SearchEngine::BIBLIOS_INDEX});
-my $searcher = Koha::SearchEngine::Search->new({index => $Koha::SearchEngine::BIBLIOS_INDEX});
-if ($QParser) {
-    $builtquery = $query;
-} else {
-        ( undef, $builtquery, undef, undef, undef, undef, undef, undef, undef, undef ) =
-          $builder->build_query_compat( undef, \@operands, undef, undef, undef, 0, $lang );
-}
-my ( $error, $marcresults, $total_hits ) = $searcher->simple_search_compat($builtquery, $results_per_page * ($page - 1), $results_per_page);
-
-if (defined $error) {
-    $template->param(
-        query_error => $error,
-        basketno             => $basketno,
-        booksellerid     => $bookseller->id,
-        name             => $bookseller->name,
-    );
-    output_html_with_http_headers $input, $cookie, $template->output;
-    exit;
-}
-
-my @results;
-
-foreach my $result ( @{$marcresults} ) {
-    my $marcrecord = C4::Search::new_record_from_zebra( 'biblioserver', $result );
-    my $biblio = TransformMarcToKoha( $marcrecord, '' );
-
-    $biblio->{booksellerid} = $booksellerid;
-    push @results, $biblio;
-
-}
-
-my $patron = Koha::Patrons->find( $loggedinuser );
-my $budgets = GetBudgetHierarchy(q{},$patron->branchcode,$patron->borrowernumber);
-my $has_budgets = 0;
-foreach my $r (@{$budgets}) {
-    if (!defined $r->{budget_amount} || $r->{budget_amount} == 0) {
-        next;
-    }
-    $has_budgets = 1;
-    last;
-}
-
-$template->param(
-    has_budgets          => $has_budgets,
-    basketno             => $basketno,
-    booksellerid         => $bookseller->id,
-    name                 => $bookseller->name,
-    resultsloop          => \@results,
-    total                => $total_hits,
-    query                => $query,
-    pagination_bar       => pagination_bar( "/cgi-bin/koha/acqui/neworderbiblio.pl?q=$query&booksellerid=$booksellerid&basketno=$basketno&", getnbpages( $total_hits, $results_per_page ), $page, 'page' ),
-);
-
-# BUILD THE TEMPLATE
-output_html_with_http_headers $input, $cookie, $template->output;
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderbiblio.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderbiblio.tt
deleted file mode 100644 (file)
index eff4367..0000000
+++ /dev/null
@@ -1,138 +0,0 @@
-[% USE raw %]
-[% USE Asset %]
-[% PROCESS 'i18n.inc' %]
-[% SET footerjs = 1 %]
-[% INCLUDE 'doc-head-open.inc' %]
-<title>Koha &rsaquo; Acquisitions &rsaquo; Search existing records</title>
-[% INCLUDE 'doc-head-close.inc' %]
-</head>
-
-<body id="acq_neworderbiblio" class="acq">
-[% INCLUDE 'header.inc' %]
-[% INCLUDE 'acquisitions-search.inc' %]
-
-<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/acqui/acqui-home.pl">Acquisitions</a> &rsaquo; <a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid | html %]">[% name | html %]</a> &rsaquo; <a href="/cgi-bin/koha/acqui/basket.pl?basketno=[% basketno | html %]">Basket [% basketno | html %]</a> &rsaquo; Search existing records</div>
-
-[% INCLUDE 'blocking_errors.inc' %]
-
-<div class="main container-fluid">
-    <div class="row">
-        <div class="col-sm-10 col-sm-push-2">
-            <main>
-
-<h1>Search existing records</h1>
-
-
-[% IF ( total ) %]
-<b>[% total | html %] results found </b> 
-<div class="pages">[% pagination_bar | $raw %]</div>
-[% ELSE %]
-<h3> No results found</h3>
-<p>
-    No results match your search for <span style="font-weight: bold;">&ldquo;[% query | html %]&rdquo;</span> in [% LibraryName | html %]
-</p>
-[% END %]
-
-[% IF ( query_error ) %]
-    <div class="dialog alert"><p><strong>Error:</strong> [% query_error | html %]</p></div>
-[% END %]
-
-[% IF ( total ) %]
-<div class="searchresults">
-    <table id="resultst">
-    <thead>
-      <tr>
-         <th>Summary</th>
-         <th>Publisher</th>
-         <th>Copyright</th>
-         <th>Actions</th>
-      </tr>
-    </thead>
-    <tbody>
-      [% FOREACH biblio IN resultsloop %]
-        <tr>
-            <td>
-                <p><span class="title"><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblio.biblionumber | uri %]">[% INCLUDE 'biblio-title.inc' %]</a></span>
-                [% IF ( biblio.author ) %]  by <span class="author">[% biblio.author | html %]</span>,[% END %]</p>
-                <p>[% IF ( biblio.isbn ) %] [% biblio.isbn | html %][% END %]
-                [% IF ( biblio.pages ) %] - [% biblio.pages | html %][% END %]
-                [% IF ( biblio.notes ) %] : [% biblio.notes | html %][% END %]
-                [% IF ( biblio.size ) %] ; [% biblio.size | html %][% END %]
-                </p>
-            </td>
-            <td>
-                [% biblio.publishercode | html %]
-                [% IF ( biblio.place ) %] ; [% biblio.place | html %][% END %]
-            </td>
-            <td>
-                [% biblio.copyrightdate | html %]
-            </td>
-            <td class="actions">
-                <a href="/cgi-bin/koha/catalogue/showmarc.pl?id=[% biblio.biblionumber | uri %]&amp;viewas=html" class="previewMARC btn btn-default btn-xs"><i class="fa fa-eye"></i> View MARC</a>
-                <a href="/cgi-bin/koha/acqui/neworderempty.pl?booksellerid=[% booksellerid | uri %]&amp;basketno=[% basketno | uri %]&amp;biblionumber=[% biblio.biblionumber | uri %]" title="Order this one" class="btn btn-default btn-xs"><i class="fa fa-plus"></i> [% tp('verb', 'Order') | html %]</a>
-            </td>
-        </tr>
-      [% END %]
-    </tbody>
-    </table>
-    <div id="marcPreview" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="marcPreviewLabel" aria-hidden="true">
-        <div class="modal-dialog modal-wide">
-        <div class="modal-content">
-        <div class="modal-header">
-            <button type="button" class="closebtn" data-dismiss="modal" aria-hidden="true">×</button>
-            <h3 id="marcPreviewLabel">MARC preview</h3>
-        </div>
-        <div class="modal-body">
-            <div id="loading"> <img src="[% interface | html %]/[% theme | html %]/img/spinner-small.gif" alt="" /> Loading </div>
-        </div>
-        <div class="modal-footer">
-            <button class="btn btn-default" data-dismiss="modal" aria-hidden="true">Close</button>
-        </div>
-        </div>
-        </div>
-    </div>
-</div>
-[% END %]
-
-[% INCLUDE 'acquisitions-add-to-basket.inc' %]
-
-</main>
-</div> <!-- /.col-sm-10.col-sm-push-2 -->
-
-<div class="col-sm-2 col-sm-pull-10">
-    <aside>
-        [% INCLUDE 'acquisitions-menu.inc' %]
-    </aside>
-</div> <!-- /.col-sm-2.col-sm-pull-10 -->
-</div> <!-- /.row -->
-
-[% MACRO jsinclude BLOCK %]
-    [% Asset.js("js/acquisitions-menu.js") | $raw %]
-    [% INCLUDE 'datatables.inc' %]
-    [% Asset.js("js/acq.js") | $raw %]
-    <script>
-         $(document).ready(function() {
-            var resultst = $("#resultst").dataTable($.extend(true, {}, dataTablesDefaults, {
-                'sDom': 't',
-                'bPaginate': false,
-                'bFilter': false,
-                'bInfo': false,
-                'bSort': false,
-            } ) );
-            $(".previewMARC").on("click", function(e){
-                e.preventDefault();
-                var ltitle = $(this).text();
-                var page = $(this).attr("href");
-                $("#marcPreviewLabel").text(ltitle);
-                $("#marcPreview .modal-body").load(page + " table");
-                $('#marcPreview').modal({show:true});
-            });
-            $("#marcPreview").on("hidden.bs.modal", function(){
-                $("#marcPreviewLabel").html("");
-                $("#marcPreview .modal-body").html("<div id=\"loading\"><img src=\"[% interface | html %]/[% theme | html %]/img/spinner-small.gif\" alt=\"\" /> "+_("Loading")+"</div>");
-            });
-         });
-    </script>
-[% END %]
-
-[% INCLUDE 'intranet-bottom.inc' %]