[Koha-patches] [PATCH] Bug 2652--Add option to print circ slip with only current day's charges

Jane Wagner jwagner at ptfs.com
Fri Jul 31 17:10:12 CEST 2009


The full circulation slip contains all checkouts and overdues, which
can be quite long (and require a lot of paper to print out).  This adds
an option to print only the current day's checkouts and renames Print Slip
to Print Full Slip.
---
 .../prog/en/includes/circ-toolbar.inc              |    4 ++-
 .../prog/en/includes/members-toolbar.inc           |    3 +-
 .../en/modules/members/moremember-todaychg.tmpl    |   37 ++++++++++++++++++++
 members/moremember.pl                              |    8 ++++
 4 files changed, 50 insertions(+), 2 deletions(-)
 create mode 100644 koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember-todaychg.tmpl

diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/circ-toolbar.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/circ-toolbar.inc
index 359e697..4ab55ac 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/includes/circ-toolbar.inc
+++ b/koha-tmpl/intranet-tmpl/prog/en/includes/circ-toolbar.inc
@@ -53,7 +53,9 @@ function update_child() {
 	function yuiToolbar() {
 	    var printmenu = [
 	        { text: _("Print Page"), onclick: {fn: function(){printx_window("page")}} },
-	        { text: _("Print Slip"), onclick: {fn: function(){printx_window("slip")}} }
+                { text: _("Print Today's Checkouts"), onclick: {fn: function(){printx_window("todaychg")}} },
+                { text: _("Print Full Slip"), onclick: {fn: function(){printx_window("slip")}} }
+
 	    ];
 	
 		var moremenu = [
diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/members-toolbar.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/members-toolbar.inc
index 8da6db2..01adbc1 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/includes/members-toolbar.inc
+++ b/koha-tmpl/intranet-tmpl/prog/en/includes/members-toolbar.inc
@@ -51,7 +51,8 @@ function update_child() {
 	function yuiToolbar() {
 	    var printmenu = [
 	        { text: _("Print Page"), onclick: {fn: function(){printx_window("page")}} },
-	        { text: _("Print Slip"), onclick: {fn: function(){printx_window("slip")}} }
+	        { text: _("Print Today's Checkouts"), onclick: {fn: function(){printx_window("todaychg")}} },
+	        { text: _("Print Full Slip"), onclick: {fn: function(){printx_window("slip")}} }
 	    ];
 	
 		var moremenu = [
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember-todaychg.tmpl b/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember-todaychg.tmpl
new file mode 100644
index 0000000..74db686
--- /dev/null
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember-todaychg.tmpl
@@ -0,0 +1,37 @@
+<!-- TMPL_INCLUDE NAME="doc-head-open.inc" -->
+<title>Print Receipt for <!-- TMPL_VAR NAME="cardnumber" --></title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<link rel="shortcut icon" href="<!-- TMPL_VAR NAME="themelang" -->/includes/favicon.ico" type="image/x-icon" />
+<link rel="stylesheet" type="text/css" href="<!-- TMPL_VAR NAME="themelang" -->/css/print.css" />
+<script language="javascript">
+        window.print();
+        window.close();
+</script>
+</head>
+<body>
+
+<div id="receipt">
+
+<h3><!-- TMPL_VAR name="LibraryName" --></h3>
+<!-- TMPL_IF NAME="branchname" --><!-- TMPL_VAR NAME="branchname" --><br /><!-- /TMPL_IF -->
+Checked out to <a href="/cgi-bin/koha/circ/circulation.pl?findborrower=<!-- TMPL_VAR NAME="cardnumber">"><!-- TMPL_VAR NAME="cardnumber" --></a><br />
+
+<!-- TMPL_VAR NAME="todaysdate" --><br />
+This slip only includes items you 
+<br />checked out today.  For a complete 
+<br />list of your checkouts and 
+<br />overdues, ask staff for a full  
+<br />circulation slip, or log into your 
+<br />library catalog account.<br>
+<P>
+<h4>Checked Out Today:</h4>
+<!-- TMPL_loop name="todayloop" -->
+<!-- TMPL_IF name="red" --><!-- TMPL_ELSE -->
+<p><a href="/cgi-bin/koha/catalogue/detail.pl?item=<!-- TMPL_VAR NAME="itemnumber" -->&amp;biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->&amp;bi=<!-- TMPL_VAR NAME="biblioitemnumber" -->"><B>Title:</b> <!-- TMPL_VAR NAME="title" escape="html" --></a><br />
+<B>Barcode:</b> <!-- TMPL_VAR NAME="barcode" --><br />
+<B>Date due:</b> <!-- TMPL_VAR NAME="date_due" --><br /></p>
+    <!-- /TMPL_IF -->
+    <!-- /TMPL_LOOP -->
+
+
+<!-- TMPL_INCLUDE NAME="intranet-bottom.inc" -->
diff --git a/members/moremember.pl b/members/moremember.pl
index 494121f..c3b87af 100755
--- a/members/moremember.pl
+++ b/members/moremember.pl
@@ -75,6 +75,7 @@ for my $failedret (@failedreturns) { $return_failed{$failedret} = 1; }
 my $template_name;
 
 if    ($print eq "page") { $template_name = "members/moremember-print.tmpl";   }
+elsif ($print eq "todaychg") { $template_name = "members/moremember-todaychg.tmpl"; }
 elsif ($print eq "slip") { $template_name = "members/moremember-receipt.tmpl"; }
 else {                     $template_name = "members/moremember.tmpl";         }
 
@@ -218,10 +219,12 @@ my $count = scalar(@$issue);
 my $roaddetails = &GetRoadTypeDetails( $data->{'streettype'} );
 my $today       = POSIX::strftime("%Y-%m-%d", localtime);	# iso format
 my @issuedata;
+my @todaychg;
 my $overdues_exist = 0;
 my $totalprice = 0;
 for ( my $i = 0 ; $i < $count ; $i++ ) {
     my $datedue = $issue->[$i]{'date_due'};
+    my $chgdate = $issue->[$i]{'issuedate'};
     $issue->[$i]{'date_due'}  = C4::Dates->new($issue->[$i]{'date_due'}, 'iso')->output('syspref');
     $issue->[$i]{'issuedate'} = C4::Dates->new($issue->[$i]{'issuedate'},'iso')->output('syspref');
     my %row = %{ $issue->[$i] };
@@ -249,6 +252,10 @@ for ( my $i = 0 ; $i < $count ; $i++ ) {
 	$row{'renew_failed'}  = $renew_failed{ $issue->[$i]{'itemnumber'} };
 	$row{'return_failed'} = $return_failed{$issue->[$i]{'barcode'}};   
     push( @issuedata, \%row );
+    if ($chgdate eq $today)
+	{
+    		push( @todaychg, \%row );
+	}
 }
 
 ### ###############################################################################
@@ -365,6 +372,7 @@ $template->param(
     totaldue        => sprintf("%.2f", $total),
     totaldue_raw    => $total,
     issueloop       => \@issuedata,
+    todayloop       => \@todaychg,
     overdues_exist  => $overdues_exist,
     error           => $error,
     $error          => 1,
-- 
1.5.6.5




More information about the Koha-patches mailing list