X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=opac%2Fopac-serial-issues.pl;h=b94935feee701be4b51d1ae766a4c2b2b2114a43;hb=afc7a991956ba8ebe8b9be79a56bcdef01bf2003;hp=298c0905441d9af3a7dbf3cb3637a9f0fe4e09f4;hpb=100e6a9808ead4ee8d951da59ead1550e75bb4c3;p=koha.git diff --git a/opac/opac-serial-issues.pl b/opac/opac-serial-issues.pl index 298c090544..b94935feee 100755 --- a/opac/opac-serial-issues.pl +++ b/opac/opac-serial-issues.pl @@ -4,32 +4,30 @@ # # This file is part of Koha. # -# Koha is free software; you can redistribute it and/or modify it under the -# terms of the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your option) any later -# version. +# Koha is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. # -# Koha is distributed in the hope that it will be useful, but WITHOUT ANY -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR -# A PARTICULAR PURPOSE. See the GNU General Public License for more details. +# Koha is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. # -# You should have received a copy of the GNU General Public License along with -# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place, -# Suite 330, Boston, MA 02111-1307 USA +# You should have received a copy of the GNU General Public License +# along with Koha; if not, see . -# $Id$ -use strict; -use CGI; +use Modern::Perl; + +use CGI qw ( -utf8 ); use C4::Auth; use C4::Koha; -use C4::Date; use C4::Serials; use C4::Letters; use C4::Output; use C4::Context; - my $query = new CGI; my $op = $query->param('op'); my $dbh = C4::Context->dbh; @@ -42,28 +40,43 @@ my $sth; my ( $template, $loggedinuser, $cookie ); my $biblionumber = $query->param('biblionumber'); if ( $selectview eq "full" ) { - my $subscriptions = GetFullSubscriptionsFromBiblionumber($biblionumber); - - my $title = $subscriptions->[0]{bibliotitle}; - my $yearmin = $subscriptions->[0]{year}; - my $yearmax = $subscriptions->[ scalar(@$subscriptions) - 1 ]{year}; - ( $template, $loggedinuser, $cookie ) = get_template_and_user( { - template_name => "opac-full-serial-issues.tmpl", + template_name => "opac-full-serial-issues.tt", query => $query, type => "opac", authnotrequired => 1, debug => 1, } ); + 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 + if ($loggedinuser) { + foreach (@$subscriptions) { + my $subscription = Koha::Subscriptions->find( $_->{subscriptionid} ); + my $subscriber = $subscription->subscribers->find( $loggedinuser ); + $_->{hasalert} = 1 if $subscriber; + } + } + + my $title = $subscriptions->[0]->{bibliotitle}; + my $yearmin = $subscriptions->[0]->{year}; + my $yearmax = $subscriptions->[ -1 ]->{year}; # replace CR by
in librarian note # $subscription->{opacnote} =~ s/\n/\/g; $template->param( - biblionumber => $query->param('biblionumber'), - years => $subscriptions, + biblionumber => scalar $query->param('biblionumber'), + years => $subscriptioninformation, yearmin => $yearmin, yearmax => $yearmax, bibliotitle => $title, @@ -73,11 +86,9 @@ if ( $selectview eq "full" ) { } else { - my $subscriptions = GetSubscriptionsFromBiblionumber($biblionumber); - ( $template, $loggedinuser, $cookie ) = get_template_and_user( { - template_name => "opac-serial-issues.tmpl", + template_name => "opac-serial-issues.tt", query => $query, type => "opac", authnotrequired => 1, @@ -85,12 +96,25 @@ else { } ); + my $subscriptions = GetSubscriptionsFromBiblionumber($biblionumber); + # now, check is there is an alert subscription for one of the subscriptions + if ($loggedinuser) { + foreach (@$subscriptions) { + my $subscription = Koha::Subscriptions->find( $_->{subscriptionid} ); + my $subscriber = $subscription->subscribers->find( $loggedinuser ); + $_->{hasalert} = 1 if $subscriber; + } + } + # replace CR by
in librarian note # $subscription->{opacnote} =~ s/\n/\/g; + my $title = $subscriptions->[0]->{bibliotitle}; + $template->param( - biblionumber => $query->param('biblionumber'), + biblionumber => scalar $query->param('biblionumber'), subscription_LOOP => $subscriptions, + bibliotitle => $title, ); } output_html_with_http_headers $query, $cookie, $template->output;