[Koha-patches] [PATCH] Move Item from one biblio to another

Henri-Damien LAURENT henridamien.laurent at biblibre.com
Mon Aug 24 23:47:17 CEST 2009


---
 cataloguing/moveitem.pl                            |  105 ++++++++++++++++++++
 .../prog/en/modules/cataloguing/moveitem.tmpl      |   57 +++++++++++
 2 files changed, 162 insertions(+), 0 deletions(-)
 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 0000000..1461a00
--- /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 0000000..f920244
--- /dev/null
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/moveitem.tmpl
@@ -0,0 +1,57 @@
+<!-- TMPL_INCLUDE NAME="doc-head-open.inc" -->
+<title>Attach item</title>
+<!-- TMPL_INCLUDE NAME="doc-head-close.inc" -->
+</head>
+<body>
+<!-- TMPL_INCLUDE NAME="header.inc" -->
+<!-- TMPL_INCLUDE NAME="cat-search.inc" -->
+<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/cataloging/addbooks.pl">Cataloging</a>  &rsaquo; Attach an item to <i><!-- TMPL_VAR NAME="bibliotitle" escape="html" --></i></div>
+<div id="doc3" class="yui-t2">
+
+<!-- TMPL_IF NAME="error" -->
+    <div class="dialog alert">
+	<!-- TMPL_IF NAME="errornonewitem" -->ERROR: Unable to create the new item.<!-- /TMPL_IF -->
+	<!-- TMPL_IF NAME="errornoitem" -->ERROR: Unable to get the item.<!-- /TMPL_IF -->
+	<!-- TMPL_IF NAME="errornoitemnumber" -->ERROR: Unable to get the item number from this barcode.<!-- /TMPL_IF -->
+    </div>
+    <form action="/cgi-bin/koha/catalogue/MARCdetail.pl" method="post">
+	<input type="submit" value="OK" />
+	<input type="hidden" name="biblionumber" value="<!-- TMPL_VAR NAME="biblionumber" -->" />
+    </form>
+<!-- TMPL_ELSE -->
+    <!-- TMPL_IF NAME="success" -->
+	<div class="dialog">The item has successfully been attached to <i><!-- TMPL_VAR NAME="bibliotitle" escape="html" --></i>.</div>    
+	<form action="/cgi-bin/koha/catalogue/MARCdetail.pl" method="post">
+	    <input type="submit" value="OK" />
+	    <input type="hidden" name="biblionumber" value="<!-- TMPL_VAR NAME="biblionumber" -->" />
+	</form>
+    <!-- TMPL_ELSE -->
+	<!-- TMPL_IF NAME="missingparameter" -->
+	<form method="post" action="/cgi-bin/koha/cataloguing/moveitem.pl">
+	    <!-- TMPL_IF NAME="missingbiblionumber" -->
+	    <fieldset id="biblionumber_fieldset">
+		<label for="biblionumber_fieldset">Select the biblionumber to attach the item to</label>
+		    <div class="hint">Enter biblionumber:</div>
+		    <input type="text" name="biblionumber" id="biblionumber" class="focus" size="14" /> 
+	    </fieldset>
+	    <!-- TMPL_ELSE -->
+	    <input type="hidden" name="biblionumber" id="biblionumber" value="<!-- TMPL_VAR NAME="biblionumber" -->" />
+	    <!-- /TMPL_IF -->
+
+    	    <!-- TMPL_IF NAME="missingbarcode" -->
+	    <fieldset id="barcode_fieldset">
+		<label for="barcode_fieldset">Select the item to attach<!-- TMPL_IF NAME="bibliotitle" --> to <i><!-- TMPL_VAR NAME="bibliotitle" escape="html" --></i><!-- /TMPL_IF --></label>
+		    <div class="hint">Enter item barcode:</div>
+		    <input type="text" name="barcode" id="barcode" class="barcode focus" size="14" /> 
+	    </fieldset>
+	    <!-- TMPL_ELSE -->
+	    <input type="hidden" name="barcode" id="barcode" value="<!-- TMPL_VAR NAME="barcode" -->" />
+	    <!-- /TMPL_IF -->
+
+	    <input type="submit" value="Select" />
+
+	</form>
+	<!-- /TMPL_IF -->
+    <!-- /TMPL_IF -->
+<!-- /TMPL_IF -->
+<!-- TMPL_INCLUDE NAME="intranet-bottom.inc" -->
-- 
1.6.0.4



More information about the Koha-patches mailing list