Koha/opac/opac-alert-subscribe.pl
Aleisha Amohia 925734ee78 Bug 10357: Adding link for email notification for new subscription issues to opac-detail
This patch adds the link to the opac-detail.pl page so it is less hard
to find.
Update: Fixing link to look like button, adding span ID around element
Update: Changing ID to Class
Update: Comment 14 fixes

To test:
1) Add a subscription, attach it to a record and select a notice under
'Patron notification'. Hit Next, fill in some fields and save the
subscription
2) Go to that record detail page in the OPAC. Go to the subscriptions
tab, click 'More details'. Notice how many clicks it takes to see the
'Subscribe' button
3) Apply patch and go back to the details page for the record
4) Notice now there is a 'subscribe' button
5) Confirm this button works as expected and you are redirected to
the detail page
6) Confirm 'Cancel' works and redirect works too
7) Go down to 'More details' and confirm the buttons work and you are
redirected back to the serial-issues plage from here

Sponsored-by: Catalyst IT

Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr>
Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr>

Followed test plan, works as expected.
Signed-off-by: Marc Véron <veron@veron.ch>

Re-tested, works as expected.
Signed-off-by: Marc Véron <veron@veron.ch>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
2017-04-21 10:58:33 -04:00

100 lines
3 KiB
Perl
Executable file

#!/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 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.
#
# You should have received a copy of the GNU General Public License
# along with Koha; if not, see <http://www.gnu.org/licenses>.
use strict;
use warnings;
use CGI qw ( -utf8 );
use C4::Auth;
use C4::Output;
use C4::Context;
use C4::Koha;
use C4::Letters;
use C4::Serials;
my $query = new CGI;
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 $biblionumber = $query->param('biblionumber');
( $template, $loggedinuser, $cookie ) = get_template_and_user(
{
template_name => "opac-alert-subscribe.tt",
query => $query,
type => "opac",
authnotrequired => 0, # user must logged in to request
# subscription notifications
debug => 1,
}
);
if ( $op eq 'alert_confirmed' ) {
addalert( $loggedinuser, $alerttype, $externalid );
if ( $alerttype eq 'issue_ser' ) {
print $query->redirect(
"opac-serial-issues.pl?biblionumber=$biblionumber");
exit;
} elsif ( $alerttype eq 'issue_det' ) {
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_ser' ) {
print $query->redirect(
"opac-serial-issues.pl?biblionumber=$biblionumber");
exit;
} elsif ( $alerttype eq 'issue_det' ) {
print $query->redirect(
"opac-detail.pl?biblionumber=$biblionumber");
exit;
}
}
else {
if ( $alerttype eq 'issue_ser' || $alerttype eq 'issue_det' ) { # alert for subscription issues
my $subscription = &GetSubscription($externalid);
$template->param(
alerttype => $alerttype,
"typeissue$op" => 1,
bibliotitle => $subscription->{bibliotitle},
notes => $subscription->{notes},
externalid => $externalid,
biblionumber => $biblionumber,
);
} else {
}
}
output_html_with_http_headers $query, $cookie, $template->output;