[Top][All Lists]
[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'});