Bug 39053: Add page-section div to reports results pages

This patch adds a "page-section" wrapping div around reports results
pages where it is missing.

Note: This patch contains indentation changes.

To test, apply the patch and test the following reports, confirming that
the results page looks correct:

- Patrons with the most checkouts
- Acquisitions statistics
- Patrons with no checkouts
- Patrons statistics
- Most-circulated items
- Catalog statistics
- Average loan time
- Circulation statistics
- Lost items
- Catalog by item types
- Holds statistics

Sponsored-by: Athens County Public Libraries
Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This commit is contained in:
Owen Leonard 2025-02-12 16:34:47 +00:00 committed by Katrin Fischer
parent 9bed52a868
commit bf1e45e490
No known key found for this signature in database
GPG Key ID: 0EF6E2C03357A834
11 changed files with 318 additions and 286 deletions

View File

@ -79,38 +79,40 @@
</p>
[% END %]
[% END %]
<table>
<tr>
<th>[% mainloo.line | html %] / [% mainloo.column | html %]</th>
[% FOREACH loopco IN mainloo.loopcol %]
<th>[% loopco.coltitle | html %]</th>
[% END %]
<th>TOTAL</th>
</tr>
[% FOREACH loopro IN mainloo.looprow %]
<div class="page-section">
<table>
<tr>
<td [% IF loopro.hilighted %]class="hilighted"[% END %]> [% loopro.rowtitle | html %]</td>
[% FOREACH loopcel IN loopro.loopcell %]
<td>
[% IF ( loopcel.value ) %]
[% loopcel.value | html %]
[% ELSE %]
&nbsp;
[% END %]
</td>
<th>[% mainloo.line | html %] / [% mainloo.column | html %]</th>
[% FOREACH loopco IN mainloo.loopcol %]
<th>[% loopco.coltitle | html %]</th>
[% END %]
<td> [% loopro.totalrow | html %] </td>
<th>TOTAL</th>
</tr>
[% END %]
<tr>
<th>TOTAL</th>
[% FOREACH loopfoote IN mainloo.loopfooter %]
<th> [% loopfoote.totalcol | html %] </th>
[% FOREACH loopro IN mainloo.looprow %]
<tr>
<td [% IF loopro.hilighted %]class="hilighted"[% END %]> [% loopro.rowtitle | html %]</td>
[% FOREACH loopcel IN loopro.loopcell %]
<td>
[% IF ( loopcel.value ) %]
[% loopcel.value | html %]
[% ELSE %]
&nbsp;
[% END %]
</td>
[% END %]
<td> [% loopro.totalrow | html %] </td>
</tr>
[% END %]
<th>[% mainloo.total | html %]</th>
</tr>
</table>
<tr>
<th>TOTAL</th>
[% FOREACH loopfoote IN mainloo.loopfooter %]
<th> [% loopfoote.totalcol | html %] </th>
[% END %]
<th>[% mainloo.total | html %]</th>
</tr>
</table>
</div>
<!-- /.page-section -->
[% END %]
[% ELSE %]
<form method="get" action="/cgi-bin/koha/reports/acquisitions_stats.pl">

View File

@ -80,36 +80,39 @@
[% END %]
[% END %]
<table>
<tr>
<th rowspan="2">Rank</th>
<th rowspan="2">Patron</th>
<th rowspan="2">Total</th>
[% FOREACH loopco IN mainloo.loopcol %]
<th>[% loopco.coltitle | html %]</th>
[% END %]
</tr>
<tr>
[% FOREACH loopco IN mainloo.loopcol %]
<th>Checkout count</th>
[% END %]
</tr>
[% FOREACH loopro IN mainloo.looprow %]
<div class="page-section">
<table>
<tr>
<td> [% loopro.rowtitle | html %]</td>
<td>
[% IF ( loopro.reference ) %]
<a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% loopro.reference | uri %]"> [% IF ( loopro.patron ) %][% loopro.patron | html %][% END %] </a>
[% ELSE %]
[% IF ( loopro.patron ) %][% loopro.patron | html %][% END %]
[% END %]
</td>
[% FOREACH loopcel IN loopro.loopcell %]
<td> [% IF ( loopcel.count ) %][% loopcel.count | html %][% END %] </td>
<th rowspan="2">Rank</th>
<th rowspan="2">Patron</th>
<th rowspan="2">Total</th>
[% FOREACH loopco IN mainloo.loopcol %]
<th>[% loopco.coltitle | html %]</th>
[% END %]
</tr>
[% END %]
</table>
<tr>
[% FOREACH loopco IN mainloo.loopcol %]
<th>Checkout count</th>
[% END %]
</tr>
[% FOREACH loopro IN mainloo.looprow %]
<tr>
<td> [% loopro.rowtitle | html %]</td>
<td>
[% IF ( loopro.reference ) %]
<a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% loopro.reference | uri %]"> [% IF ( loopro.patron ) %][% loopro.patron | html %][% END %] </a>
[% ELSE %]
[% IF ( loopro.patron ) %][% loopro.patron | html %][% END %]
[% END %]
</td>
[% FOREACH loopcel IN loopro.loopcell %]
<td> [% IF ( loopcel.count ) %][% loopcel.count | html %][% END %] </td>
[% END %]
</tr>
[% END %]
</table>
</div>
<!-- /.page-section -->
[% END %]
[% ELSE %]
<h1>Patrons with the most checkouts</h1>

