Closed Bug 84714 Opened 24 years ago Closed 24 years ago

Can't change permissions from bug list

Categories

(Bugzilla :: Bugzilla-General, defect)

Sun
Solaris
defect
Not set
normal

Tracking

()

RESOLVED FIXED
Bugzilla 2.14

People

(Reporter: mozilla-work, Assigned: tara)

References

()

Details

Attachments

(2 files)

Currently, you can't change the group permissions under "Change several bugs at once". We would like to make all open bugs public when we do a release of software since they are all in the release notes anyway.
This just became a 2.14. Bug 80289 was checked in this last week, and changes the way groups are dealt with on the standard bug_form. Unfortunately it had the side-effect of clearing all group bits any time you do a mass change. Mainly because the feature requested on this bug is not present, and thus the new code is assuming the absense of any group controls means to clear the groups (because un-set checkboxes aren't transmitted). See bug 88797.
Blocks: 88797
Target Milestone: --- → Bugzilla 2.14
I think we need three options "leave", "turn on" and "turn off". Leave would be default. It's ok to turn a bug on that is already on or off that is already off - it should do nothing. Therefore each groupset can safely always appear. If the bug list is a homogenous set we can drop off the first option and set the default to be the current option, but that's an optional improvement.
Just to clarify, Matt, what you're thinking of would be something like the following: Groupset: [Select box: options are "Do Not Change", "Turn on the selected groups", "Turn off the selected groups"] [Checkbox for Group A] Group A [Checkbox for Group B] Group B ... Does that sound right? Seems reasonable to me. I assume that in this case, we leave all checkboxes unchecked by default. Further, we only show a product checkbox if at least one bug in the list is in that product. I think that dropping the first option in the case where all bugs have the same groupset is not a good idea. Yes, it could provide better consistency with current behavior, but at the cost of consistency within buglist.cgi for different sets. I think that if we label the select options clearly, it should be self-explanatory what's going on, and we can use the same behavior for all bug lists. I might be able to do some work on this today, but maybe not 'til Monday. (I'm taking a long weekend for the holiday.) Let me know if this is a good approach.
Joe's proposal sounds good to me.
As I'm working on this, I've realized that there's a slight problem with this approach: If we list out the groups this way, then we can't prevent people from trying to turn on group bits for inactive groups. The way I would deal with this is to put the active/inactive check in process_bug.cgi, and if they try to turn on an inactive group, give an error there. Maybe we could supplement this by italicizing inactive groups in the list, and stating that bugs may not be added to italicized groups? However, I'm not sure if this is the best way to handle it. Anyone have a better idea? For now, I'll continue to work on it this way. If someone makes a better suggestion, I should be able to change direction later.
OK. I've attached a patch that follows the process I outlined earlier. I've tested this on my dev instance, but I would definitely want to see someone else test drive this for a bit before it gets checked in. I'm pretty sure that I've got it right, but not sure enough that I wouldn't want a second opinion. :-)
This should probably go on landfill... I might do it later but if someone else beats me to it, all the better. :) My only comment after visual inspection is that in buglist.cgi and in process_bug.cgi, I believe there is a variable containing the value to be used for the "do not change" instances. We should continue to use this variable just in case someone decides they want to change the wording of "do not change"...
Keywords: patch, review
Blocks: 66235
No, that is not what I was suggesting. I was suggesting having three options for each group (groupset is probably the wrong terminology, sorry), which should be easier to implement and more flexible. Dropping the first option makes more sense in this scenario.
Attachment 41053 [details] [diff] is now posted at http://landfill.tequilarista.org/bz84714/ for testing. I've added two groups (Test1 and Test2) with the regexp of .* (all new accounts will be automatically added to those groups) for testing. If you already have an account on landfill's test install (this is using the bugs_tip database) and your id needs to be added to the Test groups, please let Tara, Dave, or myslef know.
I agree with Matty, I'd rather see the Three-way switch for each group bit. Do Not Change | Turn off | | Turn on (*)( )( ) Group #1 (*)( )( ) Group #2 (*)( )( ) Group #3
The attachment I just uploaded uses radio buttons on each group in the multi-change form. The process_bug code has not been tested very well, and should be pounded on. I added a third group "Test Group #3" which is inactive to demonstrate what happens when an inactive group is present. The group name is italicized, and the "add" button is also not shown, in that case. This version of the patch is now live on http://landfill.tequilarista.org/bz84714/
Radio buttons sounds OK. It's certainly better than the current "People not in group can this bug" syntax which is misleading in multiple ways. However we should remain consistent with the existing bug page. By consistent, I don't mean we have to use radio buttons on the bug page, but we should use checkboxes. Is it possible to do this with checkboxes where certain checkboxes don't appear? There are two reasons for this. Firstly, as I stated, that one option should drop off if the bug list is homogenous on that group. I believe it is better to drop off "No change" rather than "Turn X", because the "Turn X" option allows the user to see the current state. Secondly, we have to take into account inactive groups and shouldn't let them be turned on. So a group would entirely disappear if it's inactive and no bugs have that group. So it we might look something like the following example, where U, V & W are inactive groups and X, Y & Z are active groups. U & X are all on, V & Y are all off, and W & Z are mixed. Bug List -------- Bug Page [X] Bug is restricted to only being seen by people in the "U" group which is closed to new bugs [X] Bug is restricted to only being seen by people in the "X" group [ ] Bug is restricted to only being seen by people in the "Y" group [ ] Bug is restricted to only being seen by people in the "Z" group Change Page ----------- Group Leave as some Bug isn't restricted Bug is restricted on, some off to only being seen to only being seen by people in this by people in this group group U [ ] [X] W [X] [ ] X [ ] [X] Y [X] [ ] Z [X] [ ] [ ] (Maybe use strikethrough on U and W to indicate inactivity.) There is one small issue with this though. If we leave it as "on" when all were previously on, and someone turns one off in the mean time, should we then turn it on again? And the same for "off"? We could store a hidden form element that basically says "Turn On" here means no change, so no change would be made, but I'm not sure that that's what we'd want. How does midair collisions work for bulk change?
Here's a two line header alternative: Group Leave as some Bug restricted to only being seen by people in this group? on, some off No Yes
Since I'm guessing midairs won't collide, if that's the case it'd probably be best to do something like this instead: Group Currently No change Bug restricted to ... ? No Yes -U- All Restricted [X] [ ] -W- 6 Restricted, 5 Not [X] [ ] X All Restricted [X] [ ] Y None Restricted [X] [ ] Z 6 Restricted, 5 Not [X] [ ] [ ]
Umm, in the last comment, I meant to make the last three columns have all checkboxes present, so you could disintinguish the two cases.
D'oh! I meant the last three rows! And I meant distinguishing the two cases when a midair occurs.
Mathew's been busy... His comment at 23:17 looks reasonable. The only change that I would make is instead of: 6 Restricted, 5 Not I would put: 6/11 Restricted
Uggg. Trying to parse Matty's comments made my eyes cross. :) Matty -- will try and track you down on irc. I'm not sure I follow you, and Dave's current implementation looks good to me.
Status: NEW → ASSIGNED
Dave's implementation is OK for 2.14, but I have a few comments, mainly nitpicks: (a) I think group name should be the first column. (b) I think inactive groups should be strikethrough instead of italicised as that would be more consistent with what we do elsewhere. (c) It would be nice if the three checkbox columns were of the same size, if that is possible. (d) I would prefer my wording of 2001-07-07 23:17 (with the ellipsis filled in appropriately from the previous comment), as it better conveys the essential AND nature of groupsets. We just fixed this on show_bug, it would be a shame if we didn't do the same here. The one bug I did find with the patch on Mattfill and Landfill is that invalid logins cause software errors. I still need to check that changes to existing bugs emit no notifications, the groupset section disappears when there's no groups, the inactive message disappears when there's no inactive groups, and inactive groups don't appear when there's no bugs on the list with that have that group. As for the bug count, some of the above and hiding one of the options when the list is homogenous, I'll file that on 2.16 when these get checked in.
r= zach a= me checked in.
Status: ASSIGNED → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
VERIFY NOTE: I need to file my nitpicks as separate bugs before verification.
Moving to Bugzilla product
Component: Bugzilla → Bugzilla-General
Product: Webtools → Bugzilla
Version: Bugzilla 2.12 → unspecified
QA Contact: matty_is_a_geek → default-qa
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: