);
my $subscriptions = GetFullSubscriptionsFromBiblionumber($biblionumber);
my $subscriptioninformation=PrepareSerialsData($subscriptions);
+ # PrepareSerialsData does some bogus stuff that the template could handle
+ # But at least it sorts the array by the year field so we dont have to
+ # find 'manage' if its there
+ if ($subscriptioninformation->[0]->{year} eq 'manage') {
+ shift @{$subscriptioninformation};
+ }
+
# now, check is there is an alert subscription for one of the subscriptions
- foreach (@$subscriptions) {
- if (getalert($loggedinuser,'issue',$_->{subscriptionid})) {
- $_->{hasalert} = 1;
+ if ($loggedinuser) {
+ foreach (@$subscriptions) {
+ if (getalert($loggedinuser,'issue',$_->{subscriptionid})) {
+ $_->{hasalert} = 1;
+ }
}
}
- my $title = $subscriptions->[0]{bibliotitle};
- my $yearmin = $subscriptions->[0]{year};
- my $yearmax = $subscriptions->[ scalar(@$subscriptions) - 1 ]{year};
+ my $title = $subscriptions->[0]->{bibliotitle};
+ my $yearmin = $subscriptions->[0]->{year};
+ my $yearmax = $subscriptions->[ -1 ]->{year};
# replace CR by <br> in librarian note
my $subscriptions = GetSubscriptionsFromBiblionumber($biblionumber);
# now, check is there is an alert subscription for one of the subscriptions
- foreach (@$subscriptions) {
- my $subscription = getalert($loggedinuser,'issue',$_->{subscriptionid});
- if (@$subscription[0]) {
- $_->{hasalert} = 1;
+ if ($loggedinuser){
+ foreach (@$subscriptions) {
+ my $subscription = getalert($loggedinuser,'issue',$_->{subscriptionid});
+ if (@$subscription[0]) {
+ $_->{hasalert} = 1;
+ }
}
}