From 76cdf5daee0a23361ea4ff1007ffb649fd0f6019 Mon Sep 17 00:00:00 2001 From: Kyle Hall Date: Tue, 14 Mar 2023 13:04:14 -0400 Subject: [PATCH] Bug 3150: (QA follow-up) Tidy scripts Signed-off-by: Kyle M Hall --- 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