X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;ds=inline;f=opac%2Fopac-serial-issues.pl;h=b5349740c59e5bbcae40d77afc6ef24898e728a9;hb=1a58e8cde36d8f8b91d16dac50156812e42ea78f;hp=28b88599f691b81a3db5c040556665cb31beb8f1;hpb=93ff09d081d2fb6d2732ad8d6522517508ae31ed;p=koha.git diff --git a/opac/opac-serial-issues.pl b/opac/opac-serial-issues.pl index 28b88599f6..b5349740c5 100755 --- a/opac/opac-serial-issues.pl +++ b/opac/opac-serial-issues.pl @@ -1,57 +1,118 @@ #!/usr/bin/perl +# Copyright 2000-2002 Katipo Communications +# +# 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 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., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + use strict; +use warnings; + use CGI; use C4::Auth; use C4::Koha; -use C4::Date; -use C4::Bull; +use C4::Dates; +use C4::Serials; +use C4::Letters; use C4::Output; -use C4::Interface::CGI::Output; use C4::Context; -use HTML::Template; -my $query = new CGI; -my $op = $query->param('op'); -my $dbh = C4::Context->dbh; + +my $query = new CGI; +my $op = $query->param('op'); +my $dbh = C4::Context->dbh; +my $selectview = $query->param('selectview'); +$selectview = C4::Context->preference("SubscriptionHistory") unless $selectview; + my $sth; + # my $id; -my ($template, $loggedinuser, $cookie); +my ( $template, $loggedinuser, $cookie ); my $biblionumber = $query->param('biblionumber'); -my $subscriptions = get_subscription_list_from_biblionumber($biblionumber); - -($template, $loggedinuser, $cookie) -= get_template_and_user({template_name => "opac-serial-issues.tmpl", - query => $query, - type => "opac", - authnotrequired => 1, - debug => 1, - }); - -# replace CR by
in librarian note -# $subscription->{opacnote} =~ s/\n/\/g; - -$template->param( - biblionumber => $query->param('biblionumber'), - subscription_LOOP => $subscriptions -# startdate => format_date($subscription->{startdate}), -# periodicity => $subscription->{periodicity}, -# dow => $subscription->{dow}, -# numberlength => $subscription->{numberlength}, -# weeklength => $subscription->{weeklength}, -# monthlength => $subscription->{monthlength}, -# opacnote => $subscription->{opacnote}, -# numberingmethod => $subscription->{numberingmethod}, -# arrivalplanified => $subscription->{arrivalplanified}, -# status => $subscription->{status}, -# biblionumber => $subscription->{biblionumber}, -# bibliotitle => $subscription->{bibliotitle}, -# notes => $subscription->{notes}, -# subscriptionid => $subscription->{subscriptionid} - ); -# $template->param( -# "periodicity$subscription->{periodicity}" => 1, -# "arrival$subscription->{dow}" => 1, -# ); +if ( $selectview eq "full" ) { + ( $template, $loggedinuser, $cookie ) = get_template_and_user( + { + template_name => "opac-full-serial-issues.tmpl", + 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 + foreach (@$subscriptions) { + if (getalert($loggedinuser,'issue',$_->{subscriptionid})) { + $_->{hasalert} = 1; + } + } + + 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 => $subscriptioninformation, + yearmin => $yearmin, + yearmax => $yearmax, + bibliotitle => $title, + suggestion => C4::Context->preference("suggestion"), + virtualshelves => C4::Context->preference("virtualshelves"), + ); + +} +else { + ( $template, $loggedinuser, $cookie ) = get_template_and_user( + { + template_name => "opac-serial-issues.tmpl", + query => $query, + type => "opac", + authnotrequired => 1, + debug => 1, + } + ); + + 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; + } + } + + # replace CR by
in librarian note + # $subscription->{opacnote} =~ s/\n/\/g; + $template->param( + biblionumber => $query->param('biblionumber'), + subscription_LOOP => $subscriptions, + ); +} output_html_with_http_headers $query, $cookie, $template->output;