Robert Vogel has submitted this change and it was merged.

Change subject: Review: Separated from Statebar|Added Hook AfterMakeJSDataObject
......................................................................


Review: Separated from Statebar|Added Hook AfterMakeJSDataObject

* Separated makeJSDataObject from Statebar - Now Review works without it
* Added Hook BsReviewAfterMakeJSDataObject

Change-Id: I0be7a082e158718902c768c6d2c69c49f91fdd31
(cherry picked from commit 90d978878ab3fedf0fa054da026dd4c57e7d2e53)
---
M Review/Review.class.php
1 file changed, 46 insertions(+), 34 deletions(-)

Approvals:
  Robert Vogel: Verified; Looks good to me, approved



diff --git a/Review/Review.class.php b/Review/Review.class.php
index dc387ed..da28bc9 100644
--- a/Review/Review.class.php
+++ b/Review/Review.class.php
@@ -810,12 +810,6 @@
                        }
                        $sIcon .= ".png";
 
-                       //This hook is too late for OutputPage::addJsConfigVars
-                       $this->getOutput()->addHTML(
-                                       Html::inlineScript(
-                                                       'var bsReview = ' . 
Xml::encodeJsVar($this->makeJSDataObject($oRev)) . ';'
-                                       )
-                       );
                        $aTopViews['statebartopreview'] = 
$this->makeStateBarTopReview($sIcon);
                }
                return true;
@@ -827,37 +821,47 @@
         * @param BsReviewProcess $oReview
         * @return \stdClass
         */
-       protected function makeJSDataObject($oReview) {
-               //TODO: Allow injection of data by ExtendedReview or other 
extensions
+       protected function makeJSDataObject( $oReview ) {
+               //Defaults
                $oData = new stdClass();
-               $oData->startdate = strtotime($oReview->startdate);
-               $oData->enddate = strtotime($oReview->enddate);
-               $oData->owner_user_id = $oReview->getOwner();
-               $oData->owner_user_name = 
User::newFromId($oReview->getOwner())->getName();
-               $oData->page_id = $oReview->getPid();
-               $oData->page_prefixed_text = 
Title::newFromID($oReview->getPid())->getPrefixedText();
-               $oData->editable = $oReview->isEditable();
-               $oData->sequential = $oReview->isSequential();
-               $oData->abortable = $oReview->isAbortWhenDenied();
-               $oData->steps = array();
 
-               foreach ($oReview->steps as $oStep) {
-                       if ($oStep instanceof BsReviewProcessStep == false)
-                               continue;
-
-                       $oUser = User::newFromId($oStep->user);
-
-                       $aStep = array(
-                               'user_id' => $oStep->user,
-                               'user_name' => $oUser->getName(),
-                               'user_display_name' => 
BsCore::getUserDisplayName($oUser),
-                               'comment' => $oStep->comment,
-                               'status' => $oStep->status,
-                               'sort_id' => $oStep->sort_id,
-                       );
-
-                       $oData->steps[] = $aStep;
+               $oTitle = $this->getContext()->getTitle();
+               if( !is_null($oTitle) ) {
+                       $oData->page_id =$oTitle->getArticleID();
                }
+
+               if( $oReview !== false ) {
+                       $oData->startdate = strtotime($oReview->startdate);
+                       $oData->enddate = strtotime($oReview->enddate);
+                       $oData->owner_user_id = $oReview->getOwner();
+                       $oData->owner_user_name = 
User::newFromId($oReview->getOwner())->getName();
+                       $oData->page_id = $oReview->getPid();
+                       $oData->page_prefixed_text = 
Title::newFromID($oReview->getPid())->getPrefixedText();
+                       $oData->editable = $oReview->isEditable();
+                       $oData->sequential = $oReview->isSequential();
+                       $oData->abortable = $oReview->isAbortWhenDenied();
+                       $oData->steps = array();
+
+                       foreach ($oReview->steps as $oStep) {
+                               if ($oStep instanceof BsReviewProcessStep == 
false)
+                                       continue;
+
+                               $oUser = User::newFromId($oStep->user);
+
+                               $aStep = array(
+                                       'user_id' => $oStep->user,
+                                       'user_name' => $oUser->getName(),
+                                       'user_display_name' => 
BsCore::getUserDisplayName($oUser),
+                                       'comment' => $oStep->comment,
+                                       'status' => $oStep->status,
+                                       'sort_id' => $oStep->sort_id,
+                               );
+
+                               $oData->steps[] = $aStep;
+                       }
+               }
+
+               wfRunHooks( 'BsReviewAfterMakeJSDataObject', array( $oReview, 
&$oData ) );
 
                return $oData;
        }
@@ -1197,6 +1201,14 @@
                $bUserCanEdit = $out->getTitle()->userCan('workflowedit');
                $out->addJsConfigVars('bsReviewUserCanEdit', $bUserCanEdit);
 
+               $oRev = BsReviewProcess::newFromPid(
+                       $out->getTitle()->getArticleID()
+               );
+               $out->addJsConfigVars(
+                       'bsReview',
+                       $this->makeJSDataObject( $oRev )
+               );
+
                return true;
        }
 

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I0be7a082e158718902c768c6d2c69c49f91fdd31
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/BlueSpiceExtensions
Gerrit-Branch: REL1_23
Gerrit-Owner: Robert Vogel <vo...@hallowelt.biz>
Gerrit-Reviewer: Pwirth <wi...@hallowelt.biz>
Gerrit-Reviewer: Robert Vogel <vo...@hallowelt.biz>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to