/**
  * Returns a List of all notifications for the session user
  */
 public function actionIndex()
 {
     $pageSize = 10;
     $notifications = [];
     $filterForm = new FilterForm();
     $filterForm->initFilter();
     $filterForm->load(Yii::$app->request->get());
     $query = Notification::findGrouped();
     $query->andWhere(['user_id' => Yii::$app->user->id]);
     if ($filterForm->isExcludeFilter()) {
         $query->andFilterWhere(['not in', 'class', $filterForm->getExcludeClassFilter()]);
     } else {
         if ($filterForm->isActive()) {
             $query->andFilterWhere(['in', 'class', $filterForm->getIncludeClassFilter()]);
         } else {
             return $this->render('index', ['notificationEntries' => [], 'filterForm' => $filterForm, 'pagination' => null, 'notifications' => $notifications]);
         }
     }
     $countQuery = clone $query;
     $pagination = new \yii\data\Pagination(['totalCount' => $countQuery->count(), 'pageSize' => $pageSize]);
     //Reset pagegination after new filter set
     if (Yii::$app->request->post()) {
         $pagination->setPage(0);
     }
     $query->offset($pagination->offset)->limit($pagination->limit);
     foreach ($query->all() as $notificationRecord) {
         $notifications[] = $notificationRecord->getClass();
     }
     return $this->render('index', array('notifications' => $notifications, 'filterForm' => $filterForm, 'pagination' => $pagination));
 }