From feb39a5019ed4ae2431647d360117ef74f616dc3 Mon Sep 17 00:00:00 2001 From: Jeroen De Dauw Date: Mon, 6 Feb 2023 16:30:26 +0100 Subject: [PATCH] DNM WIP permissions spike https://github.com/ProfessionalWiki/AutomatedValues/issues/23 --- src/Hooks.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/Hooks.php b/src/Hooks.php index 2258fbf..3c93b2e 100644 --- a/src/Hooks.php +++ b/src/Hooks.php @@ -5,8 +5,10 @@ namespace ProfessionalWiki\AutomatedValues; use EditPage; +use MediaWiki\MediaWikiServices; use MediaWiki\Revision\RenderedRevision; use MediaWiki\Revision\RevisionAccessException; +use MediaWiki\User\UserIdentity; use OutputPage; use ProfessionalWiki\AutomatedValues\DataAccess\RulesJsonValidator; use Title; @@ -15,7 +17,7 @@ class Hooks { - public static function onMultiContentSave( RenderedRevision $renderedRevision ): void { + public static function onMultiContentSave( RenderedRevision $renderedRevision, UserIdentity $user ): void { try { $content = $renderedRevision->getRevision()->getSlot( 'main' )->getContent(); } @@ -31,6 +33,12 @@ public static function onMultiContentSave( RenderedRevision $renderedRevision ): if ( isset( $entity ) && $entity instanceof StatementListProvidingEntity ) { AutomatedValuesFactory::getInstance()->getRulesLookup()->getRules()->applyTo( $entity ); + + $u = MediaWikiServices::getInstance()->getUserFactory()->newFromUserIdentity( $user ); + + if ( !$u->isAllowed( 'TODO-wb-editing' ) ) { + // TODO: temporarily grant the rights + } } } }