From 2ee94066c3716564631bb1b02bc889357d0d06dd Mon Sep 17 00:00:00 2001 From: Frédéric Buclin Date: Wed, 10 Oct 2012 01:05:42 +0200 Subject: Bug 448815: Support pronouns for the "changed by" field in boolean charts r=dkl a=LpSolit --- Bugzilla/Search.pm | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/Bugzilla/Search.pm b/Bugzilla/Search.pm index d4236d578..3805cd2ad 100644 --- a/Bugzilla/Search.pm +++ b/Bugzilla/Search.pm @@ -2154,6 +2154,15 @@ sub _contact_exact_group { } } +sub _get_user_id { + my ($self, $value) = @_; + + if ($value =~ /^%\w+%$/) { + return pronoun($value, $self->_user); + } + return login_to_id($value, THROW_ERROR); +} + ##################################################################### # Search Functions ##################################################################### @@ -2284,7 +2293,7 @@ sub _long_desc_changedby { my $table = "longdescs_$chart_id"; push(@$joins, { table => 'longdescs', as => $table }); - my $user_id = login_to_id($value, THROW_ERROR); + my $user_id = $self->_get_user_id($value); $args->{term} = "$table.who = $user_id"; } @@ -2380,7 +2389,7 @@ sub _work_time_changedby { my $table = "longdescs_$chart_id"; push(@$joins, { table => 'longdescs', as => $table }); - my $user_id = login_to_id($value, THROW_ERROR); + my $user_id = $self->_get_user_id($value); $args->{term} = "$table.who = $user_id AND $table.work_time != 0"; } @@ -2829,7 +2838,7 @@ sub _changedby { || ThrowCodeError("invalid_field_name", { field => $field }); my $field_id = $field_object->id; my $table = "act_${field_id}_$chart_id"; - my $user_id = login_to_id($value, THROW_ERROR); + my $user_id = $self->_get_user_id($value); my $join = { table => 'bugs_activity', as => $table, -- cgit v1.2.3-24-g4f1b