From: Nahuel Angelinetti <[email protected]>

This patch just check the syspref and use it as base date of renew.

Signed-off-by: Henri-Damien LAURENT <[email protected]>
---
 C4/Circulation.pm                                  |    5 ++++-
 installer/data/mysql/en/mandatory/sysprefs.sql     |    1 +
 .../1-Obligatoire/unimarc_standard_systemprefs.sql |    1 +
 installer/data/mysql/updatedatabase30.pl           |    9 +++++++++
 kohaversion.pl                                     |    2 +-
 5 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/C4/Circulation.pm b/C4/Circulation.pm
index ff3af6a..2d852bd 100644
--- a/C4/Circulation.pm
+++ b/C4/Circulation.pm
@@ -1987,8 +1987,11 @@ sub AddRenewal {
                        $item->{homebranch}                     # item's 
homebranch determines loanlength OR do we want the branch specified by the 
AddRenewal argument?
         );
 
+        $datedue = (C4::Context->preference('RenewalPeriodBase') eq 
'date_due') ?
+                                        C4::Dates->new($issuedata->{date_due}, 
'iso') :
+                                        C4::Dates->new();
         #FIXME -- use circControl?
-        $datedue =  CalcDateDue(C4::Dates->new($issuedata->{date_due}, 
'iso'),$loanlength,$branch);    # this branch is the transactional branch.
+        $datedue =  CalcDateDue($datedue,$loanlength,$branch); # this branch 
is the transactional branch.
         # The question of whether to use item's homebranch calendar is open.
     }
 
diff --git a/installer/data/mysql/en/mandatory/sysprefs.sql 
b/installer/data/mysql/en/mandatory/sysprefs.sql
index 51e192b..5f58765 100644
--- a/installer/data/mysql/en/mandatory/sysprefs.sql
+++ b/installer/data/mysql/en/mandatory/sysprefs.sql
@@ -213,3 +213,4 @@ INSERT INTO `systempreferences` 
(variable,value,options,explanation,type) VALUES
 INSERT INTO systempreferences (variable,value,explanation,options,type) 
VALUES('AllowRenewalLimitOverride', '0', 'if ON, allows renewal limits to be 
overridden on the circulation screen',NULL,'YesNo');
 INSERT INTO systempreferences (variable,value,explanation,options,type) 
VALUES('MergeAuthoritiesOnUpdate', '1', 'if ON, Updating authorities will 
automatically updates biblios',NULL,'YesNo');
 INSERT INTO systempreferences (variable,value,explanation,options,type) 
VALUES('AllowNotForLoanOverride', '0', 'if ON, enables the librarian to choose 
when they want to check out a notForLoan regular item',NULL,'YesNo');
+INSERT INTO systempreferences (variable,value,explanation,options,type) 
VALUES('RenewalPeriodBase', 'date_due', 'Set whether the renewal date should be 
counted from the date_due or from the moment the Patron asks for renewal 
','date_due|now','Choice');
diff --git 
a/installer/data/mysql/fr-FR/1-Obligatoire/unimarc_standard_systemprefs.sql 
b/installer/data/mysql/fr-FR/1-Obligatoire/unimarc_standard_systemprefs.sql
index 4107a3c..17cb8b8 100644
--- a/installer/data/mysql/fr-FR/1-Obligatoire/unimarc_standard_systemprefs.sql
+++ b/installer/data/mysql/fr-FR/1-Obligatoire/unimarc_standard_systemprefs.sql
@@ -213,3 +213,4 @@ INSERT INTO `systempreferences` 
(variable,value,options,explanation,type) VALUES
 INSERT INTO systempreferences (variable,value,explanation,options,type) 
VALUES('AllowRenewalLimitOverride', '1', 'Si Activé, permet que les périodes 
de renouvellement puisse être positionnée manuellement durant la 
circulation',NULL,'YesNo');
 INSERT INTO systempreferences (variable,value,explanation,options,type) 
VALUES('MergeAuthoritiesOnUpdate', '0', 'Si Activé, met à jour toutes les 
notices bibliographiques afférentes dès la modification d''une 
autorité',NULL,'YesNo');
 INSERT INTO systempreferences (variable,value,explanation,options,type) 
VALUES('AllowNotForLoanOverride', '0', 'Si activé, permet au bibliothécaire 
de choisir de prêter tout de même un exemplaire normalement exclu du 
prêt',NULL,'YesNo');
+INSERT INTO systempreferences (variable,value,explanation,options,type) 
VALUES('RenewalPeriodBase', 'date_due', 'Permet de déterminer si la période 
de renouvellement doit être calculée sur la date de retour ou sur le jour du 
renouvellement','date_due|now','Choice');
diff --git a/installer/data/mysql/updatedatabase30.pl 
b/installer/data/mysql/updatedatabase30.pl
index e6fda8b..e44d53d 100644
--- a/installer/data/mysql/updatedatabase30.pl
+++ b/installer/data/mysql/updatedatabase30.pl
@@ -162,6 +162,15 @@ if (C4::Context->preference("Version") < 
TransformToNum($DBversion)) {
     SetVersion ($DBversion);
 }
 
+$DBversion = "3.00.01.007";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+    $dbh->do(<<ENDOFRENEWAL);
+INSERT INTO systempreferences (variable,value,explanation,options,type) 
VALUES('RenewalPeriodBase', 'date_due', 'Set whether the renewal date should be 
counted from the date_due or from the moment the Patron asks for renewal 
','date_due|now','Choice');
+ENDOFRENEWAL
+    print "Upgrade to $DBversion done (Change the field)\n";
+    SetVersion ($DBversion);
+}
+
 =item DropAllForeignKeys($table)
 
   Drop all foreign keys of the table $table
diff --git a/kohaversion.pl b/kohaversion.pl
index 761c687..38cd212 100644
--- a/kohaversion.pl
+++ b/kohaversion.pl
@@ -10,7 +10,7 @@
 use strict;
 
 sub kohaversion {
-    our $VERSION = '3.00.01.006';
+    our $VERSION = '3.00.01.007';
     # version needs to be set this way
     # so that it can be picked up by Makefile.PL
     # during install
-- 
1.5.6.3

_______________________________________________
Koha-patches mailing list
[email protected]
http://lists.koha.org/mailman/listinfo/koha-patches

Reply via email to