@@ -, +, @@ subscription issues to opac-detail --- .../bootstrap/en/modules/opac-alert-subscribe.tt | 4 ++-- .../opac-tmpl/bootstrap/en/modules/opac-detail.tt | 11 +++++++++++ .../bootstrap/en/modules/opac-serial-issues.tt | 4 ++-- opac/opac-alert-subscribe.pl | 19 ++++++++++++++----- opac/opac-detail.pl | 13 ++++++++++++- opac/opac-serial-issues.pl | 11 +++++++++-- 6 files changed, 50 insertions(+), 12 deletions(-) --- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-alert-subscribe.tt +++ a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-alert-subscribe.tt @@ -25,7 +25,7 @@

[% bibliotitle %]

[% IF ( notes ) %]

[% notes %]

[% END %] - + @@ -39,7 +39,7 @@

[% bibliotitle %]

[% IF ( notes ) %]

[% notes %]

[% END %] - + --- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-detail.tt +++ a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-detail.tt @@ -810,6 +810,17 @@

[% subscription.subscriptionnotes FILTER html_line_break %]

[% END %]

Subscription from: [% subscription.histstartdate | $KohaDates %] to:[% IF ( subscription.histenddate ) %] [% subscription.histenddate | $KohaDates %] [% ELSE %] now (current)[% END %]

+ [% IF ( subscription.letter ) %] + [% IF ( loggedinusername ) %] + [% IF ( subscription.hasalert ) %] + You have subscribed to email notification on new issues. Cancel email notification + [% ELSE %] + Subscribe to email notification on new issues + [% END %] + [% ELSE %] + You must log in if you want to subscribe to email notification on new issues + [% END %] + [% END %] [% IF ( subscription.missinglist ) %]

Missing issues: [% subscription.missinglist %]

[% END %] --- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-serial-issues.tt +++ a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-serial-issues.tt @@ -137,11 +137,11 @@ [% IF ( subscription_LOO.letter ) %] [% IF ( loggedinusername ) %] [% IF ( subscription_LOO.hasalert ) %] - You have subscribed to email notification on new issues + You have subscribed to email notification on new issues Cancel email notification [% ELSE %] - + Subscribe to email notification on new issues [% END %] --- a/opac/opac-alert-subscribe.pl +++ a/opac/opac-alert-subscribe.pl @@ -53,10 +53,14 @@ my $biblionumber = $query->param('biblionumber'); if ( $op eq 'alert_confirmed' ) { addalert( $loggedinuser, $alerttype, $externalid ); - if ( $alerttype eq 'issue' ) { + 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' ) { @@ -66,25 +70,30 @@ elsif ( $op eq 'cancel_confirmed' ) { { # we are supposed to have only 1 result, but just in case... delalert( $_->{alertid} ); } - if ( $alerttype eq 'issue' ) { + 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' ) { # alert for subscription issues + 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 { + } else { } } --- a/opac/opac-detail.pl +++ a/opac/opac-detail.pl @@ -40,6 +40,7 @@ use C4::XSLT; use C4::ShelfBrowser; use C4::Reserves; use C4::Charset; +use C4::Letters; use MARC::Record; use MARC::Field; use List::MoreUtils qw/any none/; @@ -569,15 +570,25 @@ foreach my $subscription (@subscriptions) { $cell{histstartdate} = $subscription->{histstartdate}; $cell{histenddate} = $subscription->{histenddate}; $cell{branchcode} = $subscription->{branchcode}; - $cell{hasalert} = $subscription->{hasalert}; $cell{callnumber} = $subscription->{callnumber}; $cell{closed} = $subscription->{closed}; + $cell{letter} = $subscription->{letter}; + $cell{biblionumber} = $subscription->{biblionumber}; #get the three latest serials. $serials_to_display = $subscription->{opacdisplaycount}; $serials_to_display = C4::Context->preference('OPACSerialIssueDisplayCount') unless $serials_to_display; $cell{opacdisplaycount} = $serials_to_display; $cell{latestserials} = GetLatestSerials( $subscription->{subscriptionid}, $serials_to_display ); + if ( $borrowernumber ) { + my $sub = getalert($borrowernumber,'issue_det',$subscription->{subscriptionid}); + if ( !defined $sub ) { + $sub = getalert($borrowernumber,'issue_ser',$subscription->{subscriptionid}); + } + if (@$sub[0]) { + $cell{hasalert} = 1; + } + } push @subs, \%cell; } --- a/opac/opac-serial-issues.pl +++ a/opac/opac-serial-issues.pl @@ -62,7 +62,11 @@ if ( $selectview eq "full" ) { # now, check is there is an alert subscription for one of the subscriptions if ($loggedinuser) { foreach (@$subscriptions) { - if (getalert($loggedinuser,'issue',$_->{subscriptionid})) { + my $sub = getalert($loggedinuser,'issue_ser',$_->{subscriptionid}); + if (!defined $sub) { + $sub = getalert($loggedinuser,'issue_det',$_->{subscriptionid}); + } + if ($sub) { $_->{hasalert} = 1; } } @@ -101,7 +105,10 @@ else { # now, check is there is an alert subscription for one of the subscriptions if ($loggedinuser){ foreach (@$subscriptions) { - my $subscription = getalert($loggedinuser,'issue',$_->{subscriptionid}); + my $subscription = getalert($loggedinuser,'issue_ser',$_->{subscriptionid}); + if (!defined $subscription) { + $subscription = getalert($loggedinuser,'issue_det',$_->{subscriptionid}); + } if (@$subscription[0]) { $_->{hasalert} = 1; } --