diff options
author | Frédéric Buclin <LpSolit@gmail.com> | 2012-10-10 01:05:42 +0200 |
---|---|---|
committer | Frédéric Buclin <LpSolit@gmail.com> | 2012-10-10 01:05:42 +0200 |
commit | 2ee94066c3716564631bb1b02bc889357d0d06dd (patch) | |
tree | fb1c740dc2ea2d345cef983826163c62b12b31f8 /Bugzilla | |
parent | 75c4e8ff9e17ecc195cbd67274bbf8feb05391dc (diff) | |
download | bugs-2ee94066c3716564631bb1b02bc889357d0d06dd.tar bugs-2ee94066c3716564631bb1b02bc889357d0d06dd.tar.gz bugs-2ee94066c3716564631bb1b02bc889357d0d06dd.tar.bz2 bugs-2ee94066c3716564631bb1b02bc889357d0d06dd.tar.xz bugs-2ee94066c3716564631bb1b02bc889357d0d06dd.zip |
Bug 448815: Support pronouns for the "changed by" field in boolean charts
r=dkl a=LpSolit
Diffstat (limited to 'Bugzilla')
-rw-r--r-- | Bugzilla/Search.pm | 15 |
1 files 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, |