[Koha-cvs] koha C4/Circulation/Circ2.pm C4/Reserves2.pm ko...

LAURIN arnaud alaurin at ouestprovence.fr
Fri May 19 19:01:03 CEST 2006


CVSROOT:	/sources/koha
Module name:	koha
Branch: 	
Changes by:	LAURIN arnaud <alaurin at savannah.gnu.org>	06/05/19 17:01:03

Modified files:
	C4/Circulation : Circ2.pm 
	C4             : Reserves2.pm 
	koha-tmpl/intranet-tmpl/prog/en/includes: menus.inc 
	koha-tmpl/intranet-tmpl/prog/en: intranet-main.tmpl 
Added files:
	circ           : branchreserves.pl currenttransfers.pl 
	                 waitingreservestransfers.pl 
	koha-tmpl/intranet-tmpl/prog/en/circ: branchreserves.tmpl 
	                                      currenttransfers.tmpl 
	                                      waitingreservestransfers.tmpl 
	koha-tmpl/intranet-tmpl/prog/en/includes: menu-circ.inc 

Log message:
	new dev : create 3 new program for circulation :
	
	branchreserves : to see reserves for one library (with the branchip selection or librarian preferences)
	
	currenttransfers : show all the transfers are waiting in the library
	
	waitingreservetransfers: show all the book the librarian have to transfer to an another library .
	
	"actions" are bugged, will be corrected .

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/koha/koha/C4/Circulation/Circ2.pm.diff?tr1=1.102&tr2=1.103&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/koha/koha/C4/Reserves2.pm.diff?tr1=1.42&tr2=1.43&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/koha/koha/circ/branchreserves.pl?rev=1.1
http://cvs.savannah.gnu.org/viewcvs/koha/koha/circ/currenttransfers.pl?rev=1.1
http://cvs.savannah.gnu.org/viewcvs/koha/koha/circ/waitingreservestransfers.pl?rev=1.1
http://cvs.savannah.gnu.org/viewcvs/koha/koha/koha-tmpl/intranet-tmpl/prog/en/circ/branchreserves.tmpl?rev=1.1
http://cvs.savannah.gnu.org/viewcvs/koha/koha/koha-tmpl/intranet-tmpl/prog/en/circ/currenttransfers.tmpl?rev=1.1
http://cvs.savannah.gnu.org/viewcvs/koha/koha/koha-tmpl/intranet-tmpl/prog/en/circ/waitingreservestransfers.tmpl?rev=1.1
http://cvs.savannah.gnu.org/viewcvs/koha/koha/koha-tmpl/intranet-tmpl/prog/en/includes/menu-circ.inc?rev=1.1
http://cvs.savannah.gnu.org/viewcvs/koha/koha/koha-tmpl/intranet-tmpl/prog/en/includes/menus.inc.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/koha/koha/koha-tmpl/intranet-tmpl/prog/en/intranet-main.tmpl.diff?tr1=1.5&tr2=1.6&r1=text&r2=text

Patches:
Index: koha/C4/Circulation/Circ2.pm
diff -u koha/C4/Circulation/Circ2.pm:1.102 koha/C4/Circulation/Circ2.pm:1.103
--- koha/C4/Circulation/Circ2.pm:1.102	Wed May 17 16:06:23 2006
+++ koha/C4/Circulation/Circ2.pm	Fri May 19 17:01:02 2006
@@ -3,7 +3,7 @@
 
 package C4::Circulation::Circ2;
 
-# $Id: Circ2.pm,v 1.102 2006/05/17 16:06:23 plg Exp $
+# $Id: Circ2.pm,v 1.103 2006/05/19 17:01:02 alaurin Exp $
 
 #package to deal with Returns
 #written 3/11/99 by olwen at katipo.co.nz
@@ -83,8 +83,13 @@
                 &fixdate
                 get_return_date_of
                 get_transfert_infos
+		&checktransferts
+		&GetReservesForBranch
+		&GetReservesToBranch
+		&GetTransfersFromBib
+		&getBranchIp
+		&dotranfer
         );
-
 # &getbranches &getprinters &getbranch &getprinter => moved to C4::Koha.pm
 
 =head2 itemseen
@@ -503,11 +508,11 @@
 	my ($resfound, $resrec) = CheckReserves($iteminformation->{'itemnumber'});
 	if ($resfound and not $ignoreRs) {
 		$resrec->{'ResFound'} = $resfound;
-		$messages->{'ResFound'} = $resrec;
-		$dotransfer = 0;
+# 		$messages->{'ResFound'} = $resrec;
+		$dotransfer = 1;
 	}
-	#actually do the transfer....
-	if ($dotransfer) {
+
+	if ($dotransfer and not $resfound) {
 		dotransfer($iteminformation->{'itemnumber'}, $fbr, $tbr);
 		$messages->{'WasTransfered'} = 1;
 	}
@@ -524,10 +529,10 @@
 	$fbr = $dbh->quote($fbr);
 	$tbr = $dbh->quote($tbr);
 	#new entry in branchtransfers....
-	$dbh->do("INSERT INTO	branchtransfers (itemnumber, frombranch, datearrived, tobranch)
+	$dbh->do("INSERT INTO branchtransfers (itemnumber, frombranch, datesent, tobranch)
 					VALUES ($itm, $fbr, now(), $tbr)");
 	#update holdingbranch in items .....
-	$dbh->do("UPDATE items set holdingbranch = $tbr WHERE	items.itemnumber = $itm");
+	$dbh->do("UPDATE items set holdingbranch = $tbr WHERE items.itemnumber = $itm");
 	&itemseen($itm);
 	&domarctransfer($dbh,$itm);
 	return;
@@ -897,7 +902,7 @@
     				CancelReserve(0, $res->{'itemnumber'}, $res->{'borrowernumber'});
                 }
 			} elsif ($restype eq "Reserved") {
-				warn "Reserved";
+# 				warn "Reserved";
 				# The item is on reserve for someone else.
 				my ($resborrower, $flags)=getpatroninformation($env, $resbor,0);
 				my $branches = getbranches();
@@ -914,7 +919,7 @@
 				} else {
 # 					my $tobrcd = ReserveWaiting($res->{'itemnumber'}, $res->{'borrowernumber'});
 # 					transferbook($tobrcd,$barcode, 1);
-					warn "transferbook";
+# 					warn "transferbook";
 				}
 			}
 		}
@@ -934,8 +939,8 @@
 		$sth->execute($borrower->{'borrowernumber'}, $iteminformation->{'itemnumber'}, $dateduef, $env->{'branchcode'});
 		$sth->finish;
 		$iteminformation->{'issues'}++;
-		$sth=$dbh->prepare("update items set issues=? where itemnumber=?");
-		$sth->execute($iteminformation->{'issues'},$iteminformation->{'itemnumber'});
+		$sth=$dbh->prepare("update items set issues=?, holdingbranch=? where itemnumber=?");
+		$sth->execute($iteminformation->{'issues'},C4::Context->userenv->{'branch'},$iteminformation->{'itemnumber'});
 		$sth->finish;
 		&itemseen($iteminformation->{'itemnumber'});
 	        itemborrowed($iteminformation->{'itemnumber'});
@@ -1092,28 +1097,64 @@
 		$messages->{'wthdrawn'} = 1;
 		$doreturn = 0;
 	}
+# 	new op dev : if the book returned in an other branch update the holding branch
+	
 	# update issues, thereby returning book (should push this out into another subroutine
 	my ($borrower) = getpatroninformation(\%env, $currentborrower, 0);
 	if ($doreturn) {
 		my $sth = $dbh->prepare("update issues set returndate = now() where (borrowernumber = ?) and (itemnumber = ?) and (returndate is null)");
 		$sth->execute($borrower->{'borrowernumber'}, $iteminformation->{'itemnumber'});
+
+# 	FIXME the holdingbranch is updated if the document is returned in an other location .		
+		if ( $iteminformation->{'holdingbranch'} ne C4::Context->userenv->{'branch'}){
+		my $sth_upd_location = $dbh->prepare("UPDATE items SET holdingbranch=? WHERE itemnumber=?");
+		$sth_upd_location->execute(C4::Context->userenv->{'branch'},$iteminformation->{'itemnumber'});
+		$sth_upd_location->finish;
+		$iteminformation->{'holdingbranch'} = C4::Context->userenv->{'branch'};
+		}
+
 		$messages->{'WasReturned'} = 1; # FIXME is the "= 1" right?
 	}
 	itemseen($iteminformation->{'itemnumber'});
 	($borrower) = getpatroninformation(\%env, $currentborrower, 0);
 	# transfer book to the current branch
