@@ -, +, @@ - 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 }; --