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