Closed
Bug 305451
Opened 19 years ago
Closed 19 years ago
GetGroupsByUserId() in buglist.cgi returns bad data
Categories
(Bugzilla :: Creating/Changing Bugs, defect)
Tracking
()
RESOLVED
FIXED
Bugzilla 2.22
People
(Reporter: LpSolit, Assigned: bugreport)
References
Details
(Keywords: regression)
Attachments
(1 file, 1 obsolete file)
|
1.63 KB,
patch
|
LpSolit
:
review+
|
Details | Diff | Splinter Review |
Due to the checkin of bug 304583, I cannot see groups anymore when editing several bugs at once. I think the problem comes from GetGroupsByUserId() in buglist.cgi which has not been updated. I tried the following change: Before my hack: my $groups = $dbh->selectall_arrayref( "SELECT DISTINCT groups.id, name, description, isactive FROM groups INNER JOIN user_group_map ON user_group_map.group_id = groups.id WHERE user_id = ? AND isbless = 0 AND isbuggroup = 1 ORDER BY description " , {Slice => {}}, ($userid)); After my hack: my $grouplist = Bugzilla->user->groups_as_string; my $groups = $dbh->selectall_arrayref( "SELECT DISTINCT id, name, description, isactive FROM groups WHERE id IN ($grouplist) AND isbuggroup = 1 ORDER BY description " , {Slice => {}}); Now, groups are displayed, but the wrong groups are shown. I have no idea if the problem is specific to my hack or if there is something more serious about User.pm.
| Reporter | ||
Updated•19 years ago
|
Target Milestone: --- → Bugzilla 2.22
| Reporter | ||
Comment 1•19 years ago
|
||
(In reply to comment #0) > Now, groups are displayed, but the wrong groups are shown. I mean that inactive groups as well as groups where group control settings are set to NA/NA are also shown.
| Reporter | ||
Comment 2•19 years ago
|
||
(In reply to comment #1) > I mean that inactive groups as well as groups where group control settings are > set to NA/NA are also shown. I guess this part will be fixed by bug 276553?
| Assignee | ||
Comment 3•19 years ago
|
||
Acually, the hack is the correct fix for the regression. That restores the behavior prior to bug 304583. The other issue is one that has existed for a long time which is that edit multiple shows too many groups. That is bug 134474.
| Assignee | ||
Comment 4•19 years ago
|
||
The hack was the right approach.
Attachment #193405 -
Flags: review?(LpSolit)
| Reporter | ||
Comment 5•19 years ago
|
||
Comment on attachment 193405 [details] [diff] [review] cleanup of LpSolit's hack >-sub GetGroupsByUserId { >+sub GetGroups { > my ($userid) = @_; $userid is not a parameter anymore. Remove this line. > "SELECT DISTINCT groups.id, name, description, isactive > FROM groups >+ WHERE id IN ($grouplist) Nit: as we handle only one group, 'groups.id' could be written 'id' alone. I wondered if this routine should not be a method of the user object (i.e. should go into User.pm). But looking at bug 276553, I think it's fine to keep it in this file.
Attachment #193405 -
Flags: review?(LpSolit) → review-
| Reporter | ||
Comment 6•19 years ago
|
||
Comment on attachment 193405 [details] [diff] [review] cleanup of LpSolit's hack >+sub GetGroups { > my ($userid) = @_; > my $dbh = Bugzilla->dbh; > >- return if !$userid; I think we should avoid to call the SQL query when the user ID is null: my $user = Bugzilla->user; return unless $user->id.
| Assignee | ||
Comment 7•19 years ago
|
||
Attachment #193405 -
Attachment is obsolete: true
Attachment #193434 -
Flags: review?(LpSolit)
| Reporter | ||
Comment 8•19 years ago
|
||
Comment on attachment 193434 [details] [diff] [review] fixed with review comments > my $groups = $dbh->selectall_arrayref( >+ "SELECT DISTINCT id, name, description, isactive > FROM groups >+ WHERE id IN ($grouplist) > AND isbuggroup = 1 > ORDER BY description " Nit: DISTINCT is no longer required. Please remove it on checkin. r=LpSolit
Attachment #193434 -
Flags: review?(LpSolit) → review+
| Reporter | ||
Updated•19 years ago
|
Status: NEW → ASSIGNED
Flags: approval?
Comment 9•19 years ago
|
||
This is going to bitrot bug 276553, but since it got denied review anyway, it'll have to be redone anyhow.
Flags: approval? → approval+
| Reporter | ||
Comment 10•19 years ago
|
||
Checking in buglist.cgi; /cvsroot/mozilla/webtools/bugzilla/buglist.cgi,v <-- buglist.cgi new revision: 1.307; previous revision: 1.306 done
Status: ASSIGNED → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•