@@ -, +, @@ appeared --- C4/Serials.pm | 2 ++ koha-tmpl/intranet-tmpl/prog/en/includes/blocking_errors.inc | 2 ++ koha-tmpl/intranet-tmpl/prog/en/modules/serials/routing.tt | 10 +++++++++- .../intranet-tmpl/prog/en/modules/serials/subscription-add.tt | 9 ++++++++- .../prog/en/modules/serials/subscription-detail.tt | 7 ++++++- .../prog/en/modules/serials/subscription-renew.tt | 2 ++ serials/routing.pl | 7 ++++++- serials/serials-collection.pl | 5 +++++ serials/serials-edit.pl | 1 + serials/subscription-add.pl | 3 +++ serials/subscription-detail.pl | 4 ++++ serials/subscription-renew.pl | 4 ++++ 12 files changed, 52 insertions(+), 4 deletions(-) --- a/C4/Serials.pm +++ a/C4/Serials.pm @@ -291,6 +291,8 @@ sub GetSubscription { $sth->execute($subscriptionid); my $subscription = $sth->fetchrow_hashref; + return unless $subscription; + $subscription->{cannotedit} = not can_edit_subscription( $subscription ); # Add additional fields to the subscription into a new key "additional_fields" --- a/koha-tmpl/intranet-tmpl/prog/en/includes/blocking_errors.inc +++ a/koha-tmpl/intranet-tmpl/prog/en/includes/blocking_errors.inc @@ -7,6 +7,8 @@
This bibliographic record does not exist.
[% CASE 'unknown_item' %]
This item does not exist.
+ [% CASE 'unknown_subscription' %] +
This subscription does not exist.
[% CASE %][% blocking_error %] [% END %] --- a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/routing.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/routing.tt @@ -7,7 +7,14 @@ [% INCLUDE 'header.inc' %] [% INCLUDE 'serials-search.inc' %] - +
@@ -15,6 +22,7 @@
+[% INCLUDE 'blocking_errors.inc' %] [% IF ( op ) %]

Create routing list for [% title |html %]

--- a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-add.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-add.tt @@ -17,7 +17,14 @@ fieldset.rows li.radio { width: 100%; } /* override staff-global.css */ [% INCLUDE 'header.inc' %] [% INCLUDE 'serials-search.inc' %] - + +[% INCLUDE 'blocking_errors.inc' %]
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-detail.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-detail.tt @@ -12,7 +12,12 @@ [% INCLUDE 'header.inc' %] [% INCLUDE 'serials-search.inc' %] - +
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-renew.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-renew.tt @@ -11,6 +11,8 @@
+[% INCLUDE 'blocking_errors.inc' %] + [% IF op == 'renew' OR op =='multi_renew' %] [% IF op == 'renew' %] Subscription renewed. --- a/serials/routing.pl +++ a/serials/routing.pl @@ -61,6 +61,11 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user( } ); +my $subs = GetSubscription($subscriptionid); + +output_and_exit( $query, $cookie, $template, 'unknown_subscription') + unless $subs; + if($op eq 'delete'){ delroutingmember($routingid,$subscriptionid); } @@ -76,7 +81,7 @@ if($op eq 'save'){ } my @routinglist = getroutinglist($subscriptionid); -my $subs = GetSubscription($subscriptionid); + my ($count,@serials) = GetSerials($subscriptionid); my $serialdates = GetLatestSerials($subscriptionid,$count); --- a/serials/serials-collection.pl +++ a/serials/serials-collection.pl @@ -104,6 +104,7 @@ if($op eq 'gennext' && @subscriptionid){ last if HasSubscriptionExpired($subscriptionid) > 0; } print $query->redirect('/cgi-bin/koha/serials/serials-collection.pl?subscriptionid='.$subscriptionid); + exit; } my $subscriptioncount; @@ -113,6 +114,7 @@ if (@subscriptionid){ my $closed = 0; foreach my $subscriptionid (@subscriptionid){ my $subs= GetSubscription($subscriptionid); + next unless $subs; $closed = 1 if $subs->{closed}; $subs->{opacnote} =~ s/\n/\/g; @@ -134,6 +136,9 @@ if (@subscriptionid){ my $tmpsubscription= GetFullSubscription($subscriptionid); @subscriptioninformation=(@$tmpsubscription,@subscriptioninformation); } + + output_and_exit( $query, $cookie, $template, 'unknown_subscription') unless @subscriptioninformation; + $template->param(closed => $closed); $subscriptions=PrepareSerialsData(\@subscriptioninformation); $subscriptioncount = CountSubscriptionFromBiblionumber($subscriptiondescs->[0]{'biblionumber'}); --- a/serials/serials-edit.pl +++ a/serials/serials-edit.pl @@ -112,6 +112,7 @@ unless ( @serialids ) { $string =~ s/,$//; print $query->redirect($string); + exit; } my ( $template, $loggedinuser, $cookie ) = get_template_and_user( --- a/serials/subscription-add.pl +++ a/serials/subscription-add.pl @@ -69,6 +69,9 @@ if ($op eq 'modify' || $op eq 'dup' || $op eq 'modsubscription') { my $subscriptionid = $query->param('subscriptionid'); $subs = GetSubscription($subscriptionid); + output_and_exit( $query, $cookie, $template, 'unknown_subscription') + unless $subs; + ## FIXME : Check rights to edit if mod. Could/Should display an error message. if ($subs->{'cannotedit'} && $op eq 'modify'){ carp "Attempt to modify subscription $subscriptionid by ".C4::Context->userenv->{'id'}." not allowed"; --- a/serials/subscription-detail.pl +++ a/serials/subscription-detail.pl @@ -62,6 +62,10 @@ my ($template, $loggedinuser, $cookie) my $subs = GetSubscription($subscriptionid); + +output_and_exit( $query, $cookie, $template, 'unknown_subscription') + unless $subs; + $subs->{enddate} ||= GetExpirationDate($subscriptionid); my ($totalissues,@serialslist) = GetSerials($subscriptionid); --- a/serials/subscription-renew.pl +++ a/serials/subscription-renew.pl @@ -75,6 +75,9 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user( if ( $op eq "renew" ) { # Do not use this script with op=renew and @subscriptionids > 1! my $subscriptionid = $subscriptionids[0]; + # Make sure the subscription exists + my $subscription = GetSubscription( $subscriptionid ); + output_and_exit( $query, $cookie, $template, 'unknown_subscription') unless $subscription; my $startdate = output_pref( { str => scalar $query->param('startdate'), dateonly => 1, dateformat => 'iso' } ); ReNewSubscription( $subscriptionid, $loggedinuser, @@ -95,6 +98,7 @@ if ( $op eq "renew" ) { } else { my $subscriptionid = $subscriptionids[0]; my $subscription = GetSubscription($subscriptionid); + output_and_exit( $query, $cookie, $template, 'unknown_subscription') unless $subscription; if ($subscription->{'cannotedit'}){ carp "Attempt to renew subscription $subscriptionid by ".C4::Context->userenv->{'id'}." not allowed"; print $query->redirect("/cgi-bin/koha/serials/subscription-detail.pl?subscriptionid=$subscriptionid"); --