01tonythomas has uploaded a new change for review.
https://gerrit.wikimedia.org/r/320090
Change subject: On deleting the main page, remove the newsletter from DB too
......................................................................
On deleting the main page, remove the newsletter from DB too
Change-Id: Id38bc798a1e6cca411e8d75b334ce39b298d498d
---
M Newsletter.hooks.php
M extension.json
2 files changed, 37 insertions(+), 0 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Newsletter
refs/changes/90/320090/1
diff --git a/Newsletter.hooks.php b/Newsletter.hooks.php
index d765bf1..4536962 100755
--- a/Newsletter.hooks.php
+++ b/Newsletter.hooks.php
@@ -174,4 +174,38 @@
$editPage->edit();
return false;
}
+
+ /**
+ * @param WikiPage $wikiPage
+ * @param User $user
+ * @param string $reason
+ * @param string $error
+ * @param Status $status
+ * @param $suppress
+ * @return bool
+ * @throws PermissionsError
+ */
+ public static function onArticleDelete( &$wikiPage, &$user, &$reason,
&$error, Status &$status, $suppress) {
+ global $wgOut;
+ if ( !$wikiPage->getTitle()->inNamespace( NS_NEWSLETTER ) ) {
+ return true;
+ }
+ $newsletter = Newsletter::newFromName(
$wikiPage->getTitle()->getText() );
+ if ( $newsletter ) {
+ if ( !$newsletter->canDelete( $user ) ) {
+ throw new PermissionsError( 'newsletter-delete'
);
+ }
+ $success = NewsletterStore::getDefaultInstance()
+ ->deleteNewsletter( $newsletter, $reason );
+ if ( $success ) {
+ return $status->newGood();
+ } else {
+ // Show error message and allow resubmitting in
case of failure
+ return $status->newFatal(
+ $wgOut->msg(
'newsletter-delete-failure' )->rawParams( $newsletter->getName() )
+ );
+ }
+ }
+ return true;
+ }
}
diff --git a/extension.json b/extension.json
index 6876d65..2e1c8af 100644
--- a/extension.json
+++ b/extension.json
@@ -157,6 +157,9 @@
],
"CustomEditor": [
"NewsletterHooks::onCustomEditor"
+ ],
+ "ArticleDelete": [
+ "NewsletterHooks::onArticleDelete"
]
},
"namespaces": [
--
To view, visit https://gerrit.wikimedia.org/r/320090
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Id38bc798a1e6cca411e8d75b334ce39b298d498d
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Newsletter
Gerrit-Branch: master
Gerrit-Owner: 01tonythomas <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits