@@ -, +, @@
- Turn TagsEnabled on
- Add some tags
- Turn TagsEnabled off
- Hit /cgi-bin/koha/opac-tags.pl
---
.../bootstrap/en/includes/blocking_errors.inc | 15 +++++++++
.../opac-tmpl/bootstrap/en/includes/masthead.inc | 1 +
.../opac-tmpl/bootstrap/en/modules/opac-tags.tt | 4 +--
opac/opac-tags.pl | 38 +++++++++++-----------
4 files changed, 36 insertions(+), 22 deletions(-)
create mode 100644 koha-tmpl/opac-tmpl/bootstrap/en/includes/blocking_errors.inc
--- a/koha-tmpl/opac-tmpl/bootstrap/en/includes/blocking_errors.inc
+++ a/koha-tmpl/opac-tmpl/bootstrap/en/includes/blocking_errors.inc
@@ -0,0 +1,15 @@
+
+
+
+ [% IF blocking_error %]
+ [% SWITCH blocking_error %]
+ [% CASE "tags_disabled" %]Sorry, tags are not enabled on this system.
+ [% CASE %][%# Do not display the blocking error at the OPAC if not handled previously %]
+ [% END %]
+
+ [% INCLUDE 'opac-bottom.inc' %]
+ [% STOP %] [%# Will stop gracefully without processing any more of the template document.%]
+ [% END %]
+
+
+
--- a/koha-tmpl/opac-tmpl/bootstrap/en/includes/masthead.inc
+++ a/koha-tmpl/opac-tmpl/bootstrap/en/includes/masthead.inc
@@ -374,3 +374,4 @@
+ [% INCLUDE 'blocking_errors.inc' %]
--- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-tags.tt
+++ a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-tags.tt
@@ -54,9 +54,7 @@
[% FOREACH ERROR IN ERRORS %]
There was a problem with this operation:
- [% IF ( ERROR.tagsdisabled ) %]
- Sorry, tags are not enabled on this system.
- [% ELSIF ( ERROR.badparam ) %]
+ [% IF ( ERROR.badparam ) %]
ERROR: illegal parameter [% ERROR.badparam | html %]
[% ELSIF ( ERROR.login ) %]
ERROR: You must log in to complete that action.
--- a/opac/opac-tags.pl
+++ a/opac/opac-tags.pl
@@ -38,7 +38,7 @@ use CGI::Cookie; # need to check cookies before having CGI parse the POST reques
use C4::Auth qw(:DEFAULT check_cookie_auth);
use C4::Context;
use C4::Debug;
-use C4::Output qw(:html :ajax pagination_bar);
+use C4::Output qw(:html :ajax output_and_exit );
use C4::Scrubber;
use C4::Biblio;
use C4::Items qw(GetItemsInfo GetHiddenItemnumbers);
@@ -86,24 +86,20 @@ sub ajax_auth_cgi { # returns CGI object
my $is_ajax = is_ajax();
my $openadds = C4::Context->preference('TagsModeration') ? 0 : 1;
my $query = ($is_ajax) ? &ajax_auth_cgi({}) : CGI->new();
-unless (C4::Context->preference('TagsEnabled')) {
- push @errors, {+ tagsdisabled=>1 };
- push @globalErrorIndexes, $#errors;
-} else {
- foreach ($query->param) {
- if (/^newtag(.*)/) {
- my $biblionumber = $1;
- unless ($biblionumber =~ /^\d+$/) {
- $debug and warn "$_ references non numerical biblionumber '$biblionumber'";
- push @errors, {+'badparam' => $_ };
- push @globalErrorIndexes, $#errors;
- next;
- }
- $newtags{$biblionumber} = $query->param($_);
- } elsif (/^del(\d+)$/) {
- push @deltags, $1;
- }
- }
+foreach ($query->param) {
+ if (/^newtag(.*)/) {
+ warn "marches";
+ my $biblionumber = $1;
+ unless ($biblionumber =~ /^\d+$/) {
+ $debug and warn "$_ references non numerical biblionumber '$biblionumber'";
+ push @errors, {+'badparam' => $_ };
+ push @globalErrorIndexes, $#errors;
+ next;
+ }
+ $newtags{$biblionumber} = $query->param($_);
+ } elsif (/^del(\d+)$/) {
+ push @deltags, $1;
+ }
}
my $add_op = (scalar(keys %newtags) + scalar(@deltags)) ? 1 : 0;
@@ -121,6 +117,10 @@ if ($is_ajax) {
});
}
+
+output_and_exit( $query, $cookie, $template, 'tags_disabled' )
+ unless C4::Context->preference('TagsEnabled');
+
if ($add_op) {
unless ($loggedinuser) {
push @errors, {+'login' => 1 };
--