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

Reply via email to