-	my ($transfered, $mess, $item) = transferbook($branch, $barcode, 1);
-	if ($transfered) {
-		$messages->{'WasTransfered'} = 1; # FIXME is the "= 1" right?
-	}
+
+# FIXME function transfered still always used ????
+# 	my ($transfered, $mess, $item) = transferbook($branch, $barcode, 1);
+# 	if ($transfered) {
+# 		$messages->{'WasTransfered'} = 1; # FIXME is the "= 1" right?
+# 	}
+
 	# fix up the accounts.....
 	if ($iteminformation->{'itemlost'}) {
 		fixaccountforlostandreturned($iteminformation, $borrower);
 		$messages->{'WasLost'} = 1; # FIXME is the "= 1" right?
 	}
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+# 	check if we have a transfer for this document
+	my $checktransfer = checktransferts($iteminformation->{'itemnumber'});
+# 	if we have a return, we update the line of transfers with the datearrived
+	if ($checktransfer){
+		my $sth = $dbh->prepare("update branchtransfers set datearrived = now() where itemnumber= ? AND datearrived IS NULL");
+		$sth->execute($iteminformation->{'itemnumber'});
+		$sth->finish;
+# 		now we check if there is a reservation with the validate of transfer if we have one, we can 		set it with the status 'W'
+		my $updateWaiting = SetWaitingStatus($iteminformation->{'itemnumber'});
+	}
+#	if we don't have a transfer on run, we check if the document is not in his homebranch and there is not a reservation, we transfer this one to his home branch directly .
+	else {
+	# 	new op dev
+		my $checkreserves = CheckReserves($iteminformation->{'itemnumber'});
+		if (($iteminformation->{'homebranch'} ne $iteminformation->{'holdingbranch'}) and (not $checkreserves)){
+			my $automatictransfer = dotransfer($iteminformation->{'itemnumber'},$iteminformation->{'holdingbranch'},$iteminformation->{'homebranch'});
+			$messages->{'WasTransfered'} = 1;
+		}
+	}
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 
 	# fix up the overdues in accounts...
 	fixoverduesonreturn($borrower->{'borrowernumber'}, $iteminformation->{'itemnumber'});
 	# find reserves.....
+# 	if we don't have a reserve with the status W, we launch the Checkreserves routine
 	my ($resfound, $resrec) = CheckReserves($iteminformation->{'itemnumber'});
 	if ($resfound) {
 	#	my $tobrcd = ReserveWaiting($resrec->{'itemnumber'}, $resrec->{'borrowernumber'});
@@ -1967,6 +2008,87 @@
     return @row;
 }
 
