/**
  * Setup method for Insights_loopNotification.mustache template
  */
 public function loopNotification()
 {
     $subpage = $this->request->getVal('insight', null);
     if (InsightsHelper::isInsightPage($subpage)) {
         $model = InsightsHelper::getInsightModel($subpage);
         if ($model instanceof InsightsModel) {
             $params = [];
             $type = '';
             $isFixed = false;
             $articleName = $this->getVal('article', null);
             $title = Title::newFromText($articleName);
             $next = $model->getNextItem($model->getInsightType(), $articleName);
             $isEdit = $this->request->getBool('isEdit', false);
             if (!$isEdit) {
                 $isFixed = $model->isItemFixed($title);
                 if ($isFixed) {
                     $model->updateInsightsCache($title->getArticleId());
                 }
             }
             if ($isEdit) {
                 $params = $this->getInProgressNotificationParams($subpage);
                 $type = self::FLOW_STATUS_INPROGRESS;
             } elseif (!$isFixed) {
                 $params = $this->getNotFixedNotificationParams($subpage, $title, $model);
                 $type = self::FLOW_STATUS_NOTFIXED;
             } elseif ($isFixed && empty($next)) {
                 $params = $this->getCongratulationsNotificationParams($subpage);
                 $type = self::FLOW_STATUS_ALLDONE;
             } elseif ($isFixed) {
                 $params = $this->getInsightFixedNotificationParams($subpage, $next);
                 $type = self::FLOW_STATUS_FIXED;
             }
             $html = \MustacheService::getInstance()->render('extensions/wikia/Insights/templates/Insights_loopNotification.mustache', $params);
             $this->response->setData(['html' => $html, 'isFixed' => $isFixed, 'notificationType' => $type]);
         }
     }
 }