[Koha-cvs] CVS: koha/C4/Circulation Circ2.pm,1.72,1.73

Paul POULAIN tipaul at users.sourceforge.net
Mon May 3 11:10:58 CEST 2004


Update of /cvsroot/koha/koha/C4/Circulation
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1340/C4/Circulation

Modified Files:
	Circ2.pm 
Log Message:
CIRCULATION : the big rewrite...

This 1st commit reorders deeply the circulation module.
The goal is to :
* have something 100% templated/translatable.
* have something easy to read & modify, to say to customers/users : you can define your circulation rules as you want if you accept to look in C4/Circ/Circ2.pm

The circulation now works :
1=> ask for the borrower barcode (as previously)
2=> ask for the item barcode.
3=> check "canbookbeissued". This new sub returns 2 arrays :
- IMPOSSIBLE : if something is here, then the issue is not possible and is not done.
- TOBECONFIRMED : if something is here, then the issue can be donc if the user confirms it.
4=> if TOBECONFIRMED is set : ask for confirmation, loop. if neither  are set or confirmation flag is set (2nd pass of the loop), then issue.

The IMPOSSIBLE & TOBECONFIRMED hashs contains :
* the reason of the line. always in capitals, with words separated by _ : BARCODE_UNKNOWN, DEBTS ... as key of the hash
* more information, as value of the hash ( TOBECONFIRMED{ALREADY_ISSUED} = "previous_borrower_name", for example)

This commit :
* compiles
* works on certain situations, not on other
* does NOT issue (the line is # )
* does not check issuing rules depending of # of books allowed / already issued

The next step is :
- check issuing rule.
- extend issuing rule to have a 3D array : for each branch / itemtype / borrowertype = issuing number and issuing length.

Index: Circ2.pm
===================================================================
RCS file: /cvsroot/koha/koha/C4/Circulation/Circ2.pm,v
retrieving revision 1.72
retrieving revision 1.73
diff -C2 -r1.72 -r1.73
*** Circ2.pm	3 May 2004 09:02:12 -0000	1.72
--- Circ2.pm	3 May 2004 09:10:51 -0000	1.73
***************
*** 586,590 ****
  sub issuebook {
  	my ($env,$borrower,$barcode,$date) = @_;
- warn "1";
  	my $dbh = C4::Context->dbh;
  #	my ($borrower, $flags) = &getpatroninformation($env, $borrowernumber, 0);
--- 586,589 ----
***************
*** 596,600 ****
  	my ($currentborrower) = currentborrower($iteminformation->{'itemnumber'});
  	if ($currentborrower eq $borrower->{'borrowernumber'}) {
- warn "2";
  		my ($charge,$itemtype) = calc_charges($env, $dbh, $iteminformation->{'itemnumber'}, $borrower->{'borrowernumber'});
  		if ($charge > 0) {
--- 595,598 ----
***************
*** 609,622 ****
  #
  		if ($currentborrower ne '') {
- warn "3";
  			# This book is currently on loan, but not to the person
  			# who wants to borrow it now. mark it returned before issuing to the new borrower
  			returnbook($iteminformation->{'barcode'}, $env->{'branchcode'});
  		}
- warn "4";
  		# See if the item is on reserve.
  		my ($restype, $res) = CheckReserves($iteminformation->{'itemnumber'});
  		if ($restype) {
- warn "5";
  			my $resbor = $res->{'borrowernumber'};
  			if ($resbor eq $borrower->{'borrowernumber'}) {
--- 607,617 ----





More information about the Koha-cvs mailing list