Bug 9136: C4::Tags not Plack-compatible
The three module-scoped variables $ext_dict, @fields, and $select_all were preventing tagging code from working under Plack. I fixed this by changing the latter two to compile-time constants, and declared the first with "our $ext_dict;" To test (under Plack): 1) Try to create a tag before the patch is applied. Note that you get a 500 error in the AJAX request. 2) Apply patch. 3) Repeat step (1), noticing that this time the tag is created and there is no error. Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz> Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com> Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
This commit is contained in:
parent
ab732ce20e
commit
6417e44bc2
12
C4/Tags.pm
12
C4/Tags.pm
|
|
@ -26,9 +26,11 @@ use Exporter;
|
|||
use C4::Context;
|
||||
use C4::Debug;
|
||||
#use Data::Dumper;
|
||||
use constant TAG_FIELDS => qw(tag_id borrowernumber biblionumber term language date_created);
|
||||
use constant TAG_SELECT => "SELECT " . join(',', TAG_FIELDS) . "\n FROM tags_all\n";
|
||||
|
||||
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
|
||||
use vars qw($ext_dict $select_all @fields);
|
||||
our $ext_dict;
|
||||
|
||||
BEGIN {
|
||||
$VERSION = 3.07.00.049;
|
||||
|
|
@ -70,8 +72,6 @@ More verose debugging messages are sent in the presence of non-zero $ENV{"DEBUG"
|
|||
INIT {
|
||||
$ext_dict and $Lingua::Ispell::path = $ext_dict;
|
||||
$debug and print STDERR "\$Lingua::Ispell::path = $Lingua::Ispell::path\n";
|
||||
@fields = qw(tag_id borrowernumber biblionumber term language date_created);
|
||||
$select_all = "SELECT " . join(',',@fields) . "\n FROM tags_all\n";
|
||||
}
|
||||
|
||||
sub get_filters {
|
||||
|
|
@ -181,7 +181,7 @@ sub delete_tag_rows_by_ids {
|
|||
|
||||
sub get_tag_rows {
|
||||
my $hash = shift || {};
|
||||
my @ok_fields = @fields;
|
||||
my @ok_fields = TAG_FIELDS;
|
||||
push @ok_fields, 'limit'; # push the limit! :)
|
||||
my $wheres;
|
||||
my $limit = "";
|
||||
|
|
@ -208,7 +208,7 @@ sub get_tag_rows {
|
|||
push @exe_args, $hash->{$key};
|
||||
}
|
||||
}
|
||||
my $query = $select_all . ($wheres||'') . $limit;
|
||||
my $query = TAG_SELECT . ($wheres||'') . $limit;
|
||||
$debug and print STDERR "get_tag_rows query:\n $query\n",
|
||||
"get_tag_rows query args: ", join(',', @exe_args), "\n";
|
||||
my $sth = C4::Context->dbh->prepare($query);
|
||||
|
|
@ -491,7 +491,7 @@ sub add_tag_index {
|
|||
|
||||
sub get_tag { # by tag_id
|
||||
(@_) or return;
|
||||
my $sth = C4::Context->dbh->prepare("$select_all WHERE tag_id = ?");
|
||||
my $sth = C4::Context->dbh->prepare(TAG_SELECT . "WHERE tag_id = ?");
|
||||
$sth->execute(shift);
|
||||
return $sth->fetchrow_hashref;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue