Niharika29 has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/268108

Change subject: [WIP] Delete assessment records on page deleteion
......................................................................

[WIP] Delete assessment records on page deleteion

Bug: T124823
Change-Id: I73a548a95c80c0032ec708200b04af0f686f5b6c
---
M PageAssessments.hooks.php
M PageAssessmentsBody.php
M extension.json
3 files changed, 29 insertions(+), 1 deletion(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/PageAssessments 
refs/changes/08/268108/1

diff --git a/PageAssessments.hooks.php b/PageAssessments.hooks.php
index 625b754..1765091 100644
--- a/PageAssessments.hooks.php
+++ b/PageAssessments.hooks.php
@@ -66,4 +66,12 @@
                return true;
        }
 
+       /**
+        * Delete assessment records when page is deleted
+        */
+       public static function onArticleDeleteComplete( &$article, User &$user, 
$reason, $id,
+               Content $content = null, LogEntry $logEntry ) {
+               PageAssessmentsBody::deleteRecordsOnPageDelete( $id );
+       }
+
 }
diff --git a/PageAssessmentsBody.php b/PageAssessmentsBody.php
index a67131b..769e34c 100644
--- a/PageAssessmentsBody.php
+++ b/PageAssessmentsBody.php
@@ -156,6 +156,23 @@
 
 
        /**
+        * Delete all records for a given page when page is deleted
+        * Note: We don't take care of undeletions explicitly, the records are 
restored
+        * when the page is parsed again.
+        * @param int $id Page ID of deleted page
+        * @return bool True/False on query success/fail
+        */
+       public static function deleteRecordsOnPageDelete ( $id ) {
+               $dbw = wfGetDB( DB_MASTER );
+               $conds = array(
+                       'pa_page_id' => $id,
+               );
+               $dbw->delete( 'page_assessments', $conds, __METHOD__ );
+               return true;
+       }
+
+
+       /**
         * Function called on parser init
         * @param Parser $parser Parser object
         * @param string $project Wikiproject name
diff --git a/extension.json b/extension.json
index c78031f..d6ebb85 100644
--- a/extension.json
+++ b/extension.json
@@ -28,7 +28,10 @@
                ],
                "UnitTestsList": [
                        "PageAssessmentsHooks::onUnitTestsList"
-               ]
+               ],
+               "ArticleDeleteComplete": [
+                       "PageAssessmentsHooks::onArticleDeleteComplete"
+               ],
        },
        "MessagesDirs": {
                "PageAssessments": [

-- 
To view, visit https://gerrit.wikimedia.org/r/268108
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I73a548a95c80c0032ec708200b04af0f686f5b6c
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/PageAssessments
Gerrit-Branch: master
Gerrit-Owner: Niharika29 <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to