X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=cataloguing%2Fmoveitem.pl;h=ec59c258ff0a548728eca054c6a0f45c8124a0e1;hb=b837f1356b0c25801bab09f95f1881c831cf4cd3;hp=24414cca38049703eac6eb5c152fd5320fd169c2;hpb=c0234dd9b9649063acf2617fecf5c6efda38a532;p=srvgit diff --git a/cataloguing/moveitem.pl b/cataloguing/moveitem.pl index 24414cca38..ec59c258ff 100755 --- a/cataloguing/moveitem.pl +++ b/cataloguing/moveitem.pl @@ -6,35 +6,28 @@ # # 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 2 of the License, or (at your option) any later -# version. +# 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. +# 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, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -use strict; -#use warnings; FIXME - Bug 2505 -use CGI; -use C4::Auth; -use C4::Output; -use C4::Biblio; -use C4::Items; -use C4::Context; -use C4::Koha; -use C4::Branch; -use C4::ClassSource; -use C4::Acquisition qw/GetOrderFromItemnumber ModOrder GetOrder ModOrderItem/; - -use Date::Calc qw(Today); - -use MARC::File::XML; +# You should have received a copy of the GNU General Public License +# along with Koha; if not, see . + +use Modern::Perl; + +use CGI qw ( -utf8 ); +use C4::Auth qw( get_template_and_user ); +use C4::Output qw( output_html_with_http_headers ); + +use Koha::Biblios; +use Koha::Items; + my $query = CGI->new; # The biblio to move the item to @@ -43,64 +36,62 @@ 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.tmpl", - query => $query, - type => "intranet", - authnotrequired => 0, +my ($template, $loggedinuser, $cookie) = get_template_and_user( + { + template_name => "cataloguing/moveitem.tt", + query => $query, + type => "intranet", flagsrequired => { editcatalogue => 'edit_items' }, - debug => 1, - }); - - + } +); -my $biblio = GetBiblioData($biblionumber); -$template->param(bibliotitle => $biblio->{'title'}); +my $biblio = Koha::Biblios->find( $biblionumber ); +$template->param(biblio => $biblio); $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) { - - # We get his itemnumber - my $itemnumber = GetItemnumberFromBarcode($barcode); - - if ($itemnumber) { - # And then, we get the item - my $item = GetItem($itemnumber); - - if ($item) { - - my $results = GetBiblioFromItemNumber($itemnumber, $barcode); - my $frombiblionumber = $results->{'biblionumber'}; - - my $moveresult = MoveItemFromBiblio($itemnumber, $frombiblionumber, $biblionumber); - if ($moveresult) { - $template->param(success => 1); - } else { - $template->param(error => 1, - errornonewitem => 1); - } - - - } else { - $template->param(error => 1, - errornoitem => 1); - } - } else { - $template->param(error => 1, - errornoitemnumber => 1); +if ( $barcode && $biblionumber ) { + + my $itemnumber; + my $item = Koha::Items->find( { barcode => $barcode } ); + + if ($item) { + + $itemnumber = $item->itemnumber; + my $frombiblionumber = $item->biblionumber; + my $to_biblio = Koha::Biblios->find($biblionumber); + + my $moveresult = $item->move_to_biblio($to_biblio); + if ($moveresult) { + $template->param( + success => 1, + from_biblio => 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); } -} + 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;