Bugzilla – Attachment 65854 Details for
Bug 19080
Handle non existing patrons
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 19080: Handle non-existing patrons gratefully
Bug-19080-Handle-non-existing-patrons-gratefully.patch (text/plain), 23.79 KB, created by
Jonathan Druart
on 2017-08-10 19:57:55 UTC
(
hide
)
Description:
Bug 19080: Handle non-existing patrons gratefully
Filename:
MIME Type:
Creator:
Jonathan Druart
Created:
2017-08-10 19:57:55 UTC
Size:
23.79 KB
patch
obsolete
>From 2d3f23c0210f3b788ac492dd4129e128d8acaa3e Mon Sep 17 00:00:00 2001 >From: Jonathan Druart <jonathan.druart@bugs.koha-community.org> >Date: Thu, 10 Aug 2017 14:44:50 -0300 >Subject: [PATCH] Bug 19080: Handle non-existing patrons gratefully > >This is a recurrent bug we have over the last years. When a script is >called with non-existent borrowernumber it will crashes. >We need to handle this gracefully instead of letting the script crashes. > >On bug 18403 a new subroutine is added to the codebase >(output_and_exit_if_error) to handle this kind of errors correctly. >Since it is not pushed yet, I propose to just redirect to a script that >handle it correctly (circulation.pl) instead of adding this message to >all these scripts. > >Test plan: >Hit different scripts from the members module and pass a non-existent >borrowernumber. >You must be redirected to circulation.pl with a friendly message. >--- > circ/circulation.pl | 8 +- > .../prog/en/modules/members/statistics.tt | 8 +- > members/boraccount.pl | 4 + > members/deletemem.pl | 4 + > members/discharge.pl | 143 +++++++++++---------- > members/files.pl | 5 + > members/mancredit.pl | 4 + > members/maninvoice.pl | 5 + > members/member-flags.pl | 5 + > members/member-password.pl | 5 + > members/memberentry.pl | 5 + > members/notices.pl | 4 + > members/pay.pl | 4 + > members/paycollect.pl | 4 + > members/printfeercpt.pl | 4 + > members/printinvoice.pl | 4 + > members/purchase-suggestions.pl | 5 +- > members/readingrec.pl | 10 +- > members/routing-lists.pl | 57 ++++---- > members/statistics.pl | 3 +- > members/summary-print.pl | 4 + > members/update-child.pl | 4 + > tools/viewlog.pl | 4 + > 23 files changed, 188 insertions(+), 115 deletions(-) > >diff --git a/circ/circulation.pl b/circ/circulation.pl >index fad8623fc3..ca4ed48439 100755 >--- a/circ/circulation.pl >+++ b/circ/circulation.pl >@@ -261,8 +261,8 @@ if ($findborrower) { > } > > # get the borrower information..... >-if ($borrowernumber) { >- $patron = Koha::Patrons->find( $borrowernumber ); >+$patron ||= Koha::Patrons->find( $borrowernumber ) if $borrowernumber; >+if ($patron) { > my $overdues = $patron->get_overdues; > my $issues = $patron->checkouts; > my $balance = $patron->account->balance; >@@ -442,8 +442,8 @@ if (@$barcodes) { > ################################################################################## > # BUILD HTML > # show all reserves of this borrower, and the position of the reservation .... >-if ($borrowernumber) { >- my $holds = Koha::Holds->search( { borrowernumber => $borrowernumber } ); >+if ($patron) { >+ my $holds = Koha::Holds->search( { borrowernumber => $borrowernumber } ); # FIXME must be Koha::Patron->holds > my $waiting_holds = $holds->waiting; > $template->param( > holds_count => $holds->count(), >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/members/statistics.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/members/statistics.tt >index ae5c276dc0..7397339eb1 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/statistics.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/statistics.tt >@@ -3,11 +3,7 @@ > [% USE Branches %] > [% INCLUDE 'doc-head-open.inc' %] > <title>Koha › Patrons › >-[% IF ( unknowuser ) %] >- Patron does not exist >-[% ELSE %] >- Statistics for [% INCLUDE 'patron-title.inc' %] >-[% END %] >+Statistics for [% INCLUDE 'patron-title.inc' %] > </title> > [% INCLUDE 'doc-head-close.inc' %] > <link rel="stylesheet" type="text/css" href="[% interface %]/[% theme %]/css/datatables.css" /> >@@ -30,7 +26,7 @@ > <div id="breadcrumbs"> > <a href="/cgi-bin/koha/mainpage.pl">Home</a> > › <a href="/cgi-bin/koha/members/members-home.pl">Patrons</a> >-› [% IF ( unknowuser ) %]Patron does not exist[% ELSE %]Statistics for [% firstname %] [% surname %] ([% cardnumber %])[% END %] >+› Statistics for [% firstname %] [% surname %] ([% cardnumber %]) > </div> > > <div id="doc3" class="yui-t1"> >diff --git a/members/boraccount.pl b/members/boraccount.pl >index 8abb373f2e..0cc9487f39 100755 >--- a/members/boraccount.pl >+++ b/members/boraccount.pl >@@ -54,6 +54,10 @@ my $action = $input->param('action') || ''; > > #get patron details > my $patron = Koha::Patrons->find( $borrowernumber ); >+unless ( $patron ) { >+ print $input->redirect("/cgi-bin/koha/circ/circulation.pl?borrowernumber=$borrowernumber"); >+ exit; >+} > > if ( $action eq 'reverse' ) { > ReversePayment( $input->param('accountlines_id') ); >diff --git a/members/deletemem.pl b/members/deletemem.pl >index 5ea015ada7..b03b5c8d90 100755 >--- a/members/deletemem.pl >+++ b/members/deletemem.pl >@@ -75,6 +75,10 @@ my $issues = GetPendingIssues($member); # FIXME: wasteful call when really, > my $countissues = scalar(@$issues); > > my $patron = Koha::Patrons->find( $member ); >+unless ( $patron ) { >+ print $input->redirect("/cgi-bin/koha/circ/circulation.pl?borrowernumber=$borrowernumber"); >+ exit; >+} > my $flags = C4::Members::patronflags( $patron->unblessed ); > my $userenv = C4::Context->userenv; > >diff --git a/members/discharge.pl b/members/discharge.pl >index b24c41b1db..a0af828363 100755 >--- a/members/discharge.pl >+++ b/members/discharge.pl >@@ -58,85 +58,86 @@ unless ( C4::Context->preference('useDischarge') ) { > exit; > } > >-if ( $input->param('borrowernumber') ) { >- $borrowernumber = $input->param('borrowernumber'); >+$borrowernumber = $input->param('borrowernumber'); > >- # Getting member data >- my $patron = Koha::Patrons->find( $borrowernumber ); >+my $patron = Koha::Patrons->find( $borrowernumber ); >+unless ( $patron ) { >+ print $input->redirect("/cgi-bin/koha/circ/circulation.pl?borrowernumber=$borrowernumber"); >+ exit; >+} > >- my $can_be_discharged = Koha::Patron::Discharge::can_be_discharged({ >- borrowernumber => $borrowernumber >- }); >+my $can_be_discharged = Koha::Patron::Discharge::can_be_discharged({ >+ borrowernumber => $borrowernumber >+}); > >- my $holds = $patron->holds; >- my $has_reserves = $holds->count; >+my $holds = $patron->holds; >+my $has_reserves = $holds->count; > >- # Generating discharge if needed >- if ( $input->param('discharge') and $can_be_discharged ) { >- my $is_discharged = Koha::Patron::Discharge::is_discharged({ >- borrowernumber => $borrowernumber, >+# Generating discharge if needed >+if ( $input->param('discharge') and $can_be_discharged ) { >+ my $is_discharged = Koha::Patron::Discharge::is_discharged({ >+ borrowernumber => $borrowernumber, >+ }); >+ unless ($is_discharged) { >+ Koha::Patron::Discharge::discharge({ >+ borrowernumber => $borrowernumber > }); >- unless ($is_discharged) { >- Koha::Patron::Discharge::discharge({ >- borrowernumber => $borrowernumber >- }); >- } >- eval { >- my $pdf_path = Koha::Patron::Discharge::generate_as_pdf( >- { borrowernumber => $borrowernumber, branchcode => $patron->branchcode } ); >- >- binmode(STDOUT); >- print $input->header( >- -type => 'application/pdf', >- -charset => 'utf-8', >- -attachment => "discharge_$borrowernumber.pdf", >- ); >- open my $fh, '<', $pdf_path; >- my @lines = <$fh>; >- close $fh; >- print @lines; >- exit; >- }; >- if ( $@ ) { >- carp $@; >- $template->param( messages => [ {type => 'error', code => 'unable_to_generate_pdf'} ] ); >- } > } >+ eval { >+ my $pdf_path = Koha::Patron::Discharge::generate_as_pdf( >+ { borrowernumber => $borrowernumber, branchcode => $patron->branchcode } ); >+ >+ binmode(STDOUT); >+ print $input->header( >+ -type => 'application/pdf', >+ -charset => 'utf-8', >+ -attachment => "discharge_$borrowernumber.pdf", >+ ); >+ open my $fh, '<', $pdf_path; >+ my @lines = <$fh>; >+ close $fh; >+ print @lines; >+ exit; >+ }; >+ if ( $@ ) { >+ carp $@; >+ $template->param( messages => [ {type => 'error', code => 'unable_to_generate_pdf'} ] ); >+ } >+} > >- # Already generated discharges >- my $validated_discharges = Koha::Patron::Discharge::get_validated({ >- borrowernumber => $borrowernumber, >- }); >+# Already generated discharges >+my $validated_discharges = Koha::Patron::Discharge::get_validated({ >+ borrowernumber => $borrowernumber, >+}); > >- $template->param( picture => 1 ) if $patron->image; >- >- $template->param( >- # FIXME The patron object should be passed to the template >- borrowernumber => $borrowernumber, >- title => $patron->title, >- initials => $patron->initials, >- surname => $patron->surname, >- borrowernumber => $borrowernumber, >- firstname => $patron->firstname, >- cardnumber => $patron->cardnumber, >- categorycode => $patron->categorycode, >- category_type => $patron->category->category_type, >- categoryname => $patron->category->description, >- address => $patron->address, >- streetnumber => $patron->streetnumber, >- streettype => $patron->streettype, >- address2 => $patron->address2, >- city => $patron->city, >- zipcode => $patron->zipcode, >- country => $patron->country, >- phone => $patron->phone, >- email => $patron->email, >- branchcode => $patron->branchcode, >- has_reserves => $has_reserves, >- can_be_discharged => $can_be_discharged, >- validated_discharges => $validated_discharges, >- ); >-} >+$template->param( picture => 1 ) if $patron->image; >+ >+$template->param( >+ # FIXME The patron object should be passed to the template >+ borrowernumber => $borrowernumber, >+ title => $patron->title, >+ initials => $patron->initials, >+ surname => $patron->surname, >+ borrowernumber => $borrowernumber, >+ firstname => $patron->firstname, >+ cardnumber => $patron->cardnumber, >+ categorycode => $patron->categorycode, >+ category_type => $patron->category->category_type, >+ categoryname => $patron->category->description, >+ address => $patron->address, >+ streetnumber => $patron->streetnumber, >+ streettype => $patron->streettype, >+ address2 => $patron->address2, >+ city => $patron->city, >+ zipcode => $patron->zipcode, >+ country => $patron->country, >+ phone => $patron->phone, >+ email => $patron->email, >+ branchcode => $patron->branchcode, >+ has_reserves => $has_reserves, >+ can_be_discharged => $can_be_discharged, >+ validated_discharges => $validated_discharges, >+); > > $template->param( dischargeview => 1, ); > >diff --git a/members/files.pl b/members/files.pl >index 0070fcf071..8cc25a918d 100755 >--- a/members/files.pl >+++ b/members/files.pl >@@ -64,6 +64,11 @@ if ( $op eq 'download' ) { > } > else { > my $patron = Koha::Patrons->find( $borrowernumber ); >+ unless ( $patron ) { >+ print $cgi->redirect("/cgi-bin/koha/circ/circulation.pl?borrowernumber=$borrowernumber"); >+ exit; >+ } >+ > my $patron_category = $patron->category; > $template->param(%{ $patron->unblessed}); > >diff --git a/members/mancredit.pl b/members/mancredit.pl >index 4855c24cde..5a93e956be 100755 >--- a/members/mancredit.pl >+++ b/members/mancredit.pl >@@ -43,6 +43,10 @@ my $flagsrequired = { borrowers => 1, updatecharges => 1 }; > my $borrowernumber=$input->param('borrowernumber'); > > my $patron = Koha::Patrons->find( $borrowernumber ); >+unless ( $patron ) { >+ print $input->redirect("/cgi-bin/koha/circ/circulation.pl?borrowernumber=$borrowernumber"); >+ exit; >+} > my $add=$input->param('add'); > > if ($add){ >diff --git a/members/maninvoice.pl b/members/maninvoice.pl >index 2c1c05f01f..bd24a10fd8 100755 >--- a/members/maninvoice.pl >+++ b/members/maninvoice.pl >@@ -43,6 +43,11 @@ my $flagsrequired = { borrowers => 1 }; > my $borrowernumber=$input->param('borrowernumber'); > > my $patron = Koha::Patrons->find( $borrowernumber ); >+unless ( $patron ) { >+ print $input->redirect("/cgi-bin/koha/circ/circulation.pl?borrowernumber=$borrowernumber"); >+ exit; >+} >+ > my $add=$input->param('add'); > if ($add){ > if ( checkauth( $input, 0, $flagsrequired, 'intranet' ) ) { >diff --git a/members/member-flags.pl b/members/member-flags.pl >index e7c24e9e04..158074a4fc 100755 >--- a/members/member-flags.pl >+++ b/members/member-flags.pl >@@ -27,6 +27,11 @@ my $input = new CGI; > my $flagsrequired = { permissions => 1 }; > my $member=$input->param('member'); > my $patron = Koha::Patrons->find( $member ); >+unless ( $patron ) { >+ print $input->redirect("/cgi-bin/koha/circ/circulation.pl?borrowernumber=$member"); >+ exit; >+} >+ > my $category_type = $patron->category->category_type; > my $bor = $patron->unblessed; > if( $category_type eq 'S' ) { >diff --git a/members/member-password.pl b/members/member-password.pl >index 4cf00bfde4..cb922da43c 100755 >--- a/members/member-password.pl >+++ b/members/member-password.pl >@@ -49,6 +49,11 @@ my $newpassword2 = $input->param('newpassword2'); > my @errors; > > my $patron = Koha::Patrons->find( $member ); >+unless ( $patron ) { >+ print $input->redirect("/cgi-bin/koha/circ/circulation.pl?borrowernumber=$member"); >+ exit; >+} >+ > my $category_type = $patron->category->category_type; > my $bor = $patron->unblessed; > >diff --git a/members/memberentry.pl b/members/memberentry.pl >index 050153442c..c58b2a9bff 100755 >--- a/members/memberentry.pl >+++ b/members/memberentry.pl >@@ -155,6 +155,11 @@ $template->param( "duplicate" => 1 ) if ( $op eq 'duplicate' ); > $template->param( "checked" => 1 ) if ( defined($nodouble) && $nodouble eq 1 ); > if ( $op eq 'modify' or $op eq 'save' or $op eq 'duplicate' ) { > my $patron = Koha::Patrons->find( $borrowernumber ); >+ unless ( $patron ) { >+ print $input->redirect("/cgi-bin/koha/circ/circulation.pl?borrowernumber=$borrowernumber"); >+ exit; >+ } >+ > $borrower_data = $patron->unblessed; > $borrower_data->{category_type} = $patron->category->category_type; > } >diff --git a/members/notices.pl b/members/notices.pl >index 977c921e89..9f0ab11623 100755 >--- a/members/notices.pl >+++ b/members/notices.pl >@@ -34,6 +34,10 @@ my $input=new CGI; > > my $borrowernumber = $input->param('borrowernumber'); > my $patron = Koha::Patrons->find( $borrowernumber ); >+unless ( $patron ) { >+ print $input->redirect("/cgi-bin/koha/circ/circulation.pl?borrowernumber=$borrowernumber"); >+ exit; >+} > my $borrower = $patron->unblessed; > > my ($template, $loggedinuser, $cookie) >diff --git a/members/pay.pl b/members/pay.pl >index e4d0a955d3..7c3f6ad8ae 100755 >--- a/members/pay.pl >+++ b/members/pay.pl >@@ -68,6 +68,10 @@ if ( !$borrowernumber ) { > > # get borrower details > my $patron = Koha::Patrons->find( $borrowernumber ); >+unless ( $patron ) { >+ print $input->redirect("/cgi-bin/koha/circ/circulation.pl?borrowernumber=$borrowernumber"); >+ exit; >+} > my $category = $patron->category; > our $borrower = $patron->unblessed; > $borrower->{description} = $category->description; >diff --git a/members/paycollect.pl b/members/paycollect.pl >index 3b8b9228a5..3576d10315 100755 >--- a/members/paycollect.pl >+++ b/members/paycollect.pl >@@ -50,6 +50,10 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user( > # get borrower details > my $borrowernumber = $input->param('borrowernumber'); > my $patron = Koha::Patrons->find( $borrowernumber ); >+unless ( $patron ) { >+ print $input->redirect("/cgi-bin/koha/circ/circulation.pl?borrowernumber=$borrowernumber"); >+ exit; >+} > my $borrower = $patron->unblessed; > my $category = $patron->category; > $borrower->{description} = $category->description; >diff --git a/members/printfeercpt.pl b/members/printfeercpt.pl >index 8863d1c373..f5933f16ab 100755 >--- a/members/printfeercpt.pl >+++ b/members/printfeercpt.pl >@@ -51,6 +51,10 @@ my $action = $input->param('action') || ''; > my $accountlines_id = $input->param('accountlines_id'); > > my $patron = Koha::Patrons->find( $borrowernumber ); >+unless ( $patron ) { >+ print $input->redirect("/cgi-bin/koha/circ/circulation.pl?borrowernumber=$borrowernumber"); >+ exit; >+} > my $category = $patron->category; > my $data = $patron->unblessed; > $data->{description} = $category->description; >diff --git a/members/printinvoice.pl b/members/printinvoice.pl >index ad823d5005..ff2c0d1ed6 100755 >--- a/members/printinvoice.pl >+++ b/members/printinvoice.pl >@@ -50,6 +50,10 @@ my $action = $input->param('action') || ''; > my $accountlines_id = $input->param('accountlines_id'); > > my $patron = Koha::Patrons->find( $borrowernumber ); >+unless ( $patron ) { >+ print $input->redirect("/cgi-bin/koha/circ/circulation.pl?borrowernumber=$borrowernumber"); >+ exit; >+} > my $category = $patron->category; > my $data = $patron->unblessed; > $data->{description} = $category->description; >diff --git a/members/purchase-suggestions.pl b/members/purchase-suggestions.pl >index 9e352590e1..5acc3cc2e6 100755 >--- a/members/purchase-suggestions.pl >+++ b/members/purchase-suggestions.pl >@@ -42,8 +42,11 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user( > > my $borrowernumber = $input->param('borrowernumber'); > >-# Set informations for the patron > my $patron = Koha::Patrons->find( $borrowernumber ); >+unless ( $patron ) { >+ print $input->redirect("/cgi-bin/koha/circ/circulation.pl?borrowernumber=$borrowernumber"); >+ exit; >+} > my $category = $patron->category; > my $data = $patron->unblessed; > $data->{description} = $category->description; >diff --git a/members/readingrec.pl b/members/readingrec.pl >index b0b563c816..ba5e17497d 100755 >--- a/members/readingrec.pl >+++ b/members/readingrec.pl >@@ -55,15 +55,19 @@ my $patron; > if ($input->param('cardnumber')) { > $cardnumber = $input->param('cardnumber'); > $patron = Koha::Patrons->find( { cardnumber => $cardnumber } ); >- $data = $patron->unblessed; >- $borrowernumber = $data->{'borrowernumber'}; # we must define this as it is used to retrieve other data about the patron > } > if ($input->param('borrowernumber')) { > $borrowernumber = $input->param('borrowernumber'); > $patron = Koha::Patrons->find( $borrowernumber ); >- $data = $patron->unblessed; > } > >+unless ( $patron ) { >+ print $input->redirect("/cgi-bin/koha/circ/circulation.pl?borrowernumber=$borrowernumber"); >+ exit; >+} >+$data = $patron->unblessed; >+$borrowernumber = $patron->borrowernumber; >+ > my $order = 'date_due desc'; > my $limit = 0; > my $issues = (); >diff --git a/members/routing-lists.pl b/members/routing-lists.pl >index 6b024bdc16..5726a20ea3 100755 >--- a/members/routing-lists.pl >+++ b/members/routing-lists.pl >@@ -48,37 +48,38 @@ my $borrowernumber = $query->param('borrowernumber'); > > my $branch = C4::Context->userenv->{'branch'}; > >-# get the borrower information..... >-my ( $patron, $patron_info ); >-if ($borrowernumber) { >- $patron = Koha::Patrons->find( $borrowernumber ); >- my $category = $patron->category; >- $patron_info = $patron->unblessed; >- $patron_info->{description} = $category->description; >- $patron_info->{category_type} = $category->category_type; >- >- my $count; >- my @borrowerSubscriptions; >- ($count, @borrowerSubscriptions) = GetSubscriptionsFromBorrower($borrowernumber ); >- my @subscripLoop; >- >- foreach my $num_res (@borrowerSubscriptions) { >- my %getSubscrip; >- $getSubscrip{subscriptionid} = $num_res->{'subscriptionid'}; >- $getSubscrip{title} = $num_res->{'title'}; >- $getSubscrip{borrowernumber} = $num_res->{'borrowernumber'}; >- push( @subscripLoop, \%getSubscrip ); >- } >- >- $template->param( >- countSubscrip => scalar @subscripLoop, >- subscripLoop => \@subscripLoop, >- routinglistview => 1 >- ); >+my $patron = Koha::Patrons->find( $borrowernumber ) if $borrowernumber; >+unless ( $patron ) { >+ print $query->redirect("/cgi-bin/koha/circ/circulation.pl?borrowernumber=$borrowernumber"); >+ exit; >+} > >- $template->param( adultborrower => 1 ) if ( $patron_info->{category_type} =~ /^(A|I)$/ ); >+my $category = $patron->category; >+my $patron_info = $patron->unblessed; >+$patron_info->{description} = $category->description; >+$patron_info->{category_type} = $category->category_type; >+ >+my $count; >+my @borrowerSubscriptions; >+($count, @borrowerSubscriptions) = GetSubscriptionsFromBorrower($borrowernumber ); >+my @subscripLoop; >+ >+foreach my $num_res (@borrowerSubscriptions) { >+ my %getSubscrip; >+ $getSubscrip{subscriptionid} = $num_res->{'subscriptionid'}; >+ $getSubscrip{title} = $num_res->{'title'}; >+ $getSubscrip{borrowernumber} = $num_res->{'borrowernumber'}; >+ push( @subscripLoop, \%getSubscrip ); > } > >+$template->param( >+ countSubscrip => scalar @subscripLoop, >+ subscripLoop => \@subscripLoop, >+ routinglistview => 1 >+); >+ >+$template->param( adultborrower => 1 ) if ( $patron_info->{category_type} =~ /^(A|I)$/ ); >+ > ################################################################################## > > $template->param(%$patron_info); >diff --git a/members/statistics.pl b/members/statistics.pl >index 5979e7f1dd..55d5ed02b5 100755 >--- a/members/statistics.pl >+++ b/members/statistics.pl >@@ -50,8 +50,7 @@ my $borrowernumber = $input->param('borrowernumber'); > # Set informations for the patron > my $patron = Koha::Patrons->find( $borrowernumber ); > unless ( $patron ) { >- $template->param (unknowuser => 1); >- output_html_with_http_headers $input, $cookie, $template->output; >+ print $input->redirect("/cgi-bin/koha/circ/circulation.pl?borrowernumber=$borrowernumber"); > exit; > } > >diff --git a/members/summary-print.pl b/members/summary-print.pl >index 546e93121b..a6a0e36194 100755 >--- a/members/summary-print.pl >+++ b/members/summary-print.pl >@@ -44,6 +44,10 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user( > ); > > my $patron = Koha::Patrons->find( $borrowernumber ); >+unless ( $patron ) { >+ print $input->redirect("/cgi-bin/koha/circ/circulation.pl?borrowernumber=$borrowernumber"); >+ exit; >+} > my $category = $patron->category; > my $data = $patron->unblessed; > $data->{description} = $category->description; >diff --git a/members/update-child.pl b/members/update-child.pl >index bedf9b5fb3..c14db87ea7 100755 >--- a/members/update-child.pl >+++ b/members/update-child.pl >@@ -73,6 +73,10 @@ if ( $op eq 'multi' ) { > > elsif ( $op eq 'update' ) { > my $patron = Koha::Patrons->find( $borrowernumber ); >+ unless ( $patron ) { >+ print $input->redirect("/cgi-bin/koha/circ/circulation.pl?borrowernumber=$borrowernumber"); >+ exit; >+ } > my $member = $patron->unblessed; > $member->{'guarantorid'} = 0; > $member->{'categorycode'} = $catcode; >diff --git a/tools/viewlog.pl b/tools/viewlog.pl >index 9af64d5fb6..00469ba845 100755 >--- a/tools/viewlog.pl >+++ b/tools/viewlog.pl >@@ -74,6 +74,10 @@ if ( $src eq 'circ' ) { > use C4::Members::Attributes qw(GetBorrowerAttributes); > my $borrowernumber = $object; > my $patron = Koha::Patrons->find( $borrowernumber ); >+ unless ( $patron ) { >+ print $input->redirect("/cgi-bin/koha/circ/circulation.pl?borrowernumber=$borrowernumber"); >+ exit; >+ } > $template->param( picture => 1 ) if $patron->image; > my $data = $patron->unblessed; > >-- >2.11.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 19080
:
65834
|
65854
|
66036
|
66190
|
66191
|
66383
|
66384
|
66385
|
66386