View File

@ -49,22 +49,25 @@
[% END %]
[% END %]
<table>
<tr>
<th>Num/Patrons</th>
[% FOREACH loopco IN mainloo.loopcol %]
<th>[% loopco.coltitle | html %]</th>
[% END %]
</tr>
[% FOREACH loopro IN mainloo.looprow %]
<div class="page-section">
<table>
<tr>
<td>[% loopro.rowtitle | html %]</td>
[% FOREACH loopcel IN loopro.loopcell %]
<td>[% IF ( loopcel.value ) %][% loopcel.value | html %][% END %] </td>
<th>Num/Patrons</th>
[% FOREACH loopco IN mainloo.loopcol %]
<th>[% loopco.coltitle | html %]</th>
[% END %]
</tr>
[% END %]
</table>
[% FOREACH loopro IN mainloo.looprow %]
<tr>
<td>[% loopro.rowtitle | html %]</td>
[% FOREACH loopcel IN loopro.loopcell %]
<td>[% IF ( loopcel.value ) %][% loopcel.value | html %][% END %] </td>
[% END %]
</tr>
[% END %]
</table>
</div>
<!-- /.page-section -->
[% END %]
[% ELSE %]
<h1>Patrons with no checkouts</h1>

View File

@ -62,31 +62,34 @@
<p> [% loopfilte.crit | html %] = [% loopfilte.filter | html %] </p>
[% END %]
[% END %]
<table>
<tr>
<th>[% mainloo.line | html %] / [% mainloo.column | html %]</th>
[% FOREACH loopco IN mainloo.loopcol %]
<th>[% IF ( loopco.coltitle_display ) %][% loopco.coltitle_display | html %][% ELSE %][% loopco.coltitle | html %][% END %] </th>
[% END %]
<th>TOTAL</th>
</tr>
[% FOREACH loopro IN mainloo.looprow %]
<div class="page-section">
<table>
<tr>
<td>[% IF ( loopro.rowtitle_display ) %][% loopro.rowtitle_display | html %][% ELSE %][% loopro.rowtitle | html %][% END %] </td>
[% FOREACH loopcel IN loopro.loopcell %]
<td>[% IF ( loopcel.value ) %][% loopcel.value | html %][% ELSE %]&nbsp;[% END %] </td>
<th>[% mainloo.line | html %] / [% mainloo.column | html %]</th>
[% FOREACH loopco IN mainloo.loopcol %]
<th>[% IF ( loopco.coltitle_display ) %][% loopco.coltitle_display | html %][% ELSE %][% loopco.coltitle | html %][% END %] </th>
[% END %]
<td>[% loopro.totalrow | html %]</td>
<th>TOTAL</th>
</tr>
[% END %]
<tr>
<th>TOTAL</th>
[% FOREACH loopfoote IN mainloo.loopfooter %]
<th>[% loopfoote.totalcol | html %]</th>
[% FOREACH loopro IN mainloo.looprow %]
<tr>
<td>[% IF ( loopro.rowtitle_display ) %][% loopro.rowtitle_display | html %][% ELSE %][% loopro.rowtitle | html %][% END %] </td>
[% FOREACH loopcel IN loopro.loopcell %]
<td>[% IF ( loopcel.value ) %][% loopcel.value | html %][% ELSE %]&nbsp;[% END %] </td>
[% END %]
<td>[% loopro.totalrow | html %]</td>
</tr>
[% END %]
<th>[% mainloo.total | html %]</th>
</tr>
</table>
<tr>
<th>TOTAL</th>
[% FOREACH loopfoote IN mainloo.loopfooter %]
<th>[% loopfoote.totalcol | html %]</th>
[% END %]
<th>[% mainloo.total | html %]</th>
</tr>
</table>
</div>
<!-- /.page-section -->
[% END %]
[% ELSE %]
<form method="get" action="/cgi-bin/koha/reports/borrowers_stats.pl">

