Bugzilla – Attachment 148185 Details for
Bug 3150
Move emails for sending cart and list contents into notices tool
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 3150: (QA follow-up) Tidy scripts
Bug-3150-QA-follow-up-Tidy-scripts.patch (text/plain), 22.63 KB, created by
Kyle M Hall (khall)
on 2023-03-14 17:09:37 UTC
(
hide
)
Description:
Bug 3150: (QA follow-up) Tidy scripts
Filename:
MIME Type:
Creator:
Kyle M Hall (khall)
Created:
2023-03-14 17:09:37 UTC
Size:
22.63 KB
patch
obsolete
>From 76cdf5daee0a23361ea4ff1007ffb649fd0f6019 Mon Sep 17 00:00:00 2001 >From: Kyle Hall <kyle@bywatersolutions.com> >Date: Tue, 14 Mar 2023 13:04:14 -0400 >Subject: [PATCH] Bug 3150: (QA follow-up) Tidy scripts > >Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> >--- > basket/sendbasket.pl | 78 ++++++++-------- > opac/opac-sendbasket.pl | 93 +++++++++--------- > opac/opac-sendshelf.pl | 181 +++++++++++++++++++----------------- > virtualshelves/sendshelf.pl | 74 ++++++++------- > 4 files changed, 223 insertions(+), 203 deletions(-) > >diff --git a/basket/sendbasket.pl b/basket/sendbasket.pl >index 0250e07a5d..bcd949c334 100755 >--- a/basket/sendbasket.pl >+++ b/basket/sendbasket.pl >@@ -23,7 +23,7 @@ use Carp qw( carp ); > use Try::Tiny qw( catch try ); > > use C4::Biblio qw( >- GetMarcSubjects >+ GetMarcSubjects > ); > use C4::Auth qw( get_template_and_user ); > use C4::Output qw( output_and_exit output_html_with_http_headers ); >@@ -34,12 +34,12 @@ use Koha::Token; > > my $query = CGI->new; > >-my ( $template, $borrowernumber, $cookie ) = get_template_and_user ( >+my ( $template, $borrowernumber, $cookie ) = get_template_and_user( > { >- template_name => "basket/sendbasketform.tt", >- query => $query, >- type => "intranet", >- flagsrequired => { catalogue => 1 }, >+ template_name => "basket/sendbasketform.tt", >+ query => $query, >+ type => "intranet", >+ flagsrequired => { catalogue => 1 }, > } > ); > >@@ -48,14 +48,16 @@ my $email_add = $query->param('email_add'); > > my $dbh = C4::Context->dbh; > >-if ( $email_add ) { >+if ($email_add) { > output_and_exit( $query, $cookie, $template, 'wrong_csrf_token' ) >- unless Koha::Token->new->check_csrf({ >+ unless Koha::Token->new->check_csrf( >+ { > session_id => scalar $query->cookie('CGISESSID'), >- token => scalar $query->param('csrf_token'), >- }); >+ token => scalar $query->param('csrf_token'), >+ } >+ ); > >- my $patron = Koha::Patrons->find( $borrowernumber ); >+ my $patron = Koha::Patrons->find($borrowernumber); > my $user_email = $patron->first_valid_email_address; > > my $comment = $query->param('comment'); >@@ -63,53 +65,53 @@ if ( $email_add ) { > my @bibs = split( /\//, $bib_list ); > my $iso2709; > >- foreach my $bib ( @bibs ) { >- my $biblio = Koha::Biblios->find( $bib ) or next; >+ foreach my $bib (@bibs) { >+ my $biblio = Koha::Biblios->find($bib) or next; > $iso2709 .= $biblio->metadata->record->as_usmarc(); > } > > if ( !defined $iso2709 ) { > carp "Error sending mail: empty basket"; > $template->param( error => 1 ); >- } elsif ( !defined $user_email or $user_email eq '' ) { >+ } >+ elsif ( !defined $user_email or $user_email eq '' ) { > carp "Error sending mail: sender's email address is invalid"; > $template->param( error => 1 ); >- } else { >- my %loops = ( >- biblio => \@bibs, >- ); >+ } >+ else { >+ my %loops = ( biblio => \@bibs, ); > >- my %substitute = ( >- comment => $comment, >- ); >+ my %substitute = ( comment => $comment, ); > > my $letter = C4::Letters::GetPreparedLetter( >- module => 'catalogue', >+ module => 'catalogue', > letter_code => 'CART', >- lang => $patron->lang, >- tables => { >+ lang => $patron->lang, >+ tables => { > borrowers => $borrowernumber, > }, > message_transport_type => 'email', >- loops => \%loops, >- substitute => \%substitute, >+ loops => \%loops, >+ substitute => \%substitute, > ); > > my $attachment = { > filename => 'basket.iso2709', >- type => 'application/octet-stream', >- content => Encode::encode("UTF-8", $iso2709), >+ type => 'application/octet-stream', >+ content => Encode::encode( "UTF-8", $iso2709 ), > }; > >- my $message_id = C4::Letters::EnqueueLetter({ >- letter => $letter, >- message_transport_type => 'email', >- to_address => $email_add, >- reply_address => $user_email, >- attachments => [$attachment], >- }); >+ my $message_id = C4::Letters::EnqueueLetter( >+ { >+ letter => $letter, >+ message_transport_type => 'email', >+ to_address => $email_add, >+ reply_address => $user_email, >+ attachments => [$attachment], >+ } >+ ); > >- C4::Letters::SendQueuedMessages({ message_id => $message_id }); >+ C4::Letters::SendQueuedMessages( { message_id => $message_id } ); > > $template->param( SENT => 1 ); > } >@@ -122,7 +124,9 @@ else { > url => "/cgi-bin/koha/basket/sendbasket.pl", > suggestion => C4::Context->preference("suggestion"), > virtualshelves => C4::Context->preference("virtualshelves"), >- csrf_token => Koha::Token->new->generate_csrf({ session_id => scalar $query->cookie('CGISESSID'), }), >+ csrf_token => Koha::Token->new->generate_csrf( >+ { session_id => scalar $query->cookie('CGISESSID'), } >+ ), > ); > output_html_with_http_headers $query, $cookie, $template->output; > } >diff --git a/opac/opac-sendbasket.pl b/opac/opac-sendbasket.pl >index b7ac930d66..a273e144a6 100755 >--- a/opac/opac-sendbasket.pl >+++ b/opac/opac-sendbasket.pl >@@ -25,7 +25,7 @@ use Carp qw( carp ); > use Try::Tiny qw( catch try ); > > use C4::Biblio qw( >- GetMarcSubjects >+ GetMarcSubjects > ); > use C4::Auth qw( get_template_and_user ); > use C4::Output qw( output_html_with_http_headers ); >@@ -37,83 +37,87 @@ use Koha::Token; > > my $query = CGI->new; > >-my ( $template, $borrowernumber, $cookie ) = get_template_and_user ( >+my ( $template, $borrowernumber, $cookie ) = get_template_and_user( > { >- template_name => "opac-sendbasketform.tt", >- query => $query, >- type => "opac", >+ template_name => "opac-sendbasketform.tt", >+ query => $query, >+ type => "opac", > } > ); > >-my $bib_list = $query->param('bib_list') || ''; >-my $email_add = $query->param('email_add'); >+my $bib_list = $query->param('bib_list') || ''; >+my $email_add = $query->param('email_add'); > >-if ( $email_add ) { >- die "Wrong CSRF token" unless Koha::Token->new->check_csrf({ >- session_id => scalar $query->cookie('CGISESSID'), >- token => scalar $query->param('csrf_token'), >- }); >+if ($email_add) { >+ die "Wrong CSRF token" >+ unless Koha::Token->new->check_csrf( >+ { >+ session_id => scalar $query->cookie('CGISESSID'), >+ token => scalar $query->param('csrf_token'), >+ } >+ ); > >- my $patron = Koha::Patrons->find( $borrowernumber ); >+ my $patron = Koha::Patrons->find($borrowernumber); > my $user_email = $patron->first_valid_email_address; > >- my $comment = $query->param('comment'); >+ my $comment = $query->param('comment'); > > my @bibs = split( /\//, $bib_list ); > my $iso2709; >- foreach my $bib ( @bibs ) { >- my $biblio = Koha::Biblios->find( $bib ) or next; >+ foreach my $bib (@bibs) { >+ my $biblio = Koha::Biblios->find($bib) or next; > $iso2709 .= $biblio->metadata->record->as_usmarc(); >- }; >+ } > > if ( !defined $iso2709 ) { > carp "Error sending mail: empty basket"; > $template->param( error => 1 ); >- } elsif ( !defined $user_email or $user_email eq '' ) { >+ } >+ elsif ( !defined $user_email or $user_email eq '' ) { > carp "Error sending mail: sender's email address is invalid"; > $template->param( error => 1 ); >- } else { >- my %loops = ( >- biblio => \@bibs, >- ); >+ } >+ else { >+ my %loops = ( biblio => \@bibs, ); > >- my %substitute = ( >- comment => $comment, >- ); >+ my %substitute = ( comment => $comment, ); > > my $letter = C4::Letters::GetPreparedLetter( >- module => 'catalogue', >+ module => 'catalogue', > letter_code => 'CART', >- lang => $patron->lang, >- tables => { >+ lang => $patron->lang, >+ tables => { > borrowers => $borrowernumber, > }, > message_transport_type => 'email', >- loops => \%loops, >- substitute => \%substitute, >+ loops => \%loops, >+ substitute => \%substitute, > ); > > my $attachment = { > filename => 'basket.iso2709', >- type => 'application/octet-stream', >- content => Encode::encode("UTF-8", $iso2709), >+ type => 'application/octet-stream', >+ content => Encode::encode( "UTF-8", $iso2709 ), > }; > >- my $message_id = C4::Letters::EnqueueLetter({ >- letter => $letter, >- message_transport_type => 'email', >- to_address => $email_add, >- reply_address => $user_email, >- attachments => [$attachment], >- }); >+ my $message_id = C4::Letters::EnqueueLetter( >+ { >+ letter => $letter, >+ message_transport_type => 'email', >+ to_address => $email_add, >+ reply_address => $user_email, >+ attachments => [$attachment], >+ } >+ ); > >- C4::Letters::SendQueuedMessages({ message_id => $message_id }); >+ C4::Letters::SendQueuedMessages( { message_id => $message_id } ); > > $template->param( SENT => 1 ); > } > > $template->param( email_add => $email_add ); >- output_html_with_http_headers $query, $cookie, $template->output, undef, { force_no_caching => 1 }; >+ output_html_with_http_headers $query, $cookie, $template->output, undef, >+ { force_no_caching => 1 }; > } > else { > my $new_session_id = $query->cookie('CGISESSID'); >@@ -122,8 +126,9 @@ else { > url => "/cgi-bin/koha/opac-sendbasket.pl", > suggestion => C4::Context->preference("suggestion"), > virtualshelves => C4::Context->preference("virtualshelves"), >- csrf_token => Koha::Token->new->generate_csrf( >- { session_id => $new_session_id, } ), >+ csrf_token => >+ Koha::Token->new->generate_csrf( { session_id => $new_session_id, } ), > ); >- output_html_with_http_headers $query, $cookie, $template->output, undef, { force_no_caching => 1 }; >+ output_html_with_http_headers $query, $cookie, $template->output, undef, >+ { force_no_caching => 1 }; > } >diff --git a/opac/opac-sendshelf.pl b/opac/opac-sendshelf.pl >index bc15fa55cc..f5600a27e3 100755 >--- a/opac/opac-sendshelf.pl >+++ b/opac/opac-sendshelf.pl >@@ -26,9 +26,9 @@ use Try::Tiny qw( catch try ); > > use C4::Auth qw( get_template_and_user ); > use C4::Biblio qw( >- GetFrameworkCode >- GetMarcISBN >- GetMarcSubjects >+ GetFrameworkCode >+ GetMarcISBN >+ GetMarcSubjects > ); > use C4::Output qw( output_html_with_http_headers ); > use Koha::Biblios; >@@ -39,103 +39,112 @@ use Koha::Virtualshelves; > my $query = CGI->new; > > # if virtualshelves is disabled, leave immediately >-if ( ! C4::Context->preference('virtualshelves') ) { >+if ( !C4::Context->preference('virtualshelves') ) { > print $query->redirect("/cgi-bin/koha/errors/404.pl"); > exit; > } > >-my ( $template, $borrowernumber, $cookie ) = get_template_and_user ( >+my ( $template, $borrowernumber, $cookie ) = get_template_and_user( > { >- template_name => "opac-sendshelfform.tt", >- query => $query, >- type => "opac", >+ template_name => "opac-sendshelfform.tt", >+ query => $query, >+ type => "opac", > } > ); > > my $shelfid = $query->param('shelfid'); > my $email = $query->param('email'); > >-my $shelf = Koha::Virtualshelves->find( $shelfid ); >-if ( $shelf and $shelf->can_be_viewed( $borrowernumber ) ) { >- if ( $email ) { >- my $comment = $query->param('comment'); >- >- my $patron = Koha::Patrons->find( $borrowernumber ); >- my $user_email = $patron->first_valid_email_address; >- my $shelf = Koha::Virtualshelves->find( $shelfid ); >- my $contents = $shelf->get_contents; >- my $iso2709; >- >- my @biblionumbers; >- while ( my $content = $contents->next ) { >- push @biblionumbers, $content->biblionumber; >- my $biblio = Koha::Biblios->find($content->biblionumber); >- $iso2709 .= $biblio->metadata->record->as_usmarc(); >- }; >- >- if ( !defined $iso2709 ) { >- carp "Error sending mail: empty list"; >- $template->param( error => 1 ); >- } elsif ( !defined $user_email or $user_email eq '' ) { >- carp "Error sending mail: sender's email address is invalid"; >- $template->param( error => 1 ); >- } else { >- my %loops = ( >- biblio => \@biblionumbers, >- ); >- >- my %substitute = ( >- comment => $comment, >- listname => $shelf->shelfname, >- ); >- >- my $letter = C4::Letters::GetPreparedLetter( >- module => 'catalogue', >- letter_code => 'LIST', >- lang => $patron->lang, >- tables => { >- borrowers => $borrowernumber, >- }, >- message_transport_type => 'email', >- loops => \%loops, >- substitute => \%substitute, >+my $shelf = Koha::Virtualshelves->find($shelfid); >+if ( $shelf and $shelf->can_be_viewed($borrowernumber) ) { >+ if ($email) { >+ my $comment = $query->param('comment'); >+ >+ my $patron = Koha::Patrons->find($borrowernumber); >+ my $user_email = $patron->first_valid_email_address; >+ my $shelf = Koha::Virtualshelves->find($shelfid); >+ my $contents = $shelf->get_contents; >+ my $iso2709; >+ >+ my @biblionumbers; >+ while ( my $content = $contents->next ) { >+ push @biblionumbers, $content->biblionumber; >+ my $biblio = Koha::Biblios->find( $content->biblionumber ); >+ $iso2709 .= $biblio->metadata->record->as_usmarc(); >+ } >+ >+ if ( !defined $iso2709 ) { >+ carp "Error sending mail: empty list"; >+ $template->param( error => 1 ); >+ } >+ elsif ( !defined $user_email or $user_email eq '' ) { >+ carp "Error sending mail: sender's email address is invalid"; >+ $template->param( error => 1 ); >+ } >+ else { >+ my %loops = ( biblio => \@biblionumbers, ); >+ >+ my %substitute = ( >+ comment => $comment, >+ listname => $shelf->shelfname, >+ ); >+ >+ my $letter = C4::Letters::GetPreparedLetter( >+ module => 'catalogue', >+ letter_code => 'LIST', >+ lang => $patron->lang, >+ tables => { >+ borrowers => $borrowernumber, >+ }, >+ message_transport_type => 'email', >+ loops => \%loops, >+ substitute => \%substitute, >+ ); >+ >+ my $attachment = { >+ filename => 'list.iso2709', >+ type => 'application/octet-stream', >+ content => Encode::encode( "UTF-8", $iso2709 ), >+ }; >+ >+ my $message_id = C4::Letters::EnqueueLetter( >+ { >+ letter => $letter, >+ message_transport_type => 'email', >+ borrowernumber => $patron->borrowernumber, >+ to_address => $email, >+ reply_address => $user_email, >+ attachments => [$attachment], >+ } >+ ); >+ >+ C4::Letters::SendQueuedMessages( { message_id => $message_id } ); >+ >+ $template->param( SENT => 1 ); >+ } >+ >+ $template->param( >+ shelfid => $shelfid, >+ email => $email, > ); >+ output_html_with_http_headers $query, $cookie, $template->output, >+ undef, { force_no_caching => 1 }; > >- my $attachment = { >- filename => 'list.iso2709', >- type => 'application/octet-stream', >- content => Encode::encode("UTF-8", $iso2709), >- }; >- >- my $message_id = C4::Letters::EnqueueLetter({ >- letter => $letter, >- message_transport_type => 'email', >- borrowernumber => $patron->borrowernumber, >- to_address => $email, >- reply_address => $user_email, >- attachments => [$attachment], >- }); >- >- C4::Letters::SendQueuedMessages({ message_id => $message_id }); >- >- $template->param( SENT => 1 ); > } >- >+ else { >+ $template->param( >+ shelfid => $shelfid, >+ url => "/cgi-bin/koha/opac-sendshelf.pl", >+ ); >+ output_html_with_http_headers $query, $cookie, $template->output, >+ undef, { force_no_caching => 1 }; >+ } >+} >+else { > $template->param( >- shelfid => $shelfid, >- email => $email, >- ); >- output_html_with_http_headers $query, $cookie, $template->output, undef, { force_no_caching => 1 }; >- >- } else { >- $template->param( shelfid => $shelfid, >- url => "/cgi-bin/koha/opac-sendshelf.pl", >- ); >- output_html_with_http_headers $query, $cookie, $template->output, undef, { force_no_caching => 1 }; >- } >-} else { >- $template->param( invalidlist => 1, >- url => "/cgi-bin/koha/opac-sendshelf.pl", >+ invalidlist => 1, >+ url => "/cgi-bin/koha/opac-sendshelf.pl", > ); >- output_html_with_http_headers $query, $cookie, $template->output, undef, { force_no_caching => 1 }; >+ output_html_with_http_headers $query, $cookie, $template->output, undef, >+ { force_no_caching => 1 }; > } >diff --git a/virtualshelves/sendshelf.pl b/virtualshelves/sendshelf.pl >index c5abdbe555..8deeffd96f 100755 >--- a/virtualshelves/sendshelf.pl >+++ b/virtualshelves/sendshelf.pl >@@ -26,12 +26,12 @@ use Try::Tiny qw( catch try ); > > use C4::Auth qw( get_template_and_user ); > use C4::Biblio qw( >- GetMarcISBN >- GetMarcSubjects >+ GetMarcISBN >+ GetMarcSubjects > ); > use C4::Output qw( >- output_html_with_http_headers >- output_and_exit >+ output_html_with_http_headers >+ output_and_exit > ); > > use Koha::Biblios; >@@ -42,80 +42,82 @@ my $query = CGI->new; > > my ( $template, $borrowernumber, $cookie ) = get_template_and_user( > { >- template_name => "virtualshelves/sendshelfform.tt", >- query => $query, >- type => "intranet", >- flagsrequired => { catalogue => 1 }, >+ template_name => "virtualshelves/sendshelfform.tt", >+ query => $query, >+ type => "intranet", >+ flagsrequired => { catalogue => 1 }, > } > ); > > my $shelfid = $query->param('shelfid'); > my $to_address = $query->param('email'); > >-my $shelf = Koha::Virtualshelves->find( $shelfid ); >+my $shelf = Koha::Virtualshelves->find($shelfid); > > output_and_exit( $query, $cookie, $template, 'insufficient_permission' ) >- if $shelf && !$shelf->can_be_viewed( $borrowernumber ); >+ if $shelf && !$shelf->can_be_viewed($borrowernumber); > > if ($to_address) { > my $comment = $query->param('comment'); > >- my $patron = Koha::Patrons->find( $borrowernumber ); >+ my $patron = Koha::Patrons->find($borrowernumber); > my $user_email = $patron->first_valid_email_address; >- my $contents = $shelf->get_contents; >+ my $contents = $shelf->get_contents; > my @biblionumbers; > my $iso2709; > > while ( my $content = $contents->next ) { > push @biblionumbers, $content->biblionumber; >- my $biblio = Koha::Biblios->find($content->biblionumber); >+ my $biblio = Koha::Biblios->find( $content->biblionumber ); > $iso2709 .= $biblio->metadata->record->as_usmarc(); >- }; >+ } > > if ( !defined $iso2709 ) { > carp "Error sending mail: empty basket"; > $template->param( error => 1 ); >- } elsif ( !defined $user_email or $user_email eq '' ) { >+ } >+ elsif ( !defined $user_email or $user_email eq '' ) { > carp "Error sending mail: sender's email address is invalid"; > $template->param( error => 1 ); >- } else { >- my %loops = ( >- biblio => \@biblionumbers, >- ); >+ } >+ else { >+ my %loops = ( biblio => \@biblionumbers, ); > > my %substitute = ( >- comment => $comment, >+ comment => $comment, > listname => $shelf->shelfname, > ); > > my $letter = C4::Letters::GetPreparedLetter( >- module => 'catalogue', >+ module => 'catalogue', > letter_code => 'LIST', >- lang => $patron->lang, >- tables => { >+ lang => $patron->lang, >+ tables => { > borrowers => $borrowernumber, > }, > message_transport_type => 'email', >- loops => \%loops, >- substitute => \%substitute, >+ loops => \%loops, >+ substitute => \%substitute, > ); > > my $attachment = { > filename => 'shelf.iso2709', >- type => 'application/octet-stream', >- content => Encode::encode("UTF-8", $iso2709), >+ type => 'application/octet-stream', >+ content => Encode::encode( "UTF-8", $iso2709 ), > }; > >- my $message_id = C4::Letters::EnqueueLetter({ >- letter => $letter, >- message_transport_type => 'email', >- borrowernumber => $patron->borrowernumber, >- to_address => $to_address, >- reply_address => $user_email, >- attachments => [$attachment], >- }); >+ my $message_id = C4::Letters::EnqueueLetter( >+ { >+ letter => $letter, >+ message_transport_type => 'email', >+ borrowernumber => $patron->borrowernumber, >+ to_address => $to_address, >+ reply_address => $user_email, >+ attachments => [$attachment], >+ } >+ ); > >- C4::Letters::SendQueuedMessages({ message_id => $message_id }); >+ C4::Letters::SendQueuedMessages( { message_id => $message_id } ); > > $template->param( SENT => 1 ); > } >-- >2.30.2
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 3150
:
114127
|
114545
|
114579
|
114582
|
117237
|
118313
|
120477
|
120478
|
121026
|
121027
|
121037
|
121038
|
123020
|
123021
|
123022
|
125225
|
125226
|
125227
|
125379
|
126544
|
126545
|
126546
|
126547
|
130150
|
130151
|
130152
|
130153
|
134304
|
134305
|
134306
|
134307
|
134308
|
134477
|
137690
|
137691
|
137692
|
137693
|
137694
|
137716
|
137717
|
137718
|
137719
|
137720
|
137878
|
140246
|
140247
|
140248
|
140249
|
140250
|
140251
|
140252
|
140253
|
140254
|
140255
|
140256
|
140257
|
140258
|
140259
|
145229
|
145230
|
145231
|
145232
|
145233
|
145234
|
145676
|
145677
|
145678
|
145679
|
145680
|
145681
|
146560
|
146561
|
146562
|
146563
|
146564
|
146565
|
146566
|
146858
|
146859
|
146860
|
146861
|
146862
|
146863
|
146864
|
146865
|
146866
|
146867
|
146987
|
147423
|
147868
|
147869
|
147870
|
147871
|
147872
|
147873
|
147874
|
147875
|
147876
|
147877
|
147878
|
147879
|
147880
|
148045
|
148170
|
148171
|
148172
|
148173
|
148174
|
148175
|
148176
|
148177
|
148178
|
148179
|
148180
|
148181
|
148182
|
148183
|
148184
| 148185