From 90974879619a0ea279173c3423fe6e5fd907255f Mon Sep 17 00:00:00 2001 From: "bugreport%peshkin.net" <> Date: Wed, 2 Jun 2004 03:29:04 +0000 Subject: Bug 244927: Add search on time owner has left the bug idle r=jouni a=myk --- Bugzilla/Search.pm | 36 ++++++++++++++++++++++++++++++++++++ checksetup.pl | 2 ++ 2 files changed, 38 insertions(+) diff --git a/Bugzilla/Search.pm b/Bugzilla/Search.pm index 5f0e625aa..2f92131fc 100644 --- a/Bugzilla/Search.pm +++ b/Bugzilla/Search.pm @@ -703,6 +703,42 @@ sub init { push(@wherepart, "$table.dependson = bugs.bug_id"); }, + "^owner_idle_time,(greaterthan|lessthan)" => sub { + my $table = "idle_" . $chartid; + $v =~ /^(\d+)\s*([hHdDwWmMyY])?$/; + my $quantity = $1; + my $unit = lc $2; + my $unitinterval = 'DAY'; + if ($unit eq 'h') { + $unitinterval = 'HOUR'; + } elsif ($unit eq 'w') { + $unitinterval = ' * 7 DAY'; + } elsif ($unit eq 'm') { + $unitinterval = 'MONTH'; + } elsif ($unit eq 'y') { + $unitinterval = 'YEAR'; + } + my $cutoff = "DATE_SUB(NOW(), + INTERVAL $quantity $unitinterval)"; + my $assigned_fieldid = &::GetFieldID('assigned_to'); + push(@supptables, "LEFT JOIN longdescs comment_$table " . + "ON comment_$table.who = bugs.assigned_to " . + "AND comment_$table.bug_id = bugs.bug_id " . + "AND comment_$table.bug_when > $cutoff"); + push(@supptables, "LEFT JOIN bugs_activity activity_$table " . + "ON (activity_$table.who = bugs.assigned_to " . + "OR activity_$table.fieldid = $assigned_fieldid) " . + "AND activity_$table.bug_id = bugs.bug_id " . + "AND activity_$table.bug_when > $cutoff"); + if ($t =~ /greater/) { + push(@wherepart, "(comment_$table.who IS NULL " . + "AND activity_$table.who IS NULL)"); + } else { + push(@wherepart, "(comment_$table.who IS NOT NULL " . + "OR activity_$table.who IS NOT NULL)"); + } + $term = "0=0"; + }, ",equals" => sub { $term = "$ff = $q"; diff --git a/checksetup.pl b/checksetup.pl index 9d2357945..ec7e998c4 100755 --- a/checksetup.pl +++ b/checksetup.pl @@ -3897,6 +3897,8 @@ if (!$series_exists) { } } +AddFDef("owner_idle_time", "Time Since Owner Touched", 0); + # If you had to change the --TABLE-- definition in any way, then add your # differential change code *** A B O V E *** this comment. # -- cgit v1.2.3-24-g4f1b