--- a/lib/CrashTest/Plugin/Storage/Sql/Model/CrashGroup.pm Mon Dec 28 23:08:23 2015 +0100
+++ b/lib/CrashTest/Plugin/Storage/Sql/Model/CrashGroup.pm Tue Dec 29 00:15:38 2015 +0100
@@ -13,8 +13,10 @@
package CrashTest::Plugin::Storage::Sql::Model::CrashGroup;
use Mojo::Base -base;
+use Data::Page;
#use DBI::Log;
#$DBI::Log::trace = 0;
+use Search::QueryParser::SQL;
use Storable 'dclone';
use CrashTest::Model::Thread;
@@ -34,7 +36,7 @@
}
sub _build_query_from_search_string {
- my ($self, $search) = @_;
+ my ($self, $search, $extra_columns) = @_;
my @values;
@@ -57,6 +59,10 @@
function => { callback => $cb, name => 'crash_group.crash_thread_signature_bt', type => "fuzzy" },
};
+ foreach my $extra_col(@$extra_columns) {
+ $search_fields->{$extra_col->{id}} = { callback => $cb, name => $extra_col->{db_column} };
+ }
+
my $parser = Search::QueryParser::SQL->new(
columns => $search_fields,
default_column => "function",
@@ -79,7 +85,7 @@
my $where = "";
my @values = ();
if(defined($search_str) && $search_str ne "") {
- my $q = $self->_build_query_from_search_string($search_str);
+ my $q = $self->_build_query_from_search_string($search_str, $self->app->config->{WebInterface}->{ExtraColumns}->{Index});
$where = "WHERE " . $q->[0];
@values = @{$q->[1]};
}
--- a/lib/CrashTest/Plugin/Storage/Sql/Model/CrashReport.pm Mon Dec 28 23:08:23 2015 +0100
+++ b/lib/CrashTest/Plugin/Storage/Sql/Model/CrashReport.pm Tue Dec 29 00:15:38 2015 +0100
@@ -37,7 +37,7 @@
}
sub _build_query_from_search_string {
- my ($self, $search) = @_;
+ my ($self, $search, $extra_columns) = @_;
my @values;
@@ -61,6 +61,10 @@
function => { callback => $cb, name => 'crash_group.crash_thread_signature_bt', type => "fuzzy" },
};
+ foreach my $extra_col(@$extra_columns) {
+ $search_fields->{$extra_col->{id}} = { callback => $cb, name => $extra_col->{db_column} };
+ }
+
my $parser = Search::QueryParser::SQL->new(
columns => $search_fields,
default_column => "function",
@@ -83,7 +87,7 @@
my $where = "";
my @values = ();
if(defined($search_str) && $search_str ne "") {
- my $q = $self->_build_query_from_search_string($search_str);
+ my $q = $self->_build_query_from_search_string($search_str, $self->app->config->{WebInterface}->{ExtraColumns}->{Index});
$where = "WHERE " . $q->[0];
@values = @{$q->[1]};
}