Hi!
I've made a simple patch to Queue.pm in 1.1.3 so that GenericAgent and
similar code can do searchs also in the Subject.
The code allows to use 'like' in SQL if the string is enclosed in %..%
It could use 'regex' also but I've not put it there... anyway, here's
a diff if someone finds it useful (I did ! :-)
Best regards,
</canau
--- Queue.pm.ORIG Fri Jul 25 19:05:01 2003
+++ Queue.pm Fri Jul 25 20:10:43 2003
@@ -581,9 +581,14 @@
# --
# sql
# --
- my $SQL = "SELECT st.id, st.tn FROM ".
- " ticket st, queue sq, ticket_state tsd, ticket_lock_type slt ".
- " WHERE ".
+ my $SQL = "SELECT st.id, st.tn FROM ";
+ if ($Param{Subject}) {
+ $SQL .= " ticket st, queue sq, ticket_state tsd, ticket_lock_type slt, article
art ";
+ }
+ else {
+ $SQL .= " ticket st, queue sq, ticket_state tsd, ticket_lock_type slt ";
+ }
+ $SQL .= " WHERE ".
" st.ticket_state_id = tsd.id ".
" AND ".
" st.queue_id = sq.id ".
@@ -597,6 +602,18 @@
$SQL .= " AND ".
" slt.name IN ('${\(join '\', \'' , @{$Param{Locks}})}') ";
}
+ if ($Param{Subject}) {
+ $SQL .= " AND st.id = art.ticket_id AND ";
+ if ($Param{Subject} =~ /^%.*%$/) {
+ my $value;
+ ($value = $Param{Subject}) =~ s/^%//;
+ $value =~ s/%$//;
+ $SQL .= " art.a_subject like '$value' ";
+ }
+ else {
+ $SQL .= " art.a_subject = '$Param{Subject}' ";
+ }
+ }
$SQL .= " AND ";
if ($Param{Queue}) {
$SQL .= " sq.name = '$Param{Queue}' ";