View File

@ -55,33 +55,36 @@
[% END %]
[% END %]
<table>
<tr>
<th>Rank/Biblioitemnumbers</th> [% FOREACH loopco IN mainloo.loopcol %]
<th colspan="2">[% loopco.coltitle | html %]</th>
[% END %]</tr
>
<tr>
<th>&nbsp;</th>
[% FOREACH loopco IN mainloo.loopcol %]
<th>Item</th>
<th>Count of checkouts</th>
[% END %]
</tr>
[% FOREACH loopro IN mainloo.looprow %]
<div class="page-section">
<table>
<tr>
<td>[% loopro.rowtitle | html %]</td>
[% FOREACH loopcel IN loopro.loopcell %]
<td>
[% IF ( loopcel.reference ) %]
<a href="[% PROCESS biblio_a_href biblionumber => loopcel.reference %]">[% loopcel.value | html %]</a>
[% END %]
</td>
<td> [% IF ( loopcel.count ) %][% loopcel.count | html %][% END %] </td>
<th>Rank/Biblioitemnumbers</th> [% FOREACH loopco IN mainloo.loopcol %]
<th colspan="2">[% loopco.coltitle | html %]</th>
[% END %]</tr
>
<tr>
<th>&nbsp;</th>
[% FOREACH loopco IN mainloo.loopcol %]
<th>Item</th>
<th>Count of checkouts</th>
[% END %]
</tr>
[% END %]
</table>
[% FOREACH loopro IN mainloo.looprow %]
<tr>
<td>[% loopro.rowtitle | html %]</td>
[% FOREACH loopcel IN loopro.loopcell %]
<td>
[% IF ( loopcel.reference ) %]
<a href="[% PROCESS biblio_a_href biblionumber => loopcel.reference %]">[% loopcel.value | html %]</a>
[% END %]
</td>
<td> [% IF ( loopcel.count ) %][% loopcel.count | html %][% END %] </td>
[% END %]
</tr>
[% END %]
</table>
</div>
<!-- /.page-section -->
[% END %]
[% ELSE %]
<h1>Most-circulated items</h1>

View File

@ -53,43 +53,46 @@
[% END %]
[% END %]
<table id="catalogue_stats">
<thead>
<tr>
<th>[% mainloo.line | html %] / [% mainloo.column | html %]</th>
[% FOREACH loopco IN mainloo.loopcol %]
<th>[% loopco.coltitle | html %]</th>
[% END %]
<th>TOTAL</th>
</tr>
</thead>
<tbody>
[% FOREACH loopro IN mainloo.looprow %]
<div class="page-section">
<table id="catalogue_stats">
<thead>
<tr>
<td> [% loopro.rowtitle | html %]</td>
[% FOREACH loopcel IN loopro.loopcell %]
<td>
[% IF ( loopcel.value ) %]
[% loopcel.value | html %]
[% ELSE %]
&nbsp;
[% END %]
</td>
<th>[% mainloo.line | html %] / [% mainloo.column | html %]</th>
[% FOREACH loopco IN mainloo.loopcol %]
<th>[% loopco.coltitle | html %]</th>
[% END %]
<td> [% loopro.totalrow | html %] </td>
<th>TOTAL</th>
</tr>
[% END %]
</tbody>
<tfoot>
<tr>
<th>TOTAL (all results)</th>
[% FOREACH loopfoote IN mainloo.loopfooter %]
<th> [% loopfoote.totalcol | html %] </th>
</thead>
<tbody>
[% FOREACH loopro IN mainloo.looprow %]
<tr>
<td> [% loopro.rowtitle | html %]</td>
[% FOREACH loopcel IN loopro.loopcell %]
<td>
[% IF ( loopcel.value ) %]
[% loopcel.value | html %]
[% ELSE %]
&nbsp;
[% END %]
</td>
[% END %]
<td> [% loopro.totalrow | html %] </td>
</tr>
[% END %]
<th>[% mainloo.total | html %]</th>
</tr>
</tfoot>
</table>
</tbody>
<tfoot>
<tr>
<th>TOTAL (all results)</th>
[% FOREACH loopfoote IN mainloo.loopfooter %]
<th> [% loopfoote.totalcol | html %] </th>
[% END %]
<th>[% mainloo.total | html %]</th>
</tr>
</tfoot>
</table>
</div>
<!-- /.page-section -->
[% END %]
[% ELSE %]
<form method="get" action="/cgi-bin/koha/reports/catalogue_stats.pl">

