koha-cvs
[Top][All Lists]
Advanced

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

[Koha-cvs] koha C4/Circulation/Fines.pm misc/fines.pl [rel_3_0]


From: Bruno Toumi
Subject: [Koha-cvs] koha C4/Circulation/Fines.pm misc/fines.pl [rel_3_0]
Date: Tue, 24 Oct 2006 08:46:26 +0000

CVSROOT:        /sources/koha
Module name:    koha
Branch:         rel_3_0
Changes by:     Bruno Toumi <btoumi>    06/10/24 08:46:26

Modified files:
        C4/Circulation : Fines.pm 
        misc           : fines.pl 

Log message:
        add function and test to change satus of borrowers( debarred or not)
        add link with overdurules and field debarred

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/koha/C4/Circulation/Fines.pm?cvsroot=koha&only_with_tag=rel_3_0&r1=1.14.2.2&r2=1.14.2.3
http://cvs.savannah.gnu.org/viewcvs/koha/misc/fines.pl?cvsroot=koha&only_with_tag=rel_3_0&r1=1.1.2.3&r2=1.1.2.4

Patches:
Index: C4/Circulation/Fines.pm
===================================================================
RCS file: /sources/koha/koha/C4/Circulation/Fines.pm,v
retrieving revision 1.14.2.2
retrieving revision 1.14.2.3
diff -u -b -r1.14.2.2 -r1.14.2.3
--- C4/Circulation/Fines.pm     12 Oct 2006 10:27:55 -0000      1.14.2.2
+++ C4/Circulation/Fines.pm     24 Oct 2006 08:46:26 -0000      1.14.2.3
@@ -1,6 +1,6 @@
 package C4::Circulation::Fines;
 
-# $Id: Fines.pm,v 1.14.2.2 2006/10/12 10:27:55 btoumi Exp $
+# $Id: Fines.pm,v 1.14.2.3 2006/10/24 08:46:26 btoumi Exp $
 
 # Copyright 2000-2002 Katipo Communications
 #
@@ -57,10 +57,12 @@
                &CheckAccountLineLevelInfo
                &CheckAccountLineItemInfo
                &CheckExistantNotifyid
+               &CheckBorrowerDebarred
                &GetIssuesIteminfo
                &GetNextIdNotify
                &GetMaxAccountno 
                &GetOverdueDelays 
+               &GetOverduerules
                &GetFine
                &GetItems  
                &GetNotifyId
@@ -69,6 +71,7 @@
                &AmountNotify
                &UpdateAccountLines 
                &UpdateFine
+               &UpdateBorrowerDebarred
                &CreateItemAccountLine
                &ReplacementCost
                &ReplacementCost2);
@@ -906,6 +909,92 @@
        return($exist);
 }
 
+=item GetOverduerules
+
+($overduerules) = &GetOverduerules($categorycode);
+
+Returns the value of borrowers (debarred or not) with notify level
+
+C<$overduerules> return value of debbraed field in overduerules table
+
+C<$category> contains the borrower categorycode
+
+C<$notify_level> contains the notify level
+=cut
+
+
+sub GetOverduerules{
+       my($category,$notify_level) = @_;
+       my $dbh = C4::Context->dbh;
+       my $query=qq|SELECT debarred$notify_level 
+                    FROM overduerules 
+                    WHERE categorycode=?|; 
+       my $sth=$dbh->prepare($query);
+       $sth->execute($category);
+       my ($overduerules)=$sth->fetchrow;
+       $sth->finish;
+       return($overduerules);
+}
+
+
+=item CheckBorrowerDebarred
+
+($debarredstatus) = &CheckBorrowerDebarred($borrowernumber);
+
+Check if the borrowers is already debarred
+
+C<$debarredstatus> return 0 for not debarred and return 1 for debarred
+
+C<$borrowernumber> contains the borrower number
+
+=cut
+
+
+sub CheckBorrowerDebarred{
+       my($borrowernumber) = @_;
+       my $dbh = C4::Context->dbh;
+       my $query=qq|SELECT debarred
+                    FROM borrowers 
+                    WHERE borrowernumber=?
+                   |;
+       my $sth=$dbh->prepare($query);
+       $sth->execute($borrowernumber);
+       my ($debarredstatus)=$sth->fetchrow;
+       $sth->finish;
+       if ($debarredstatus eq '1'){
+       return(1);}
+       else{
+       return(0);
+       }
+}
+
+
+
+=item UpdateBorrowerDebarred
+
+($borrowerstatut) = &UpdateBorrowerDebarred($borrowernumber);
+
+update status of borrowers in borrowers table (field debarred)
+
+C<$borrowernumber> borrower number
+
+=cut
+sub UpdateBorrowerDebarred{
+       my($borrowernumber) = @_;
+       my $dbh = C4::Context->dbh;
+       my $query=qq|UPDATE borrowers 
+                    SET debarred='1' 
+                     WHERE borrowernumber=?
+                   |;
+       my $sth=$dbh->prepare($query);
+       $sth->execute($borrowernumber);
+       $sth->finish;
+       return 1;
+}
+
+
+
+
 =item CheckExistantNotifyid
 
   ($exist) = 
