koha-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


From: Paul POULAIN
Subject: [Koha-cvs] CVS: koha/C4/Circulation Circ2.pm,1.72,1.73
Date: Mon, 03 May 2004 02:10:58 -0700

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 ----




reply via email to

[Prev in Thread] Current Thread [Next in Thread]