Bugzilla – Attachment 121608 Details for
Bug 27949
Batch printing of article request slips
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 27949: Allow multiple article requests print slip
Bug-27949-Allow-multiple-article-requests-print-sl.patch (text/plain), 4.80 KB, created by
Agustín Moyano
on 2021-06-03 21:01:39 UTC
(
hide
)
Description:
Bug 27949: Allow multiple article requests print slip
Filename:
MIME Type:
Creator:
Agustín Moyano
Created:
2021-06-03 21:01:39 UTC
Size:
4.80 KB
patch
obsolete
>From e55be63b820a106e3b58b645bdfabaf26cfcbbe9 Mon Sep 17 00:00:00 2001 >From: Agustin Moyano <agustinmoyano@theke.io> >Date: Thu, 3 Jun 2021 17:41:22 -0300 >Subject: [PATCH] Bug 27949: Allow multiple article requests print slip > >This bug allows for batch printing of multiple article requests slips > >To test: >1. apply this patch >2. restart_all >3. enable ArticleRequests preference >4. create multiple article requests >5. go to circ/article-requests.pl in staff interface >6. print a single slip from a row >CHECK => it works as expected >7. select all rows and print slip from general actions menu (above the table) >SUCCESS => all article requests slips are printed >8. select multiple rows (not all) and print slip from general actions menu (above the table) >SUCCESS => only selected article requests slips are printed >--- > circ/article-request-slip.pl | 49 +++++++++++-------- > .../prog/en/modules/circ/article-requests.tt | 16 ++++++ > 2 files changed, 45 insertions(+), 20 deletions(-) > >diff --git a/circ/article-request-slip.pl b/circ/article-request-slip.pl >index 2175561edb..c6f69f482a 100755 >--- a/circ/article-request-slip.pl >+++ b/circ/article-request-slip.pl >@@ -30,7 +30,7 @@ use Koha::Patrons; > > my $cgi = CGI->new; > >-my $id = $cgi->param('id'); >+my @ids = split( ',', $cgi->param('id') ); > > my ( $template, $loggedinuser, $cookie ) = get_template_and_user( > { >@@ -41,30 +41,39 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user( > } > ); > >-my $ar = Koha::ArticleRequests->find($id); >+my $ars = Koha::ArticleRequests->search({id => {'-in' => \@ids}}); >+my $slipContent = ''; >+my $first=1; >+while(my $ar = $ars->next) { >+ if(!$first) { >+ $slipContent .= "<hr/>"; >+ } >+ $first = 0; >+ $template->param( article_request => $ar ); >+ my $patron = Koha::Patrons->find( $ar->borrowernumber ); > >-$template->param( article_request => $ar ); >-my $patron = Koha::Patrons->find( $ar->borrowernumber ); >+ my $slip = C4::Letters::GetPreparedLetter( >+ module => 'circulation', >+ letter_code => 'AR_SLIP', >+ message_transport_type => 'print', >+ lang => $patron->lang, >+ tables => { >+ article_requests => $ar->id, >+ borrowers => $ar->borrowernumber, >+ biblio => $ar->biblionumber, >+ biblioitems => $ar->biblionumber, >+ items => $ar->itemnumber, >+ branches => $ar->branchcode, >+ }, >+ ); > >-my $slip = C4::Letters::GetPreparedLetter( >- module => 'circulation', >- letter_code => 'AR_SLIP', >- message_transport_type => 'print', >- lang => $patron->lang, >- tables => { >- article_requests => $ar->id, >- borrowers => $ar->borrowernumber, >- biblio => $ar->biblionumber, >- biblioitems => $ar->biblionumber, >- items => $ar->itemnumber, >- branches => $ar->branchcode, >- }, >-); >+ $slipContent .= $slip->{is_html}?$slip->{content}:'<pre>'.$slip->{content}.'</pre>'; >+} > > $template->param( >- slip => $slip->{content}, >+ slip => $slipContent, > caller => 'article-request', >- plain => !$slip->{is_html}, >+ plain => 0, > ); > > output_html_with_http_headers $cgi, $cookie, $template->output; >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/article-requests.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/article-requests.tt >index 286db72985..1176a40bc4 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/article-requests.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/article-requests.tt >@@ -39,7 +39,13 @@ > <i class="fa fa-print"></i> > Print slip > </a> >+ [% ELSE %] >+ <a class="ar-print-request" href="#" onclick="PrintMultipleSlip(); return false;"> >+ <i class="fa fa-print"></i> >+ Print slip >+ </a> > [% END %] >+ > </li> > </ul> > </div> >@@ -396,6 +402,16 @@ > window.open(link, 'popup', 'width=600,height=400,resizable=1,toolbar=0,scrollbars=1,top'); > } > >+ function PrintMultipleSlip() { >+ var ids = []; >+ $( active_tab + " input[type='checkbox']:checked").each(function() { >+ ids.push($(this).attr('reqid')); >+ }); >+ var link = 'article-request-slip.pl?multi=1&id='+ids.join(','); >+ window.open(link, 'popup', 'width=600,height=400,resizable=1,toolbar=0,scrollbars=1,top'); >+ >+ } >+ > function Cancel( id, a ) { > // last_cancel_reason: undefined means 'prompt for new reason' > // a null value indicates that prompt was cancelled >-- >2.27.0
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 27949
:
121608
|
125183
|
125248
|
125882
|
125883
|
126263
|
126264
|
126265