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