Commit 3240c540 authored by Koosha Khajeh Moogahi's avatar Koosha Khajeh Moogahi Committed by Frédéric Buclin

Bug 808300: Requesting data for your own account using User.get should also…

Bug 808300: Requesting data for your own account using User.get should also returns groups you belong to r/a=LpSolit
parent 1c405dba
...@@ -212,7 +212,6 @@ sub get { ...@@ -212,7 +212,6 @@ sub get {
name => $self->type('email', $user->login), name => $self->type('email', $user->login),
email => $self->type('email', $user->email), email => $self->type('email', $user->email),
can_login => $self->type('boolean', $user->is_enabled ? 1 : 0), can_login => $self->type('boolean', $user->is_enabled ? 1 : 0),
groups => $self->_filter_bless_groups($user->groups),
}; };
if (Bugzilla->user->in_group('editusers')) { if (Bugzilla->user->in_group('editusers')) {
...@@ -225,6 +224,13 @@ sub get { ...@@ -225,6 +224,13 @@ sub get {
$user_info->{saved_reports} = [map { $self->_report_to_hash($_) } @{ $user->reports }]; $user_info->{saved_reports} = [map { $self->_report_to_hash($_) } @{ $user->reports }];
} }
if (Bugzilla->user->id == $user->id || Bugzilla->user->in_group('editusers')) {
$user_info->{groups} = [map {$self->_group_to_hash($_)} @{ $user->groups }];
}
else {
$user_info->{groups} = $self->_filter_bless_groups($user->groups);
}
push(@users, filter($params, $user_info)); push(@users, filter($params, $user_info));
} }
...@@ -332,7 +338,7 @@ sub _filter_bless_groups { ...@@ -332,7 +338,7 @@ sub _filter_bless_groups {
my @filtered_groups; my @filtered_groups;
foreach my $group (@$groups) { foreach my $group (@$groups) {
next unless ($user->in_group('editusers') || $user->can_bless($group->id)); next unless $user->can_bless($group->id);
push(@filtered_groups, $self->_group_to_hash($group)); push(@filtered_groups, $self->_group_to_hash($group));
} }
...@@ -791,8 +797,11 @@ disabled/closed. ...@@ -791,8 +797,11 @@ disabled/closed.
=item groups =item groups
C<array> An array of group hashes the user is a member of. Each hash describes C<array> An array of group hashes the user is a member of. If the currently
the group and contains the following items: logged in user is querying his own account or is a member of the 'editusers'
group, the array will contain all the groups that the user is a
member of. Otherwise, the array will only contain groups that the logged in
user can bless. Each hash describes the group and contains the following items:
=over =over
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment