---
 .../prog/en/modules/reports/borrowers_stats.tmpl   |   68 ++++++++++++++++++++
 reports/borrowers_stats.pl                         |   17 ++++-
 2 files changed, 81 insertions(+), 4 deletions(-)

diff --git 
a/koha-tmpl/intranet-tmpl/prog/en/modules/reports/borrowers_stats.tmpl 
b/koha-tmpl/intranet-tmpl/prog/en/modules/reports/borrowers_stats.tmpl
index ba246ae..ead92ba 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/reports/borrowers_stats.tmpl
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/reports/borrowers_stats.tmpl
@@ -250,6 +250,74 @@
                                </td>
                                </tr>
                        <!-- /TMPL_IF -->
+<tr>
+                               <td>Registration Date</td>
+                               <td><input type="radio" name="Line" 
value="dateenrolled" /></td>
+                               <td><input type="radio" name="Column" 
value="dateenrolled" /></td>
+                               <td> From <input type="text" size="10" 
id="fromRO" name="Filter" value="" />
+                                                       <img src="<!-- TMPL_VAR 
Name="themelang" -->/lib/calendar/cal.gif" alt="Show Calendar" border="0" 
id="openCalendarFromRO" style="cursor: pointer;" />
+                                                                       <script 
type="text/javascript">
+                                                                       
//<![CDATA[
+                                                                       
function validate1(date) {
+                                                                               
var day = date.getDate();
+                                                                               
var month = date.getMonth() + 1;
+                                                                               
var year = date.getFullYear();
+                                                                               
var weekDay = date.getDay();
+                                                                               
var dayMonth = month + '-' + day;
+                                                                               
var dateString = year + '-' + month + '-' + day;
+                                                                               
var dateTo = document.getElementById('toRO').value.split("-");
+                                                                               
var limitDate = new Date(dateTo[0], (dateTo[1] - 1), dateTo[2]);
+                                                                               
if (date > limitDate) {
+                                                                               
        return true;
+                                                                               
} else {
+                                                                               
        return false;
+                                                                               
}
+                                                                       }
+                                       
+                                                                       
Calendar.setup(
+                                                                               
{
+                                                                               
        inputField : "fromRO",
+                                                                               
        ifFormat : "<!-- TMPL_VAR NAME="DHTMLcalendar_dateformat" -->",
+                                                                               
        button : "openCalendarFromRO",
+                                                                               
        disableFunc : validate1,
+                                                                               
        dateStatusFunc : validate1
+                                                                               
}
+                                                                       );
+                                                                       //]]>
+                                                                       
</script>
+                                       To <input type="text" size="10" 
id="toRO" name="Filter" value="" />
+                                               <img src="<!-- TMPL_VAR 
Name="themelang" -->/lib/calendar/cal.gif" alt="Show Calendar" 
id="openCalendarToRO" style="cursor: pointer;" border="0" />
+                                                               <script 
type="text/javascript">
+                                                               //<![CDATA[
+                                                               function 
validate2(date) {
+                                                                       var day 
= date.getDate();
+                                                                       var 
month = date.getMonth() + 1;
+                                                                       var 
year = date.getFullYear();
+                                                                       var 
weekDay = date.getDay();
+                                                                       var 
dayMonth = month + '-' + day;
+                                                                       var 
dateString = year + '-' + month + '-' + day;
+                                                                       var 
dateFrom = document.getElementById('fromRO').value.split("-");
+                                                                       var 
limitDate = new Date(dateFrom[0], (dateFrom[1] - 1), dateFrom[2]);
+                                                                       if 
(limitDate > date) {
+                                                                               
return true;
+                                                                       } else {
+                                                                               
return false;
+                                                                       }
+                                                               }
+               
+                                                               Calendar.setup(
+                                                                       {
+                                                                               
inputField : "toRO",
+                                                                               
ifFormat : "<!-- TMPL_VAR NAME="DHTMLcalendar_dateformat" -->",
+                                                                               
button : "openCalendarToRO",
+                                                                               
disableFunc : validate2,
+                                                                               
dateStatusFunc : validate2
+                                                                       }
+                                                               );
+                                                               //]]>
+                                                               </script>
+                               </td>
+                       </tr>
                </tbody>
        </table><br /></fieldset>
        