View File

@ -49,31 +49,34 @@
[% END %]
[% END %]
<table>
<tr>
<th>[% mainloo.line | html %] / [% mainloo.column | html %]</th>
[% FOREACH loopco IN mainloo.loopcol %]
<th>[% loopco.coltitle | html %]</th>
[% END %]
<th>TOTAL</th>
</tr>
[% FOREACH loopro IN mainloo.looprow %]
<div class="page-section">
<table>
<tr>
<td [% IF loopro.hilighted %]class="hilighted"[% END %]> [% loopro.rowtitle | html %]</td>
[% FOREACH loopcel IN loopro.loopcell %]
<td [% IF loopcel.hilighted %]class="hilighted"[% END %]> [% IF ( loopcel.value ) %][% loopcel.value | html %][% END %] </td>
<th>[% mainloo.line | html %] / [% mainloo.column | html %]</th>
[% FOREACH loopco IN mainloo.loopcol %]
<th>[% loopco.coltitle | html %]</th>
[% END %]
<td> [% loopro.totalrow | html %] </td>
<th>TOTAL</th>
</tr>
[% END %]
<tr>
<th>TOTAL</th>
[% FOREACH loopfoote IN mainloo.loopfooter %]
<th> [% loopfoote.totalcol | html %] </th>
[% FOREACH loopro IN mainloo.looprow %]
<tr>
<td [% IF loopro.hilighted %]class="hilighted"[% END %]> [% loopro.rowtitle | html %]</td>
[% FOREACH loopcel IN loopro.loopcell %]
<td [% IF loopcel.hilighted %]class="hilighted"[% END %]> [% IF ( loopcel.value ) %][% loopcel.value | html %][% END %] </td>
[% END %]
<td> [% loopro.totalrow | html %] </td>
</tr>
[% END %]
<th>[% mainloo.total | html %]</th>
</tr>
</table>
<tr>
<th>TOTAL</th>
[% FOREACH loopfoote IN mainloo.loopfooter %]
<th> [% loopfoote.totalcol | html %] </th>
[% END %]
<th>[% mainloo.total | html %]</th>
</tr>
</table>
</div>
<!-- /.page-section -->
[% END %]
[% ELSE %]
<form method="get" action="/cgi-bin/koha/reports/issues_avg_stats.pl">

View File

@ -104,31 +104,34 @@
</ul>
[% END %]
<table>
<tr>
<th>[% mainloo.line | html %] / [% mainloo.column | html %]</th>
[% FOREACH loopco IN mainloo.loopcol %]
<th>[% loopco.coltitle_display | html %]</th>
[% END %]
<th>TOTAL</th>
</tr>
[% FOREACH loopro IN mainloo.looprow %]
<div class="page-section">
<table>
<tr>
<td>[% loopro.rowtitle_display or "UNKNOWN VALUE" | html %]</td>
[% FOREACH loopcel IN loopro.loopcell %]
<td>[% loopcel.value || 0 | html %]</td>
<th>[% mainloo.line | html %] / [% mainloo.column | html %]</th>
[% FOREACH loopco IN mainloo.loopcol %]
<th>[% loopco.coltitle_display | html %]</th>
[% END %]
<td>[% loopro.totalrow | html %]</td>
<th>TOTAL</th>
</tr>
[% END %]
<tr>
<th>TOTAL</th>
[% FOREACH loopfoote IN mainloo.loopfooter %]
<th>[% loopfoote.totalcol | html %]</th>
[% FOREACH loopro IN mainloo.looprow %]
<tr>
<td>[% loopro.rowtitle_display or "UNKNOWN VALUE" | html %]</td>
[% FOREACH loopcel IN loopro.loopcell %]
<td>[% loopcel.value || 0 | html %]</td>
[% END %]
<td>[% loopro.totalrow | html %]</td>
</tr>
[% END %]
<th>[% mainloo.total | html %]</th>
</tr>
</table>
<tr>
<th>TOTAL</th>
[% FOREACH loopfoote IN mainloo.loopfooter %]
<th>[% loopfoote.totalcol | html %]</th>
[% END %]
<th>[% mainloo.total | html %]</th>
</tr>
</table>
</div>
<!-- /.page-section -->
[% END %]
[% ELSE %]
<form method="get" action="/cgi-bin/koha/reports/issues_stats.pl">

