Last modified: 2007-11-29 20:59:37 UTC
r23577 broke the new userrights functionality (giving certain groups the ability to grant certain rights) when a user is in multiple granting groups. For example, if you are in groups A and B, and group A can grant a, while group B can grant b, only one of the two will be listed in the 'you can grant' statement. To see this, add $wgAddGroups = $wgRemoveGroups = array(); // Add customizations after this line $wgGroupPermissions['steward']['userrights'] = true; $wgAddGroups['steward'] = true; $wgRemoveGroups['steward'] = true; $wgGroupPermissions['bureaucrat']['userrights'] = true; $wgAddGroups['bureaucrat'] = array( 'sysop', 'bot', 'bureaucrat' ); $wgRemoveGroups['bureaucrat'] = array( 'bot' ); to localsettings.php (it must be in that order!), and make a bureaucrat and steward user. Then try to change your rights.
With the following setup, a bureaucrat+steward user can add and remove both sysop and bot: $wgAddGroups = $wgRemoveGroups = array(); // Add customizations after this line $wgGroupPermissions['steward']['userrights'] = true; $wgAddGroups['steward'] = array('bot'); $wgRemoveGroups['steward'] = array('bot'); $wgGroupPermissions['bureaucrat']['userrights'] = true; $wgAddGroups['bureaucrat'] = array( 'sysop' ); $wgRemoveGroups['bureaucrat'] = array( 'sysop' );
(In reply to comment #1) > With the following setup, a bureaucrat+steward user can add and remove both > sysop and bot: > > $wgAddGroups = $wgRemoveGroups = array(); // Add customizations after this line > $wgGroupPermissions['steward']['userrights'] = true; > $wgAddGroups['steward'] = array('bot'); > $wgRemoveGroups['steward'] = array('bot'); > > $wgGroupPermissions['bureaucrat']['userrights'] = true; > $wgAddGroups['bureaucrat'] = array( 'sysop' ); > $wgRemoveGroups['bureaucrat'] = array( 'sysop' ); > What was broken was the listing, above the selection boxes, saying what rights you can change ("You can add users to...") I can't check it right now, but it looks like one of the later changes might have fixed it. Could you just confirm that that is displaying properly?