#!/usr/bin/perl # $Id$ # Copyright 2000-2002 Katipo Communications # # 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 strict; use CGI; use C4::Context; use C4::Biblio; use C4::Output; use C4::Circulation::Circ2; use C4::Accounts2; my $env; my $input= new CGI; my $bibnum=checkinp($input->param('bibnum')); my $itemnum=checkinp($input->param('itemnumber')); my $copyright=checkinp($input->param('Copyright')); my $seriestitle=checkinp($input->param('Series')); my $serial=checkinp($input->param('Serial')); my $unititle=checkinp($input->param('Unititle')); my $notes=checkinp($input->param('ItemNotes')); #need to do barcode check my $barcode=$input->param('Barcode'); my $bibitemnum=checkinp($input->param('bibitemnum')); my $itemtype=checkinp($input->param('Item')); my $isbn=checkinp($input->param('ISBN')); my $publishercode=checkinp($input->param('Publisher')); my $publicationdate=checkinp($input->param('Publication')); my $class=checkinp($input->param('Class')); my $homebranch=checkinp($input->param('Home')); my $lost=$input->param('Lost'); my $wthdrawn=$input->param('withdrawn'); my $classification; my $dewey; my $subclass; my $override=$input->param('override'); if ($itemtype ne 'NF'){ $classification=$class; } if ($class =~/[0-9]+/){ $dewey= $class; $dewey=~ s/[a-z]+//gi; my @temp; if ($class =~ /\./){ @temp=split(/[0-9]+\.[0-9]+/,$class); } else { @temp=split(/[0-9]+/,$class); } $classification=$temp[0]; $subclass=$temp[1]; }else{ $dewey=''; } my $illus=checkinp($input->param('Illustrations')); my $pages=checkinp($input->param('Pages')); my $volumeddesc=checkinp($input->param('Volume')); if ($wthdrawn == 0 && $override ne 'yes'){ moditem( { biblionumber => $bibnum, loan =>'loan', itemnum => $itemnum, bibitemnum => $bibitemnum, barcode => $barcode, notes => $notes, homebranch => $homebranch, lost => $lost, wthdranw => $wthdrawn }); if ($lost ==1){ my $dbh = C4::Context->dbh; my $sth=$dbh->prepare("Select * from issues where (itemnumber=?) and (returndate is null)"); $sth->execute($itemnum); my $data=$sth->fetchrow_hashref; if ($data->{'borrowernumber'} ne '') { #item on issue add replacement cost to borrowers record my $accountno=getnextacctno($env,$data->{'borrowernumber'},$dbh); my $item=getiteminformation($env, $itemnum); my $sth2=$dbh->prepare("Insert into accountlines (borrowernumber,accountno,date,amount,description,accounttype,amountoutstanding,itemnumber) values (?,?,now(),?,?,'L',?,?)"); $sth2->execute($data->{'borrowernumber'},$accountno,$item->{'replacementprice'}, "Lost Item $item->{'title'} $item->{'barcode'}", $item->{'replacementprice'},$itemnum); $sth2->finish; } $sth->finish; } print $input->redirect("moredetail.pl?type=intra&bib=$bibnum&bi=$bibitemnum"); } else { # print "marking cancelled"; #need to check if it is on reserve or issued my $dbh = C4::Context->dbh; my $flag=0; my ($resbor,$resrec)=C4::Reserves2::CheckReserves($env,$dbh,$itemnum); # print $resbor; if ($resbor){ print $input->header; print "The biblio or biblioitem this item belongs to has a reserve on it"; $flag=1; } my $sth=$dbh->prepare("Select * from issues where (itemnumber=?) and (returndate is null)"); $sth->execute($itemnum); my $data=$sth->fetchrow_hashref; if ($data->{'borrowernumber'} ne '') { print $input->header; print "
Item is on issue"; $flag=1; } $sth->finish; if ($flag == 1){ my $url=$input->self_url; $url.="&override=yes"; print "
Cancel Anyway or Back"; }else { moditem({ biblionumber => $bibnum, loan => 'loan', itemnum => $itemnum, bibitemnum => $bibitemnum, barcode => $barcode, notes => $notes, homebranch => $homebranch, lost => $lost, wthdrawn => $wthdrawn }); print $input->redirect("moredetail.pl?type=intra&bib=$bibnum&bi=$bibitemnum"); } } #print $bibitemnum; sub checkinp{ my ($inp)=@_; $inp=~ s/\'/\\\'/g; $inp=~ s/\"/\\\"/g; return($inp); } #sub checkissue{