jenkins-bot has submitted this change and it was merged. (
https://gerrit.wikimedia.org/r/337799 )
Change subject: PageAssignments: added hook listener for user delete and group
delete/rename.
......................................................................
PageAssignments: added hook listener for user delete and group delete/rename.
Fix for issue ERM5343
Change-Id: I27651884c06705b9339054c3944193547e97a5ad
---
M PageAssignments/extension.json
M PageAssignments/includes/PageAssignmentsHooks.php
2 files changed, 61 insertions(+), 1 deletion(-)
Approvals:
Robert Vogel: Looks good to me, approved
jenkins-bot: Verified
diff --git a/PageAssignments/extension.json b/PageAssignments/extension.json
index 5ffb03f..b0774d7 100644
--- a/PageAssignments/extension.json
+++ b/PageAssignments/extension.json
@@ -188,7 +188,10 @@
"WikiExplorer::buildDataSets":
"PageAssignmentsWikiExplorerHooks::onWikiExplorerBuildDataSets",
"BSDashboardsUserDashboardPortalConfig":
"PageAssignmentsDashboardHooks::onBSDashboardsUserDashboardPortalConfig",
"BSDashboardsUserDashboardPortalPortlets":
"PageAssignmentsDashboardHooks::onBSDashboardsUserDashboardPortalPortlets",
- "BSUsageTrackerRegisterCollectors":
"PageAssignmentsHooks::onBSUsageTrackerRegisterCollectors"
+ "BSUsageTrackerRegisterCollectors":
"PageAssignmentsHooks::onBSUsageTrackerRegisterCollectors",
+ "BSUserManagerAfterDeleteUser":
"PageAssignmentsHooks::onBSUserManagerAfterDeleteUser",
+ "BSGroupManagerGroupNameChanged":
"PageAssignmentsHooks::onBSGroupManagerGroupNameChanged",
+ "BSGroupManagerGroupDeleted":
"PageAssignmentsHooks::onBSGroupManagerGroupDeleted"
},
"manifest_version": 1
}
diff --git a/PageAssignments/includes/PageAssignmentsHooks.php
b/PageAssignments/includes/PageAssignmentsHooks.php
index 3b84f2f..53213b8 100644
--- a/PageAssignments/includes/PageAssignmentsHooks.php
+++ b/PageAssignments/includes/PageAssignmentsHooks.php
@@ -145,4 +145,61 @@
);
return true;
}
+
+ /**
+ * Deletes all page assignments on user deleted.
+ * @param UserManager $oUserManager
+ * @param User $oUser
+ * @param &$oStatus
+ * @return bool
+ */
+ public static function onBSUserManagerAfterDeleteUser( $oUserManager,
$oUser, &$oStatus, $oPerformer ) {
+ $dbr = wfGetDB( DB_MASTER );
+ $dbr->delete(
+ 'bs_pageassignments',
+ array(
+ 'pa_assignee_key' => $oUser->getName(),
+ 'pa_assignee_type' => 'user'
+ )
+ );
+ return true;
+ }
+
+ /**
+ * Updates all page assignments on group name change.
+ * @param string $sGroup
+ * @param string $sNewGroup
+ * @return bool
+ */
+ public static function onBSGroupManagerGroupNameChanged( $sGroup,
$sNewGroup ) {
+ $dbr = wfGetDB( DB_MASTER );
+ $dbr->update(
+ 'bs_pageassignments',
+ array(
+ 'pa_assignee_key' => $sNewGroup,
+ ),
+ array(
+ 'pa_assignee_key' => $sGroup,
+ 'pa_assignee_type' => 'group'
+ )
+ );
+ return true;
+ }
+
+ /**
+ * Deletes all page assignments on group deleted.
+ * @param string $sGroup
+ * @return bool
+ */
+ public static function onBSGroupManagerGroupDeleted( $sGroup) {
+ $dbr = wfGetDB( DB_MASTER );
+ $dbr->delete(
+ 'bs_pageassignments',
+ array(
+ 'pa_assignee_key' => $sGroup,
+ 'pa_assignee_type' => 'group'
+ )
+ );
+ return true;
+ }
}
\ No newline at end of file
--
To view, visit https://gerrit.wikimedia.org/r/337799
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I27651884c06705b9339054c3944193547e97a5ad
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/BlueSpiceExtensions
Gerrit-Branch: REL1_27
Gerrit-Owner: Nasty <[email protected]>
Gerrit-Reviewer: Robert Vogel <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits