Bugzilla – Attachment 9696 Details for
Bug 8063
Hold print notices do not sort by branch
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 8063 - Hold print notices do not sort by branch
Bug-8063---Hold-print-notices-do-not-sort-by-branc.patch (text/plain), 5.76 KB, created by
Kyle M Hall
on 2012-05-22 12:07:11 UTC
(
hide
)
Description:
Bug 8063 - Hold print notices do not sort by branch
Filename:
MIME Type:
Creator:
Kyle M Hall
Created:
2012-05-22 12:07:11 UTC
Size:
5.76 KB
patch
obsolete
>From bf23db16f4c87057e8dbb305b4b9c2e1ec81d9a0 Mon Sep 17 00:00:00 2001 >From: Kyle M Hall <kyle@bywatersolutions.com> >Date: Wed, 9 May 2012 11:40:27 -0400 >Subject: [PATCH] Bug 8063 - Hold print notices do not sort by branch > >Adds the option -s/--split to enable notices to be separated >into different files by borrower home library. >--- > C4/Letters.pm | 9 ++- > misc/cronjobs/gather_print_notices.pl | 89 +++++++++++++++++++++++++-------- > 2 files changed, 74 insertions(+), 24 deletions(-) > >diff --git a/C4/Letters.pm b/C4/Letters.pm >index 89213fe..cfc919d 100644 >--- a/C4/Letters.pm >+++ b/C4/Letters.pm >@@ -771,7 +771,8 @@ sub GetPrintMessages { > my $params = shift || {}; > > return _get_unsent_messages( { message_transport_type => 'print', >- borrowernumber => $params->{'borrowernumber'}, } ); >+ borrowernumber => $params->{'borrowernumber'}, >+ } ); > } > > =head2 GetQueuedMessages ([$hashref]) >@@ -866,8 +867,9 @@ sub _get_unsent_messages (;$) { > > my $dbh = C4::Context->dbh(); > my $statement = << 'ENDSQL'; >-SELECT message_id, borrowernumber, subject, content, message_transport_type, status, time_queued, from_address, to_address, content_type >- FROM message_queue >+SELECT mq.message_id, mq.borrowernumber, mq.subject, mq.content, mq.message_transport_type, mq.status, mq.time_queued, mq.from_address, mq.to_address, mq.content_type, b.branchcode >+ FROM message_queue mq >+ LEFT JOIN borrowers b ON b.borrowernumber = mq.borrowernumber > WHERE status = ? > ENDSQL > >@@ -886,6 +888,7 @@ ENDSQL > push @query_params, $params->{'limit'}; > } > } >+ > $debug and warn "_get_unsent_messages SQL: $statement"; > $debug and warn "_get_unsent_messages params: " . join(',',@query_params); > my $sth = $dbh->prepare( $statement ); >diff --git a/misc/cronjobs/gather_print_notices.pl b/misc/cronjobs/gather_print_notices.pl >index 165b16e..ac1385b 100755 >--- a/misc/cronjobs/gather_print_notices.pl >+++ b/misc/cronjobs/gather_print_notices.pl >@@ -21,14 +21,14 @@ use strict; > use warnings; > > BEGIN { >- > # find Koha's Perl modules > # test carefully before changing this > use FindBin; > eval { require "$FindBin::Bin/../kohalib.pl" }; > } > >-use CGI; # NOT a CGI script, this is just to keep C4::Templates::gettemplate happy >+use >+ CGI; # NOT a CGI script, this is just to keep C4::Templates::gettemplate happy > use C4::Context; > use C4::Dates; > use C4::Debug; >@@ -42,41 +42,88 @@ sub usage { > Usage: $0 OUTPUT_DIRECTORY > Will print all waiting print notices to > OUTPUT_DIRECTORY/notices-CURRENT_DATE.html . >+ >+ -s --split Split messages into separate file by borrower home library to OUTPUT_DIRECTORY/notices-CURRENT_DATE-BRANCHCODE.html > USAGE > exit $_[0]; > } > >-my ( $stylesheet, $help ); >+my ( $stylesheet, $help, $split ); > > GetOptions( >- 'h|help' => \$help, >-) || usage( 1 ); >+ 'h|help' => \$help, >+ 's|split' => \$split, >+) || usage(1); > >-usage( 0 ) if ( $help ); >+usage(0) if ($help); > > my $output_directory = $ARGV[0]; > > if ( !$output_directory || !-d $output_directory ) { >- print STDERR "Error: You must specify a valid directory to dump the print notices in.\n"; >- usage( 1 ); >+ print STDERR >+"Error: You must specify a valid directory to dump the print notices in.\n"; >+ usage(1); >+} >+ >+my $today = C4::Dates->new(); >+my @all_messages = @{ GetPrintMessages() }; >+exit unless (@all_messages); >+ >+if ($split) { >+ my %messages_by_branch; >+ foreach my $message (@all_messages) { >+ push( @{ $messages_by_branch{ $message->{'branchcode'} } }, $message ); >+ } >+ >+ foreach my $branchcode ( keys %messages_by_branch ) { >+ my @messages = @{ $messages_by_branch{$branchcode} }; >+ >+ open $OUTPUT, '>', >+ File::Spec->catdir( $output_directory, >+ "holdnotices-" . $today->output('iso') . "-$branchcode.html" ); >+ >+ my $template = >+ C4::Templates::gettemplate( 'batch/print-notices.tmpl', 'intranet', >+ new CGI ); >+ >+ $template->param( >+ stylesheet => C4::Context->preference("NoticeCSS"), >+ today => $today->output(), >+ messages => \@messages, >+ ); >+ >+ print $OUTPUT $template->output; >+ >+ foreach my $message (@messages) { >+ C4::Letters::_set_message_status( >+ { message_id => $message->{'message_id'}, status => 'sent' } ); >+ } >+ >+ close $OUTPUT; >+ } > } >+else { >+ open $OUTPUT, '>', >+ File::Spec->catdir( $output_directory, >+ "holdnotices-" . $today->output('iso') . ".html" ); > >-my $today = C4::Dates->new(); >-my @messages = @{ GetPrintMessages() }; >-exit unless( @messages ); >+ my $template = >+ C4::Templates::gettemplate( 'batch/print-notices.tmpl', 'intranet', >+ new CGI ); > >-open OUTPUT, '>', File::Spec->catdir( $output_directory, "holdnotices-" . $today->output( 'iso' ) . ".html" ); >+ $template->param( >+ stylesheet => C4::Context->preference("NoticeCSS"), >+ today => $today->output(), >+ messages => \@all_messages, >+ ); > >-my $template = C4::Templates::gettemplate( 'batch/print-notices.tmpl', 'intranet', new CGI ); >+ print $OUTPUT $template->output; > >-$template->param( >- stylesheet => C4::Context->preference("NoticeCSS"), >- today => $today->output(), >- messages => \@messages, >-); >+ foreach my $message (@all_messages) { >+ C4::Letters::_set_message_status( >+ { message_id => $message->{'message_id'}, status => 'sent' } ); >+ } > >-print OUTPUT $template->output; >+ close $OUTPUT; > >-foreach my $message ( @messages ) { >- C4::Letters::_set_message_status( { message_id => $message->{'message_id'}, status => 'sent' } ); > } >-- >1.7.2.5
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 8063
:
9489
|
9514
|
9696
|
9697
|
9912
|
9913
|
9953
|
10786