Lilu has uploaded a new change for review.
https://gerrit.wikimedia.org/r/255380
Change subject: PermissionManager Improvements
......................................................................
PermissionManager Improvements
- tweaked 'preventPermissionLockout' so it takes the lockmode group into
consideration and doesn't allows the removal of protected rights from all
groups, even if lockmode is active
- tweaked 'setupLockmodePermissions' so on lockmode activation not only the
lockmode group, but also the sysop group gets all rights explicitly
- made the different groups in the permission manager grid collapsible
Change-Id: I7dfd0b120da5df4cba0c44ba2172b280e0e3660a
---
M PermissionManager/PermissionManager.class.php
M PermissionManager/resources/BS.PermissionManager/grid/Permissions.js
2 files changed, 24 insertions(+), 8 deletions(-)
git pull
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/BlueSpiceExtensions
refs/changes/80/255380/1
diff --git a/PermissionManager/PermissionManager.class.php
b/PermissionManager/PermissionManager.class.php
index 0f2546e..a66e30a 100644
--- a/PermissionManager/PermissionManager.class.php
+++ b/PermissionManager/PermissionManager.class.php
@@ -230,18 +230,26 @@
foreach ( $aAvailablePermissions as $permissionName ) {
if ( !isset( $wgGroupPermissions[
self::$sPmLockModeGroup ][ $permissionName ] ) ) {
$wgGroupPermissions[
self::$sPmLockModeGroup ][ $permissionName ] = true;
+ $wgGroupPermissions[ 'sysop' ][
$permissionName ] = true;
$bSave = true;
}
if ( isset( $wgNamespacePermissionLockdown[
$nsKey ][ $permissionName ] ) ) {
if ( !in_array(
self::$sPmLockModeGroup, $wgNamespacePermissionLockdown[ $nsKey ][
$permissionName ] ) ) {
$wgNamespacePermissionLockdown[
$nsKey ][ $permissionName ] = array_unique(
- array_merge(
$wgNamespacePermissionLockdown[ $nsKey ][ $permissionName ], array(
self::$sPmLockModeGroup )
- )
+ array_merge(
$wgNamespacePermissionLockdown[ $nsKey ][ $permissionName ], array(
self::$sPmLockModeGroup )
+ )
+ );
+ $bSave = true;
+ }
+ if ( !in_array( 'sysop',
$wgNamespacePermissionLockdown[ $nsKey ][ $permissionName ] ) ) {
+ $wgNamespacePermissionLockdown[
$nsKey ][ $permissionName ] = array_unique(
+ array_merge(
$wgNamespacePermissionLockdown[ $nsKey ][ $permissionName ], array( 'sysop' )
+ )
);
$bSave = true;
}
} else {
- $wgNamespacePermissionLockdown[ $nsKey
][ $permissionName ] = array( self::$sPmLockModeGroup );
+ $wgNamespacePermissionLockdown[ $nsKey
][ $permissionName ] = array( self::$sPmLockModeGroup, 'sysop' );
$bSave = true;
}
}
@@ -493,7 +501,11 @@
if ( isset( $bsgPermissionConfig[ $sRight ][
'preventLockout' ] ) ) {
$bIsSet = false;
if ( is_array( $aGroupPermissions ) ) {
- foreach ( $aGroupPermissions as
$aDataset ) {
+ foreach ( $aGroupPermissions as
$sGroupName => $aDataset ) {
+ // no user can be in the lock
mode group so we don't care if it has the right or not
+ if($sGroupName ==
self::$sPmLockModeGroup) {
+ continue;
+ }
if ( isset( $aDataset[ $sRight
] ) && $aDataset[ $sRight ] ) {
$bIsSet = true;
continue 2;
@@ -581,9 +593,13 @@
$isReadLockdown = true;
}
// check if settings for any group
changed
- $aLocalDiffGroups = array_diff(
$aGroups, $wgNamespacePermissionLockdown[ $sNsConstant ][ $sPermission ] );
- foreach( $aLocalDiffGroups as
$sDiffGroup ) {
- $aDiffGroups[ $sDiffGroup ] =
true;
+
if(isset($wgNamespacePermissionLockdown[$sNsConstant])
+ &&
isset($wgNamespacePermissionLockdown[$sNsConstant][$sPermission])
+ ) {
+ $aLocalDiffGroups = array_diff(
$aGroups, $wgNamespacePermissionLockdown[ $sNsConstant ][ $sPermission ] );
+ foreach ( $aLocalDiffGroups as
$sDiffGroup ) {
+ $aDiffGroups[
$sDiffGroup ] = true;
+ }
}
}
if ( $isReadLockdown ) {
diff --git
a/PermissionManager/resources/BS.PermissionManager/grid/Permissions.js
b/PermissionManager/resources/BS.PermissionManager/grid/Permissions.js
index 4bd2294..b3e0bc8 100644
--- a/PermissionManager/resources/BS.PermissionManager/grid/Permissions.js
+++ b/PermissionManager/resources/BS.PermissionManager/grid/Permissions.js
@@ -26,7 +26,7 @@
],
hideGroupedHeader: true,
enableGroupingMenu: false,
- collapsible: false
+ collapsible: true
}];
this.columns =
Ext.create('BS.PermissionManager.data.Manager').getColumns();
--
To view, visit https://gerrit.wikimedia.org/r/255380
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I7dfd0b120da5df4cba0c44ba2172b280e0e3660a
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/BlueSpiceExtensions
Gerrit-Branch: master
Gerrit-Owner: Lilu <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits