a5bd240321
Rule : - always format_date() before sending date to template - always format_date_in_iso immediatly after reading a date coming from a parameter - deal internally only with dates in iso Note that : - I could not test things related to issues stats due to the my DB -issues.issuedate not filled, see commit about 3.00.00.006 - acquisitions_stats does not work when you filter on date Signed-off-by: Joshua Ferraro <jmf@liblime.com>
284 lines
No EOL
10 KiB
Cheetah
284 lines
No EOL
10 KiB
Cheetah
<!-- TMPL_INCLUDE NAME="doc-head-open.inc" -->
|
|
<title>Koha › Reports › Acquisitions Statistics</title>
|
|
<!-- TMPL_INCLUDE NAME="doc-head-close.inc" -->
|
|
<!-- TMPL_INCLUDE NAME="calendar.inc" -->
|
|
</head>
|
|
<body>
|
|
<!-- TMPL_INCLUDE NAME="header.inc" -->
|
|
<!-- TMPL_INCLUDE NAME="cat-search.inc" -->
|
|
|
|
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/reports/reports-home.pl">Reports</a> › Acquisitions Statistics</div>
|
|
|
|
<div id="doc3" class="yui-t2">
|
|
|
|
<div id="bd">
|
|
<div id="yui-main">
|
|
<div class="yui-b">
|
|
|
|
<!-- TMPL_IF NAME="do_it" -->
|
|
<!-- TMPL_LOOP NAME="mainloop" -->
|
|
<h1>Acquisitions statistics </h1>
|
|
<!-- TMPL_IF NAME="loopfilter" -->
|
|
<p>Filtered on</p>
|
|
<!-- TMPL_LOOP NAME="loopfilter" -->
|
|
<p><!-- TMPL_VAR NAME="crit"--> =<!-- TMPL_VAR NAME="filter" --></p>
|
|
<!-- /TMPL_LOOP -->
|
|
<!-- /TMPL_IF-->
|
|
|
|
<table>
|
|
<tr >
|
|
<th><!-- TMPL_VAR name="line" --> / <!-- TMPL_VAR name="column" --></th>
|
|
<!-- TMPL_LOOP NAME="loopcol" -->
|
|
<th><!-- TMPL_VAR NAME="coltitle" --></th>
|
|
<!-- /TMPL_LOOP -->
|
|
<th>TOTAL</th>
|
|
</tr>
|
|
<!-- TMPL_LOOP NAME="looprow" -->
|
|
<tr>
|
|
<!-- TMPL_IF NAME="hilighted" --><td class="hilighted"><!-- TMPL_ELSE --><td><!-- /TMPL_IF -->
|
|
<!-- TMPL_VAR NAME="rowtitle" --></td>
|
|
<!-- TMPL_LOOP NAME="loopcell" -->
|
|
<!-- TMPL_IF NAME="hilighted" --><td><!-- TMPL_ELSE --><td><!-- /TMPL_IF -->
|
|
<!-- TMPL_IF Name="value" --><!-- TMPL_VAR NAME="value" -->
|
|
<!-- TMPL_ELSE-->
|
|
<!-- /TMPL_IF -->
|
|
</td>
|
|
<!-- /TMPL_LOOP -->
|
|
<!-- TMPL_IF NAME="hilighted" --><td><!-- TMPL_ELSE --><td><!-- /TMPL_IF -->
|
|
<!-- TMPL_VAR NAME="totalrow" -->
|
|
</td>
|
|
</tr>
|
|
<!-- /TMPL_LOOP -->
|
|
<tr >
|
|
<th>TOTAL</th>
|
|
<!-- TMPL_LOOP NAME="loopfooter" -->
|
|
<th>
|
|
<!-- TMPL_VAR NAME="totalcol" -->
|
|
</th>
|
|
<!-- /TMPL_LOOP -->
|
|
<th><!-- TMPL_VAR NAME="total" --></th>
|
|
</tr>
|
|
</table>
|
|
<!-- /TMPL_LOOP -->
|
|
<!-- TMPL_ELSE -->
|
|
<h1>Acquisitions statistics</h1>
|
|
<form method="post" action="/cgi-bin/koha/reports/acquisitions_stats.pl">
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Title</th>
|
|
<th>Row</th>
|
|
<th>Column</th>
|
|
<th>Filter</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr class="hilighted">
|
|
<td>Placed On</td>
|
|
<td><input type="radio" name="Line" value="aqbasket.closedate" /></td>
|
|
<td><input type="radio" name="Column" value="aqbasket.closedate" /> </td>
|
|
<td> From <input type="text" readonly="readonly" size="10" id="from" name="Filter" />
|
|
<img src="<!-- TMPL_VAR Name="themelang" -->/lib/calendar/cal.gif" alt="Show Calendar" border="0" id="openCalendarFrom" style="cursor: pointer;" />
|
|
<script language="JavaScript" type="text/javascript">
|
|
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('to').value.split("-");
|
|
var limitDate = new Date(dateTo[0], (dateTo[1] - 1), dateTo[2]);
|
|
if (date > limitDate) {
|
|
return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
Calendar.setup(
|
|
{
|
|
inputField : "from",
|
|
ifFormat : "<!-- TMPL_VAR NAME="DHTMLcalendar_dateformat" -->",
|
|
button : "openCalendarFrom",
|
|
disableFunc : validate1,
|
|
dateStatusFunc : validate1
|
|
}
|
|
);
|
|
</script>
|
|
To <input readonly="readonly" size="10" id="to" name="Filter" value="" type="text" />
|
|
<img src="<!-- TMPL_VAR Name="themelang" -->/lib/calendar/cal.gif" alt="Show Calendar" id="openCalendarTo" style="cursor: pointer;" border="0" />
|
|
<script type="text/javascript">
|
|
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('from').value.split("-");
|
|
var limitDate = new Date(dateFrom[0], (dateFrom[1] - 1), dateFrom[2]);
|
|
if (limitDate > date) {
|
|
return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
Calendar.setup(
|
|
{
|
|
inputField : "to",
|
|
ifFormat : "<!-- TMPL_VAR NAME="DHTMLcalendar_dateformat" -->",
|
|
button : "openCalendarTo",
|
|
disableFunc : validate2,
|
|
dateStatusFunc : validate2
|
|
}
|
|
);
|
|
</script>
|
|
</td>
|
|
</tr>
|
|
<tr class="hilighted">
|
|
<td> </td>
|
|
<td colspan="2">group by <select name="PlacedOnDisplay">
|
|
<option value="">None</option>
|
|
<option value ="1">Day of week</option>
|
|
<option value ="2">Month</option>
|
|
<option value ="3">Year</option>
|
|
</select>
|
|
|
|
</td>
|
|
<td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td>Received On</td>
|
|
<td><input type="radio" name="Line" value="aqorderdelivery.deliverydate" /></td>
|
|
<td><input type="radio" name="Column" value="aqorderdelivery.deliverydate" /></td>
|
|
<td> From <input type="text" readonly="readonly" size="10" id="fromRO" name="Filter" />
|
|
<img src="<!-- TMPL_VAR Name="themelang" -->/lib/calendar/cal.gif" alt="Show Calendar" border="0" id="openCalendarFromRO" style="cursor: pointer;" />
|
|
<script language="JavaScript" type="text/javascript">
|
|
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" readonly="readonly" 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">
|
|
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>
|
|
<tr>
|
|
<td> </td>
|
|
<td colspan="2">group by <select name="ReceivedOnDisplay">
|
|
<option value="">None</option>
|
|
<option value ="1">Day of week</option>
|
|
<option value ="2">Month</option>
|
|
<option value ="3">Year</option>
|
|
</select>
|
|
|
|
</td>
|
|
<td> </td>
|
|
</tr>
|
|
<tr class="hilighted">
|
|
<td>Supplier</td>
|
|
<td><input type="radio" name="Line" value="aqbooksellers.name" /></td>
|
|
<td><input type="radio" name="Column" value="aqbooksellers.name" /></td>
|
|
<td><!-- TMPL_VAR NAME="CGIBookSeller" --></td>
|
|
</tr>
|
|
<tr>
|
|
<td>Budget</td>
|
|
<td><input type="radio" name="Line" value="aqorderbreakdown.bookfundid" /></td>
|
|
<td><input type="radio" name="Column" value="aqorderbreakdown.bookfundid" /></td>
|
|
<td><!-- TMPL_VAR NAME="CGIBudget" --></td>
|
|
</tr>
|
|
<!-- TMPL_IF Name="hassort1" -->
|
|
<tr class="hilighted">
|
|
<td>Sort1</td>
|
|
<td><input type="radio" name="Line" value="aqorders.sort1" /></td>
|
|
<td><input type="radio" name="Column" value="aqorders.sort1" /></td>
|
|
<td><!-- TMPL_VAR NAME="CGISort1" --> </td>
|
|
</tr>
|
|
<!-- /TMPL_IF -->
|
|
<!-- TMPL_IF Name="hassort2" -->
|
|
<!-- TMPL_IF Name="HglghtSort2"--><tr class="hilighted"> <!-- TMPL_ELSE --><tr><!--/TMPL_IF -->
|
|
<td>Sort2</td>
|
|
<td><input type="radio" name="Line" value="aqorders.sort2" /></td>
|
|
<td><input type="radio" name="Column" value="aqorders.sort2" /></td>
|
|
<td><!-- TMPL_VAR NAME="CGISort2" --> </td>
|
|
</tr>
|
|
<!-- /TMPL_IF -->
|
|
</tbody>
|
|
</table>
|
|
|
|
|
|
<h3> Cell value </h3>
|
|
<input type="radio" name="Cellvalue" value="1" checked="checked" /> Count items
|
|
<input type="radio" name="Cellvalue" value="2" /> Amount
|
|
|
|
|
|
<h3> Output </h3>
|
|
<input type="radio" checked="checked" name="output" id="outputscreen" value="screen" /> <label for="outputscreen">To screen into the browser</label>
|
|
|
|
<input type="radio" name="output" value="file" id="outputfile" /> <label for="outputfile">To file</label> <input type="text" name="basename" value="Export" /> into an application
|
|
<!-- TMPL_VAR NAME="CGIextChoice" -->
|
|
<!-- TMPL_VAR NAME="CGIsepChoice" -->
|
|
|
|
|
|
<p> <input type="submit" value="OK" />
|
|
<input type="hidden" name="report_name" value="<!--TMPL_VAR NAME="report_name" -->" />
|
|
<input type="hidden" name="do_it" value="1" /></p>
|
|
</form>
|
|
<!-- /TMPL_IF -->
|
|
</div>
|
|
</div>
|
|
<div class="yui-b">
|
|
<!-- TMPL_INCLUDE NAME="reports-menu.inc" -->
|
|
</div>
|
|
</div>
|
|
<!-- TMPL_INCLUDE NAME="intranet-bottom.inc" --> |