&CheckExistantNotifyid($borrowernumber,$itemnumber,$accounttype,$notify_id);

Index: misc/fines.pl
===================================================================
RCS file: /sources/koha/koha/misc/Attic/fines.pl,v
retrieving revision 1.1.2.3
retrieving revision 1.1.2.4
diff -u -b -r1.1.2.3 -r1.1.2.4
--- misc/fines.pl       20 Oct 2006 15:17:27 -0000      1.1.2.3
+++ misc/fines.pl       24 Oct 2006 08:46:26 -0000      1.1.2.4
@@ -25,7 +25,7 @@
 # Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
 # Suite 330, Boston, MA  02111-1307 USA
 
-# $Id: fines.pl,v 1.1.2.3 2006/10/20 15:17:27 btoumi Exp $
+# $Id: fines.pl,v 1.1.2.4 2006/10/24 08:46:26 btoumi Exp $
 
 use C4::Context;
 use C4::Search;
@@ -80,11 +80,15 @@
        my 
$issuingrules=GetIssuingRules($data->[$i]->{'itemnumber'},$borrower->{'categorycode'});
  
 if($delays1  and $delays2  and $delays3)  {    
+       
+       my $debarredstatus=CheckBorrowerDebarred($borrower->{'borrowernumber'});
+               
        if (($issuingrules->{'fine'} > 0) || ($issuingrules->{'fine'} ne '' )){
 
                #DELAYS 1##########################################
                if ($amount > 0 && $daycount >= $delays1 && $daycount < 
$delays2){
-               
+               my $debarred1=GetOverduerules($borrower->{'categorycode'},1);
+               
(UpdateBorrowerDebarred($borrower->{'borrowernumber'}))if(($debarred1 eq '1' ) 
and ($debarredstatus eq '0'));
                
UpdateFine($data->[$i]->{'itemnumber'},$data->[$i]->{'borrowernumber'},$amount,$type,$due);
                my 
$getnotifyid=CheckExistantNotifyid($borrower->{'borrowernumber'},$datedue);
                
@@ -112,8 +116,9 @@
                
                #DELAYS 2#################################
                
-               if ($daycount >= $delays2 && $daycount <= $delays3){
-               
+               if ($daycount >= $delays2 && $daycount < $delays3){
+               my $debarred2=GetOverduerules($borrower->{'categorycode'},2);
+               
(UpdateBorrowerDebarred($borrower->{'borrowernumber'}))if(($debarred2 eq '1' ) 
and ($debarredstatus eq '0'));
                my 
$update=CheckAccountLineLevelInfo($borrower->{'borrowernumber'},$data->[$i]->{'itemnumber'},2);
                if ($update eq '0'){
                
UpdateAccountLines(undef,2,$borrower->{'borrowernumber'},$data->[$i]->{'itemnumber'});
@@ -123,7 +128,8 @@
                
                #DELAYS 3###################################
                if ($daycount >= $delays3  ){
-                       
+                       my 
$debarred3=GetOverduerules($borrower->{'categorycode'},3);
+                       
(UpdateBorrowerDebarred($borrower->{'borrowernumber'}))if(($debarred3 eq '1' ) 
and ($debarredstatus eq '0'));
                        my 
$update=CheckAccountLineLevelInfo($borrower->{'borrowernumber'},$data->[$i]->{'itemnumber'},3);
                        if ($update eq '0'){
                                        
UpdateAccountLines(undef,3,$borrower->{'borrowernumber'},$data->[$i]->{'itemnumber'});
 




reply via email to

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