View File

@ -76,61 +76,64 @@
<div class="lostitems-table_table_controls"> </div>
[% END %]
<table id="lostitems-table">
<thead>
<tr>
[% IF csv_profiles.count %]
<th class="NoSort"></th>
[% END %]
<th>Title</th>
<th>Author</th>
<th>Lost status</th>
<th>Lost on</th>
<th>Barcode</th>
<th>Call number</th>
<th>Date last seen</th>
<th>Price</th>
<th>Rep.price</th>
<th>Library</th>
<th>Item type</th>
<th>Collection</th>
<th>Current library</th>
<th>Location</th>
<th>Not for loan status</th>
<th>Notes</th>
</tr>
</thead>
<tbody>
[% FOREACH item IN items %]
<div class="page-section">
<table id="lostitems-table">
<thead>
<tr>
[% IF csv_profiles.count %]
<td style="text-align:center;vertical-align:middle">
<input type="checkbox" value="[% item.itemnumber | html %]" name="itemnumber" />
</td>
<th class="NoSort"></th>
[% END %]
<td>
<a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% item.biblionumber | uri %]">[% item.biblio.title | html %]</a>
</td>
<td>[% item.biblio.author | html %]</td>
<td>[% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.itemlost', authorised_value => item.itemlost ) | html %] </td
><td data-order="[% item.itemlost_on | html %]">[% item.itemlost_on | $KohaDates %]</td>
<td>
<a href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=[% item.biblionumber | uri %]">[% item.barcode | html %]</a>
</td>
<td>[% item.itemcallnumber | html %]</td>
<td data-order="[% item.datelastseen | html %]">[% item.datelastseen | $KohaDates with_hours => 1 %]</td>
<td>[% item.price | $Price %]</td>
<td>[% item.replacementprice | $Price %]</td>
<td>[% Branches.GetName(item.homebranch) | html %]</td>
<td>[% ItemTypes.GetDescription(item.effective_itemtype) | html %]</td>
<td>[% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.ccode', authorised_value => item.ccode ) | html %]</td>
<td>[% Branches.GetName(item.holdingbranch) | html %]</td>
<td>[% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.location', authorised_value => item.location ) | html %]</td>
<td>[% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.notforloan', authorised_value => item.notforloan ) | html %] </td><td>[% item.itemnotes | $raw %]</td>
<th>Title</th>
<th>Author</th>
<th>Lost status</th>
<th>Lost on</th>
<th>Barcode</th>
<th>Call number</th>
<th>Date last seen</th>
<th>Price</th>
<th>Rep.price</th>
<th>Library</th>
<th>Item type</th>
<th>Collection</th>
<th>Current library</th>
<th>Location</th>
<th>Not for loan status</th>
<th>Notes</th>
</tr>
[% END %]
</tbody>
</table>
</thead>
<tbody>
[% FOREACH item IN items %]
<tr>
[% IF csv_profiles.count %]
<td style="text-align:center;vertical-align:middle">
<input type="checkbox" value="[% item.itemnumber | html %]" name="itemnumber" />
</td>
[% END %]
<td>
<a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% item.biblionumber | uri %]">[% item.biblio.title | html %]</a>
</td>
<td>[% item.biblio.author | html %]</td>
<td>[% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.itemlost', authorised_value => item.itemlost ) | html %] </td
><td data-order="[% item.itemlost_on | html %]">[% item.itemlost_on | $KohaDates %]</td>
<td>
<a href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=[% item.biblionumber | uri %]">[% item.barcode | html %]</a>
</td>
<td>[% item.itemcallnumber | html %]</td>
<td data-order="[% item.datelastseen | html %]">[% item.datelastseen | $KohaDates with_hours => 1 %]</td>
<td>[% item.price | $Price %]</td>
<td>[% item.replacementprice | $Price %]</td>
<td>[% Branches.GetName(item.homebranch) | html %]</td>
<td>[% ItemTypes.GetDescription(item.effective_itemtype) | html %]</td>
<td>[% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.ccode', authorised_value => item.ccode ) | html %]</td>
<td>[% Branches.GetName(item.holdingbranch) | html %]</td>
<td>[% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.location', authorised_value => item.location ) | html %]</td>
<td>[% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.notforloan', authorised_value => item.notforloan ) | html %] </td><td>[% item.itemnotes | $raw %]</td>
</tr>
[% END %]
</tbody>
</table>
</div>
<!-- /.page-section -->
[% END %]
[% ELSE %]
<form name="f" action="/cgi-bin/koha/reports/itemslost.pl" method="get">

View File

@ -47,28 +47,31 @@
[% IF ( do_it ) %]
[% FOREACH mainloo IN mainloop %]
<h1>Reports on item types [% IF branch %]held at [% Branches.GetName( branch ) | html %][% END %]</h1>
<table id="itemtypest">
<thead>
<tr>
<th>Item type</th>
<th>Count</th>
</tr>
</thead>
<tfoot>
<tr>
<th>TOTAL</th>
<th>[% mainloo.total | html %]</th>
</tr>
</tfoot>
<tbody>
[% FOREACH loopitemtyp IN mainloo.loopitemtype %]
<div class="page-section">
<table id="itemtypest">
<thead>
<tr>
<td>[% ItemTypes.GetDescription( loopitemtyp.itemtype ) | html %]</td>
<td>[% loopitemtyp.count | html %]</td>
<th>Item type</th>
<th>Count</th>
</tr>
[% END %]
</tbody>
</table>
</thead>
<tfoot>
<tr>
<th>TOTAL</th>
<th>[% mainloo.total | html %]</th>
</tr>
</tfoot>
<tbody>
[% FOREACH loopitemtyp IN mainloo.loopitemtype %]
<tr>
<td>[% ItemTypes.GetDescription( loopitemtyp.itemtype ) | html %]</td>
<td>[% loopitemtyp.count | html %]</td>
</tr>
[% END %]
</tbody>
</table>
</div>
<!-- /.page-section -->
[% END %]
[% ELSE %]
<h1>View a count of items held at your library grouped by item type</h1>

View File

@ -91,37 +91,40 @@
[% END %]
[% FOREACH mainloo IN mainloop %]
<table>
<tr>
<th>[% mainloo.line | html %] / [% mainloo.column | html %]</th>
[% FOREACH loopco IN mainloo.loopcol %]
<th>[% PROCESS reservestatus field=mainloo.column value=loopco.coltitle_display %]</th>
[% END %]
<th>TOTAL</th>
</tr>
[% FOREACH loopro IN mainloo.looprow %]
<div class="page-section">
<table>
<tr>
<td>[% PROCESS reservestatus field=mainloo.line value=loopro.rowtitle_display %]</td>
[% FOREACH loopcel IN loopro.loopcell %]
<td align="center">
[% IF ( loopcel.url_complement ) %]
<a href="reserves_stats.pl?output=[% loopcel.output | uri %]&amp;[% loopcel.url_complement | uri %]">[% loopcel.value | html %]</a>
[% ELSE %]
[% loopcel.value | html %]
[% END %]
</td>
<th>[% mainloo.line | html %] / [% mainloo.column | html %]</th>
[% FOREACH loopco IN mainloo.loopcol %]
<th>[% PROCESS reservestatus field=mainloo.column value=loopco.coltitle_display %]</th>
[% END %]
<td align="center">[% loopro.totalrow | html %]</td>
<th>TOTAL</th>
</tr>
[% END %]
<tr>
<th>TOTAL</th>
[% FOREACH loopfoote IN mainloo.loopfooter %]
<th>[% loopfoote.totalcol | html %]</th>
[% FOREACH loopro IN mainloo.looprow %]
<tr>
<td>[% PROCESS reservestatus field=mainloo.line value=loopro.rowtitle_display %]</td>
[% FOREACH loopcel IN loopro.loopcell %]
<td align="center">
[% IF ( loopcel.url_complement ) %]
<a href="reserves_stats.pl?output=[% loopcel.output | uri %]&amp;[% loopcel.url_complement | uri %]">[% loopcel.value | html %]</a>
[% ELSE %]
[% loopcel.value | html %]
[% END %]
</td>
[% END %]
<td align="center">[% loopro.totalrow | html %]</td>
</tr>
[% END %]
<th>[% mainloo.total | html %]</th>
</tr>
</table>
<tr>
<th>TOTAL</th>
[% FOREACH loopfoote IN mainloo.loopfooter %]
<th>[% loopfoote.totalcol | html %]</th>
[% END %]
<th>[% mainloo.total | html %]</th>
</tr>
</table>
</div>
<!-- /.page-section -->
[% END %]
[% END %]
[% ELSE %]