diff --git a/reports/borrowers_stats.pl b/reports/borrowers_stats.pl
index ed062cb..0dbee00 100755
--- a/reports/borrowers_stats.pl
+++ b/reports/borrowers_stats.pl
@@ -28,6 +28,7 @@ use C4::Acquisition;
 use C4::Output;
 use C4::Reports;
 use C4::Circulation;
+use C4::Dates qw/format_date format_date_in_iso/;
 use Date::Calc qw(
   Today
   Add_Delta_YM
@@ -49,6 +50,8 @@ my $fullreportname = "reports/borrowers_stats.tmpl";
 my $line = $input->param("Line");
 my $column = $input->param("Column");
 my @filters = $input->param("Filter");
+$filters[8]=format_date_in_iso($filters[8]);
+$filters[9]=format_date_in_iso($filters[9]);
 my $digits = $input->param("digits");
 my $period = $input->param("period");
 my $borstat = $input->param("status");
@@ -194,7 +197,7 @@ sub calculate {
        $colfilter = @$filters[7] if ($column =~ /sort2/);
 
        my @loopfilter;
-       for (my $i=0;$i<=7;$i++) {
+       for (my $i=0;$i<=9;$i++) {
                my %cell;
                if ( @$filters[$i] ) {
                        $cell{filter} .= @$filters[$i];
@@ -206,6 +209,8 @@ sub calculate {
             $cell{crit} .="Sex" if ($i==5);
                        $cell{crit} .="Sort1" if ($i==6);
                        $cell{crit} .="Sort2" if ($i==7);
+                       $cell{crit} .="Date Enrolled" if ($i==8);
+                       $cell{crit} .="Date Enrolled" if ($i==9);
                        push @loopfilter, \%cell;
                }
        }
@@ -309,12 +314,16 @@ sub calculate {
        $strcalc .= " AND dateofbirth > '" . @$filters[3] ."'" if ( 
@$filters[3] );
        @$filters[4]=~ s/\*/%/g if (@$filters[4]);
        $strcalc .= " AND dateofbirth < '" . @$filters[4] ."'" if ( 
@$filters[4] );
-    @$filters[5]=~ s/\*/%/g if (@$filters[5]);
-    $strcalc .= " AND sex like '" . @$filters[5] ."'" if ( @$filters[5] );
-    @$filters[6]=~ s/\*/%/g if (@$filters[6]);
+        @$filters[5]=~ s/\*/%/g if (@$filters[5]);
+       $strcalc .= " AND sex like '" . @$filters[5] ."'" if ( @$filters[5] );
+       @$filters[6]=~ s/\*/%/g if (@$filters[6]);
        $strcalc .= " AND sort1 like '" . @$filters[6] ."'" if ( @$filters[6] );
        @$filters[7]=~ s/\*/%/g if (@$filters[7]);
        $strcalc .= " AND sort2 like '" . @$filters[7] ."'" if ( @$filters[7] );
+       @$filters[8]=~ s/\*/%/g if (@$filters[8]);
+       $strcalc .= " AND dateenrolled  > '" . @$filters[8] ."'" if ( 
@$filters[8] );
+       @$filters[9]=~ s/\*/%/g if (@$filters[9]);
+       $strcalc .= " AND dateenrolled <  '" . @$filters[9] ."'" if ( 
@$filters[9] );
        $strcalc .= " AND borrowernumber in (select distinct(borrowernumber) 
from old_issues where issuedate > '" . $newperioddate . "')" if ($activity eq 
'active');
        $strcalc .= " AND borrowernumber not in (select 
distinct(borrowernumber) from old_issues where issuedate > '" . $newperioddate 
. "')" if ($activity eq 'nonactive');
        $strcalc .= " AND $status='1' " if ($status);
-- 
1.5.6

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

Reply via email to