X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=opac%2Fopac-alert-subscribe.pl;h=c35b341e375a91e03114fefcb060d0196e1f88c6;hb=39e49eb91dfb157127aa65554600425d47e4513f;hp=d0b68b195f610b1bc1e635bdfbf2878fa95f9d49;hpb=16c30c0d51b98b948ffa27606fd2ebb18f6de934;p=srvgit diff --git a/opac/opac-alert-subscribe.pl b/opac/opac-alert-subscribe.pl index d0b68b195f..c35b341e37 100755 --- a/opac/opac-alert-subscribe.pl +++ b/opac/opac-alert-subscribe.pl @@ -4,86 +4,86 @@ # # 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 . -use strict; -use CGI; -use C4::Auth; -use C4::Dates; -use C4::Output; +use Modern::Perl; +use CGI qw ( -utf8 ); +use C4::Auth qw( get_template_and_user ); +use C4::Output qw( output_html_with_http_headers ); use C4::Context; -use C4::Koha; -use C4::Letters; -use C4::Serials; +use C4::Serials qw( GetSubscription ); -my $query = new CGI; -my $op = $query->param('op'); +my $query = CGI->new; +my $op = $query->param('op') || ''; my $dbh = C4::Context->dbh; -my $sth; my ( $template, $loggedinuser, $cookie ); -my $externalid = $query->param('externalid'); -my $alerttype = $query->param('alerttype'); +my $subscriptionid = $query->param('subscriptionid'); +my $referer = $query->param('referer') || 'detail'; my $biblionumber = $query->param('biblionumber'); ( $template, $loggedinuser, $cookie ) = get_template_and_user( { - template_name => "opac-alert-subscribe.tmpl", + template_name => "opac-alert-subscribe.tt", query => $query, type => "opac", - authnotrequired => 1, - debug => 1, + authnotrequired => 0, # user must logged in to request + # subscription notifications } ); +my $subscription = Koha::Subscriptions->find( $subscriptionid ); +my $logged_in_patron = Koha::Patrons->find( $loggedinuser ); + if ( $op eq 'alert_confirmed' ) { - addalert( $loggedinuser, $alerttype, $externalid ); - if ( $alerttype eq 'issue' ) { + $subscription->add_subscriber( $logged_in_patron ); + if ( $referer eq 'serial' ) { print $query->redirect( "opac-serial-issues.pl?biblionumber=$biblionumber"); exit; + } else { + print $query->redirect( + "opac-detail.pl?biblionumber=$biblionumber"); + exit; } } elsif ( $op eq 'cancel_confirmed' ) { - my $alerts = getalert( $loggedinuser, $alerttype, $externalid ); - warn "CANCEL confirmed : $loggedinuser, $alerttype, $externalid".Data::Dumper::Dumper( $alerts ); - foreach (@$alerts) - { # we are supposed to have only 1 result, but just in case... - delalert( $_->{alertid} ); - } - if ( $alerttype eq 'issue' ) { + $subscription->remove_subscriber( $logged_in_patron ); + warn "CANCEL confirmed : $loggedinuser, $subscriptionid"; + if ( $referer eq 'serial' ) { print $query->redirect( "opac-serial-issues.pl?biblionumber=$biblionumber"); exit; + } else { + print $query->redirect( + "opac-detail.pl?biblionumber=$biblionumber"); + exit; } + } else { - if ( $alerttype eq 'issue' ) { # alert for subscription issues - my $subscription = &GetSubscription($externalid); - $template->param( - "typeissue$op" => 1, - bibliotitle => $subscription->{bibliotitle}, - notes => $subscription->{notes}, - externalid => $externalid, - biblionumber => $biblionumber, - ); - } - else { - } - + my $subscription = &GetSubscription($subscriptionid); + $template->param( + referer => $referer, + "typeissue$op" => 1, + bibliotitle => $subscription->{bibliotitle}, + notes => $subscription->{notes}, + subscriptionid => $subscriptionid, + biblionumber => $biblionumber, + ); } -output_html_with_http_headers $query, $cookie, $template->output; +output_html_with_http_headers $query, $cookie, $template->output, undef, { force_no_caching => 1 };