From: Frédéric Buclin Date: Tue, 9 Oct 2012 23:05:42 +0000 (+0200) Subject: Bug 448815: Support pronouns for the "changed by" field in boolean charts X-Git-Tag: bugzilla-4.5.1~364 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2ee94066c3716564631bb1b02bc889357d0d06dd;p=thirdparty%2Fbugzilla.git Bug 448815: Support pronouns for the "changed by" field in boolean charts r=dkl a=LpSolit --- diff --git a/Bugzilla/Search.pm b/Bugzilla/Search.pm index d4236d578a..3805cd2adf 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,