Kyle M Hall
21127d4a47
Librarians have requested the ability to delete records with no items quickly and easily from the "Attach item" results page as items are moved from one record to another. Test Plan: 1) Apply this patch 2) Create 2 records with 2 items each 3) Move one item from record A to record B 4) You should see no change from pre-patch behavior 5) Move the second item from record A to record B 6) You should now see a "Delete record" button 7) Click the button 8) Note the record in question has been deleted Signed-off-by: Liz Rea <wizzyrea@gmail.com> Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
112 lines
2.9 KiB
Perl
Executable file
112 lines
2.9 KiB
Perl
Executable file
#!/usr/bin/perl
|
|
|
|
# Move an item from a biblio to another
|
|
#
|
|
# Copyright 2009 BibLibre
|
|
#
|
|
# 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>.
|
|
|
|
use Modern::Perl;
|
|
|
|
use CGI qw ( -utf8 );
|
|
use C4::Auth;
|
|
use C4::Output;
|
|
use C4::Biblio;
|
|
use C4::Items;
|
|
use C4::Context;
|
|
use C4::Koha;
|
|
use C4::ClassSource;
|
|
use C4::Acquisition qw/GetOrderFromItemnumber ModOrder GetOrder/;
|
|
|
|
use Koha::Biblios;
|
|
|
|
use Date::Calc qw(Today);
|
|
|
|
use MARC::File::XML;
|
|
|
|
use Koha::Items;
|
|
|
|
my $query = CGI->new;
|
|
|
|
# The biblio to move the item to
|
|
my $biblionumber = $query->param('biblionumber');
|
|
|
|
# The barcode of the item to move
|
|
my $barcode = $query->param('barcode');
|
|
|
|
my ($template, $loggedinuser, $cookie) = get_template_and_user(
|
|
{
|
|
template_name => "cataloguing/moveitem.tt",
|
|
query => $query,
|
|
type => "intranet",
|
|
authnotrequired => 0,
|
|
flagsrequired => { editcatalogue => 'edit_items' },
|
|
debug => 1,
|
|
}
|
|
);
|
|
|
|
|
|
|
|
my $biblio = Koha::Biblios->find( $biblionumber );
|
|
$template->param(bibliotitle => $biblio->title);
|
|
$template->param(biblionumber => $biblionumber);
|
|
|
|
# If we already have the barcode of the item to move and the biblionumber to move the item to
|
|
if ( $barcode && $biblionumber ) {
|
|
|
|
my $itemnumber;
|
|
my $item = Koha::Items->find( { barcode => $barcode } );
|
|
|
|
if ($item) {
|
|
|
|
$itemnumber = $item->itemnumber;
|
|
my $frombiblionumber = $item->biblionumber;
|
|
|
|
my $moveresult = MoveItemFromBiblio( $itemnumber, $frombiblionumber, $biblionumber );
|
|
if ($moveresult) {
|
|
$template->param(
|
|
success => 1,
|
|
from_biblio => scalar Koha::Biblios->find($frombiblionumber),
|
|
);
|
|
}
|
|
else {
|
|
$template->param(
|
|
error => 1,
|
|
errornonewitem => 1
|
|
);
|
|
}
|
|
|
|
}
|
|
else {
|
|
$template->param(
|
|
error => 1,
|
|
errornoitem => 1
|
|
);
|
|
}
|
|
$template->param(
|
|
barcode => $barcode,
|
|
itemnumber => $itemnumber,
|
|
);
|
|
|
|
}
|
|
else {
|
|
$template->param( missingparameter => 1 );
|
|
if ( !$barcode ) { $template->param( missingbarcode => 1 ); }
|
|
if ( !$biblionumber ) { $template->param( missingbiblionumber => 1 ); }
|
|
}
|
|
|
|
|
|
output_html_with_http_headers $query, $cookie, $template->output;
|