Bug 11869: Add more informations to the patron account printing page
authorFrédérick <frederick.capovilla@libeo.com>
Thu, 27 Feb 2014 20:54:01 +0000 (15:54 -0500)
committerGalen Charlton <gmc@esilibrary.com>
Fri, 18 Apr 2014 14:34:20 +0000 (14:34 +0000)
This patch adds additional informations to the "Print summary"
and the "Print receipt" templates.

Additional information in "Print summary":
* Registration date
* Expiration date
* Library
* Category
* Fines and payments

TEST PLAN
---------
1) Go to a patron.
2) Make sure they have something checked out.
3) Manually add a fine.
4) Under the 'Print' button click 'Print summary'
   -- the resulting preview should:
   a) have the first for things listed above, and
   b) have a new fines and payments section.

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
NOTE: The due date of the check out is not part of this patch,
      and so I signed off. Similarly, anything required for
      slips is configurable elsewhere now and thus comment 1
      does not accurately reflect the intent of this patch.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
This works as described and passes all tests and the QA script.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember-print.tt
members/moremember.pl

index 4642628..c9f4c85 100644 (file)
@@ -1,3 +1,4 @@
+[% USE KohaDates %]
 [% INCLUDE 'doc-head-open.inc' %]
 <title>Summary for [% firstname %] [% surname %] ([% cardnumber %])</title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <li>[% IF ( phone ) %][% phone %][% ELSE %](no phone number on file)[% END %]</li>
 <li>[% IF ( email ) %][% email %][% ELSE %](no primary email on file)[% END %]</li>
 [% IF ( emailpro ) %]<li>[% emailpro %]</li>[% END %]
+<li>Registration date: [% dateenrolled %]</li>
+<li>Expiration date: [% dateexpiry %]</li>
+<li>Library: [% branchname %]</li>
+<li>Category: [% description %]</li>
 </ul>
 
 [% IF ( issueloop ) %]
 </table>
 [% END %]
 
+[% IF ( accounts ) %]
+<table>
+    <caption>Account fines and payments</caption>
+    <tr>
+        <th>Description of charges</th>
+        <th>Date</th>
+        <th>Amount</th>
+        <th>Outstanding</th>
+    </tr>
+    [% FOREACH account IN accounts %]
+    <tr>
+        <td>
+            [% IF ( account.itemnumber ) %]<a href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=[% account.biblionumber %]&amp;itemnumber=[% account.itemnumber %]">[% END %]
+            [% account.description %]&nbsp;[% IF ( account.printtitle ) %] [% account.title |html %][% END %]
+            [% IF ( account.itemnumber ) %]</a>[% END %]
+        </td>
+        <td>[% account.date | $KohaDates %]</td>
+        <td>[% account.amount %]</td>
+        <td>[% account.amountoutstanding %]</td>
+    </tr>
+    [% END %]
+    <tfoot>
+        <tr>
+            <td colspan="3">Total due</td>
+            <td colspan="2">[% totaldue %]</td>
+        </tr>
+    </tfoot>
+</table>
+[% END %]
+
 [% INCLUDE 'intranet-bottom.inc' %]
index 40f6d43..d78cc1f 100755 (executable)
@@ -232,6 +232,19 @@ my $lib2 = &GetSortDetails( "Bsort2", $data->{'sort2'} );
 $template->param( lib1 => $lib1 ) if ($lib1);
 $template->param( lib2 => $lib2 ) if ($lib2);
 
+# If printing a page, send the account informations to the template
+if ($print eq "page") {
+    foreach my $accountline (@$accts) {
+        $accountline->{amount} = sprintf '%.2f', $accountline->{amount};
+        $accountline->{amountoutstanding} = sprintf '%.2f', $accountline->{amountoutstanding};
+
+        if ($accountline->{accounttype} ne 'F' && $accountline->{accounttype} ne 'FU'){
+            $accountline->{printtitle} = 1;
+        }
+    }
+    $template->param( accounts => $accts );
+}
+
 # Show OPAC privacy preference is system preference is set
 if ( C4::Context->preference('OPACPrivacy') ) {
     $template->param( OPACPrivacy => 1);