+
+sub DeleteTransfer {
+	my($itemnumber) = @_;
+	my $dbh = C4::Context->dbh;
+    	my $sth=$dbh->prepare("DELETE FROM branchtransfers
+	where itemnumber=?
+	AND datearrived is null ");
+	$sth->execute($itemnumber);
+	$sth->finish;
+}
+
+sub GetTransfersFromBib {
+	my($frombranch,$tobranch) = @_;
+	my $dbh = C4::Context->dbh;
+    	my $sth=$dbh->prepare("SELECT itemnumber,datesent,frombranch FROM
+	 branchtransfers 
+	where frombranch=?
+	AND tobranch=? 
+	AND datearrived is null ");
+	$sth->execute($frombranch,$tobranch);
+	my @gettransfers;
+	my $i=0;
+	while (my $data=$sth->fetchrow_hashref){
+		$gettransfers[$i]=$data;
+		$i++;
+    	}
+    	$sth->finish;
+    	return(@gettransfers);	
+}
+
+sub GetReservesToBranch {
+	my($frombranch,$default) = @_;
+	my $dbh = C4::Context->dbh;
+    	my $sth=$dbh->prepare("SELECT borrowernumber,reservedate,itemnumber,timestamp FROM
+	 reserves 
+	where priority='0' AND cancellationdate is null  
+	AND branchcode=?
+	AND branchcode!=?
+	AND found is null ");
+	$sth->execute($frombranch,$default);
+	my @transreserv;
+	my $i=0;
+	while (my $data=$sth->fetchrow_hashref){
+		$transreserv[$i]=$data;
+		$i++;
+    	}
+    	$sth->finish;
+    	return(@transreserv);	
+}
+
+sub GetReservesForBranch {
+	my($frombranch) = @_;
+	my $dbh = C4::Context->dbh;
+    	my $sth=$dbh->prepare("SELECT borrowernumber,reservedate,itemnumber,waitingdate FROM
+	 reserves 
+	where priority='0' AND cancellationdate is null 
+	AND found='W' 
+	AND branchcode=? order by reservedate");
+	$sth->execute($frombranch);
+	my @transreserv;
+	my $i=0;
+	while (my $data=$sth->fetchrow_hashref){
+		$transreserv[$i]=$data;
+		$i++;
+    	}
+    	$sth->finish;
+    	return(@transreserv);	
+}
+
+sub checktransferts{
+	my($itemnumber) = @_;
+	my $dbh = C4::Context->dbh;
+    	my $sth=$dbh->prepare("SELECT datesent,frombranch,tobranch FROM branchtransfers
+        WHERE itemnumber = ? AND datearrived IS NULL");
+	$sth->execute($itemnumber);
+	my @tranferts = $sth->fetchrow_array;
+	$sth->finish;
+
+	return (@tranferts);
+}
+
 1;
 __END__
 
@@ -1977,3 +2099,4 @@
 Koha Developement team <info at koha.org>
 
 =cut
+
Index: koha/C4/Reserves2.pm
diff -u koha/C4/Reserves2.pm:1.42 koha/C4/Reserves2.pm:1.43
--- koha/C4/Reserves2.pm:1.42	Wed May 17 16:06:24 2006
+++ koha/C4/Reserves2.pm	Fri May 19 17:01:03 2006
@@ -3,7 +3,7 @@
 
 package C4::Reserves2;
 
-# $Id: Reserves2.pm,v 1.42 2006/05/17 16:06:24 plg Exp $
+# $Id: Reserves2.pm,v 1.43 2006/05/19 17:01:03 alaurin Exp $
 
 # Copyright 2000-2002 Katipo Communications
 #
@@ -66,11 +66,153 @@
     &UpdateReserve
     &getreservetitle
     &Findgroupreserve
+    &FastFindReserves
+    &SetWaitingStatus
+    &GlobalCancel
+    &MinusPriority
+    &OtherReserves
     GetFirstReserveDateFromItem
     GetNumberReservesFromBorrower
 );
 
 # make all your functions, whether exported or not;
+=item GlobalCancel
+	New op dev for the circulation based on item, global is a function to cancel reserv,check other reserves, and transfer document if it's necessary
+=cut
+#'
+sub GlobalCancel {
+	my $messages;
+	my $nextreservinfo;
+	my ($itemnumber,$borrowernumber)=@_;
+	
+# 	step 1 : cancel the reservation
+	my $CancelReserve = CancelReserve(0,$itemnumber,$borrowernumber);
+
+# 	step 2 launch the subroutine of the others reserves
+	my ($messages,$nextreservinfo) = OtherReserves($itemnumber);
+
+return ($messages,$nextreservinfo);
+}
+
+=item OtherReserves
+	New op dev: check queued list of this document and check if this document must be  transfered
+=cut
+#'
+sub OtherReserves {
+	my ($itemnumber)=@_;
+	my $messages;
+	my $nextreservinfo;
+	my ($restype,$checkreserves) = CheckReserves($itemnumber);
+	if ($checkreserves){
+		my %env;
+		my $iteminfo = C4::Circulation::Circ2::getiteminformation(\%env,$itemnumber);
+		if ($iteminfo->{'holdingbranch'} ne $checkreserves->{'branchcode'}){
+		$messages->{'transfert'} = $checkreserves->{'branchcode'};
+
+# 		minus priorities of others reservs
+		MinusPriority($itemnumber,$checkreserves->{'borrowernumber'},$iteminfo->{'biblionumber'});
+# 		launch the subroutine dotransfer
+		C4::Circulation::Circ2::dotransfer($itemnumber,$iteminfo->{'holdingbranch'},$checkreserves->{'branchcode'}),
+		}
+
+# 	step 2b : case of a reservation on the same branch, set the waiting status
+		else{
+		$messages->{'waiting'} = 1;
+		MinusPriority($itemnumber,$checkreserves->{'borrowernumber'},$iteminfo->{'biblionumber'});
+		SetWaitingStatus($itemnumber);
+		}
+
+		$nextreservinfo = $checkreserves->{'borrowernumber'};
+	}
+
+	return ($messages,$nextreservinfo);	
+}
+
+=item MinusPriority
+	Reduce the values of queuded list 	
+=cut
+#'
+sub MinusPriority{
+	my ($itemnumber,$borrowernumber,$biblionumber)=@_;
+# 	first step update the value of the first person on reserv
+	my $dbh = C4::Context->dbh;
+	my $sth_upd=$dbh->prepare("UPDATE reserves SET priority = 0 , itemnumber = ? 
+	WHERE cancellationdate is NULL 
+	AND borrowernumber=?
+	AND biblionumber=?");
+	$sth_upd->execute($itemnumber,$borrowernumber,$biblionumber);
+	$sth_upd->finish;
+
+# second step update all others reservs
+	my $sth_oth=$dbh->prepare("SELECT priority,borrowernumber,biblionumber,reservedate FROM reserves WHERE priority !='0' AND cancellationdate is NULL");
+	$sth_oth->execute();
+	while (my ($priority,$borrowernumber,$biblionumber,$reservedate)=$sth_oth->fetchrow_array){
+		$priority--;
+		 my $sth_upd_oth = $dbh->prepare("UPDATE reserves SET priority = ?
+                               WHERE biblionumber     = ?
+                                 AND borrowernumber   = ?
+                       	         AND reservedate      = ?");
+		$sth_upd_oth->execute($priority,$biblionumber,$borrowernumber,$reservedate);
+		$sth_upd_oth->finish;
+	}
+	$sth_oth->finish;
+
+}
+
+
+=item GlobalCancel
+	New op dev for the circulation based on item, global is a function to cancel reserv,check other reserves, and transfer document if it's necessary
+=cut
+#'
+# New op dev :
+# we check if we have a reserves with itemnumber (New op system of reserves), if we found one, we update the status of the reservation when we have : 'priority' = 0, and we have an itemnumber 
+sub SetWaitingStatus{
+# 	first : check if we have a reservation for this item .
+	my ($itemnumber)=@_;
+	my $dbh = C4::Context->dbh;
+	my $sth_find=$dbh->prepare("SELECT priority,borrowernumber from reserves WHERE itemnumber=? and cancellationdate is NULL and found is NULL and priority='0'");
+	$sth_find->execute($itemnumber);
+	my ($priority,$borrowernumber) = $sth_find->fetchrow_array;
+	$sth_find->finish;
+	if (not $borrowernumber){
+		return();
+	}
+	else{
+# 		step 2 : if we have a borrowernumber, we update the value found to 'W' for notify the borrower
+		my $sth_set=$dbh->prepare("UPDATE reserves SET found='W',waitingdate = now() where borrowernumber=? AND itemnumber=? AND found is null");
+	$sth_set->execute($borrowernumber,$itemnumber);
+	$sth_set->finish;
+	}
+
+}
+
+sub FastFindReserves {
+	my ($itemnumber,$borrowernumber)=@_;
+	if ($itemnumber){
+		my $dbh = C4::Context->dbh;
+		my $sth_res=$dbh->prepare("SELECT reservedate,borrowernumber from reserves WHERE itemnumber=? and cancellationdate is NULL AND (found != 'F' or found is null)");
+		$sth_res->execute($itemnumber);
+		my ($reservedate,$borrowernumber)=$sth_res->fetchrow_array;
+		$sth_res->finish;
+		return($reservedate,$borrowernumber);
+	}
+	if ($borrowernumber){
+		my $dbh = C4::Context->dbh;
+		my $sth_find=$dbh->prepare("SELECT * from reserves WHERE borrowernumber=? and cancellationdate is NULL and (found != 'F' or found is null) order by reservedate");
+		$sth_find->execute($borrowernumber);	
+		my @borrowerreserv;
+		my $i=0;
+		while (my $data=$sth_find->fetchrow_hashref){
+			$borrowerreserv[$i]=$data;
+			$i++;
+    		}
+		$sth_find->finish;
+		return (@borrowerreserv);
+	}
+
+}
+
+
 
 =item FindReserves
 
@@ -551,13 +693,17 @@
 # C4::Reserves. Pick one and stick with it.
 # XXX - POD
 sub CreateReserve {
-  my
-($env,$branch,$borrnum,$biblionumber,$constraint,$bibitems,$priority,$notes,$title)= @_;
+  my ($env,$branch,$borrnum,$biblionumber,$constraint,$bibitems,$priority,$notes,$title,$checkitem,$found)= @_;
   my $fee=CalcReserveFee($env,$borrnum,$biblionumber,$constraint,$bibitems);
   my $dbh = C4::Context->dbh;
   my $const = lc substr($constraint,0,1);
   my @datearr = localtime(time);
   my $resdate =(1900+$datearr[5])."-".($datearr[4]+1)."-".$datearr[3];
+  my $waitingdate;
+# If the reserv had the waiting status, we had the value of the resdate
+  if ($found eq 'W'){
+  $waitingdate = $resdate;
+  }
   #eval {
   # updates take place here
   if ($fee > 0) {
@@ -572,9 +718,9 @@
   }
   #if ($const eq 'a'){
     my $sth = $dbh->prepare("insert into reserves
-   (borrowernumber,biblionumber,reservedate,branchcode,constrainttype,priority,reservenotes)
-    values (?,?,?,?,?,?,?)");
-    $sth->execute($borrnum,$biblionumber,$resdate,$branch,$const,$priority,$notes);
+   (borrowernumber,biblionumber,reservedate,branchcode,constrainttype,priority,reservenotes,itemnumber,found,waitingdate)
+    values (?,?,?,?,?,?,?,?,?,?)");
+    $sth->execute($borrnum,$biblionumber,$resdate,$branch,$const,$priority,$notes,$checkitem,$found,$waitingdate);
     $sth->finish;
   #}
   if (($const eq "o") || ($const eq "e")) {
Index: koha/koha-tmpl/intranet-tmpl/prog/en/includes/menus.inc
diff -u koha/koha-tmpl/intranet-tmpl/prog/en/includes/menus.inc:1.3 koha/koha-tmpl/intranet-tmpl/prog/en/includes/menus.inc:1.4
--- koha/koha-tmpl/intranet-tmpl/prog/en/includes/menus.inc:1.3	Tue May  9 13:28:08 2006
+++ koha/koha-tmpl/intranet-tmpl/prog/en/includes/menus.inc	Fri May 19 17:01:03 2006
@@ -1,4 +1,5 @@
 <script language="JavaScript" type="text/javascript">
+function _(s) { return s } // dummy function for gettext
 function Help() {
 	newin=window.open("/cgi-bin/koha/help.pl","Koha Help",'width=600,height=600,toolbar=false,scrollbars=yes');
 }
Index: koha/koha-tmpl/intranet-tmpl/prog/en/intranet-main.tmpl
diff -u koha/koha-tmpl/intranet-tmpl/prog/en/intranet-main.tmpl:1.5 koha/koha-tmpl/intranet-tmpl/prog/en/intranet-main.tmpl:1.6
--- koha/koha-tmpl/intranet-tmpl/prog/en/intranet-main.tmpl:1.5	Fri Apr 14 09:37:14 2006
+++ koha/koha-tmpl/intranet-tmpl/prog/en/intranet-main.tmpl	Fri May 19 17:01:03 2006
@@ -7,14 +7,19 @@
 			<li><a href="/cgi-bin/koha/circ/circulation.pl">Issues</a></li>
 			<li><a href="/cgi-bin/koha/circ/returns.pl">Returns</a></li>
 			<li><a href="/cgi-bin/koha/circ/branchtransfers.pl">Transfers</a></li>
-			<li><a href="/cgi-bin/koha/circ/selectbranchprinter.pl">Set Branch</a></li>
+			<li><a href="/cgi-bin/koha/circ/selectbranchprinter.pl">Set branch</a></li>
+			<li><a href="/cgi-bin/koha/circ/branchreserves.pl">Waiting reserves</a></li>
+			<li><a href="/cgi-bin/koha/circ/waitingreservestransfers.pl">Transfers to do</a></li>
+			<li><a href="/cgi-bin/koha/circ/currenttransfers.pl">Transfers to recieve</a></li>
 		</ul>
 	</li>
 	<li>Members
 		<ul>
-			<li><a href="/cgi-bin/koha/members/members-home.pl">Member Search</a></li>
-			<li><a href="/cgi-bin/koha/members/memberentry.pl?actionType=Add">Add Member</a></li>
-			<li><a href="/cgi-bin/koha/members/memberentry.pl?categorycode=I&actionType=Add">Add Institution</a></li>
+			<li><a href="/cgi-bin/koha/members/members-home.pl">Search</a></li>
+ 			<li><a href="/cgi-bin/koha/members/memberentry.pl?op=add&category_type=A"/>Add adult</a></li>
+ 			<li><a href="/cgi-bin/koha/members/memberentry.pl?op=add&category_type=C"/>Add child</a></li>
+ 			<li><a href="/cgi-bin/koha/members/memberentry.pl?op=add&category_type=P"/>Add prof</a></li>
+ 			<li><a href="/cgi-bin/koha/members/memberentry.pl?op=add&category_type=I"/>Add org</a></li>
 		</ul>
 	</li>
 	<li>Catalogue





More information about the Koha-cvs mailing list