From 5f8cab28d192fcf9d7d869b3a496832bb63ec1af Mon Sep 17 00:00:00 2001 From: Henri-Damien LAURENT Date: Mon, 24 Aug 2009 23:47:17 +0200 Subject: [PATCH] Move Item from one biblio to another Signed-off-by: Galen Charlton --- cataloguing/moveitem.pl | 105 ++++++++++++++++++ .../prog/en/modules/cataloguing/moveitem.tmpl | 57 ++++++++++ 2 files changed, 162 insertions(+) create mode 100755 cataloguing/moveitem.pl create mode 100644 koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/moveitem.tmpl diff --git a/cataloguing/moveitem.pl b/cataloguing/moveitem.pl new file mode 100755 index 0000000000..1461a00032 --- /dev/null +++ b/cataloguing/moveitem.pl @@ -0,0 +1,105 @@ +#!/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 2 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, write to the Free Software Foundation, Inc., 59 Temple Place, +# Suite 330, Boston, MA 02111-1307 USA + +use CGI; +use strict; +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 Date::Calc qw(Today); + +use MARC::File::XML; +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.tmpl", + query => $query, + type => "intranet", + authnotrequired => 0, + flagsrequired => {editcatalogue => 1}, + debug => 1, + }); + + + +my $biblio = GetBiblioData($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) { + + # 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); + + } + $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; diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/moveitem.tmpl b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/moveitem.tmpl new file mode 100644 index 0000000000..f920244d6b --- /dev/null +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/moveitem.tmpl @@ -0,0 +1,57 @@ + +Attach item + + + + + + +
+ + +
+ ERROR: Unable to create the new item. + ERROR: Unable to get the item. + ERROR: Unable to get the item number from this barcode. +
+
+ + " /> +
+ + +
The item has successfully been attached to .
+
+ + " /> +
+ + +
+ +
+ +
Enter biblionumber:
+ +
+ + " /> + + + +
+ +
Enter item barcode:
+ +
+ + " /> + + + + +
+ + + + -- 2.39.5