protected function getDataProvider(Report $report, $stickyKey, $runReport)
 {
     assert('is_string($stickyKey) || is_int($stickyKey)');
     assert('is_bool($runReport)');
     $getData = GetUtil::getData();
     if (isset($getData['clearRuntimeFilters']) && $getData['clearRuntimeFilters']) {
         StickyReportUtil::clearDataByKey($stickyKey);
     }
     if (null != ($stickyData = StickyReportUtil::getDataByKey($stickyKey))) {
         StickyReportUtil::resolveStickyDataToReport($report, $stickyData);
     }
     $pageSize = Yii::app()->pagination->resolveActiveForCurrentUserByType('reportResultsListPageSize', get_class($this->getModule()));
     $dataProvider = ReportDataProviderFactory::makeByReport($report, $pageSize);
     if ($runReport) {
         $dataProvider->setRunReport($runReport);
     }
     return $dataProvider;
 }
 /**
  * @param integer $rowCount
  * @param WizardActiveForm $form
  * @return array
  */
 protected function renderItems(&$rowCount, WizardActiveForm $form)
 {
     assert('is_int($rowCount)');
     $items = array();
     $wizardFormClassName = $this->getWizardFormClassName();
     $treeType = ComponentForReportForm::TYPE_FILTERS;
     $trackableStructurePosition = false;
     //can we set this to false without jacking things up?
     $report = $this->params["relationModel"];
     if (null != ($stickyData = StickyReportUtil::getDataByKey($report->id))) {
         StickyReportUtil::resolveStickyDataToReport($report, $stickyData);
     }
     foreach ($report->getFilters() as $filterForReportForm) {
         if ($filterForReportForm->availableAtRunTime) {
             $nodeIdWithoutTreeType = $filterForReportForm->attributeIndexOrDerivedType;
             $inputPrefixData = ReportRelationsAndAttributesToTreeAdapter::resolveInputPrefixData($wizardFormClassName, $treeType, $rowCount);
             $adapter = new RuntimeReportAttributeToElementAdapter($inputPrefixData, $filterForReportForm, $form, $treeType);
             $view = new AttributeRowForReportComponentView($adapter, $rowCount, $inputPrefixData, ReportRelationsAndAttributesToTreeAdapter::resolveAttributeByNodeId($nodeIdWithoutTreeType), (bool) $trackableStructurePosition, false, null);
             $view->addWrapper = false;
             $items[] = array('content' => $view->render());
         }
         $rowCount++;
     }
     return $items;
 }
 protected function getDataProviderForExport(Report $report, $stickyKey, $runReport)
 {
     assert('is_string($stickyKey) || is_int($stickyKey)');
     assert('is_bool($runReport)');
     if (null != ($stickyData = StickyReportUtil::getDataByKey($stickyKey))) {
         StickyReportUtil::resolveStickyDataToReport($report, $stickyData);
     }
     $pageSize = Yii::app()->pagination->resolveActiveForCurrentUserByType('reportResultsListPageSize', get_class($this->getModule()));
     $dataProvider = ReportDataProviderFactory::makeByReport($report, $pageSize);
     if (!$dataProvider instanceof MatrixReportDataProvider) {
         $totalItems = intval($dataProvider->calculateTotalItemCount());
         $dataProvider->getPagination()->setPageSize($totalItems);
     }
     if ($runReport) {
         $dataProvider->setRunReport($runReport);
     }
     return $dataProvider;
 }