/**
  * @param   string $moduleName
  * @param   bool $forceEmptyResults
  * Return an empty listView
  * @return  View
  */
 public function getListView($moduleName, $forceEmptyResults = false)
 {
     assert('is_string($moduleName)');
     $pageSize = $this->pageSize;
     $module = Yii::app()->findModule($moduleName);
     $searchFormClassName = $module::getGlobalSearchFormClassName();
     $modelClassName = $module::getPrimaryModelName();
     $model = new $modelClassName(false);
     $searchForm = new $searchFormClassName($model);
     $sanitizedSearchAttributes = MixedTermSearchUtil::getGlobalSearchAttributeByModuleAndPartialTerm($module, $this->term);
     $metadataAdapter = new SearchDataProviderMetadataAdapter($searchForm, $this->user->id, $sanitizedSearchAttributes);
     $listViewClassName = $module::getPluralCamelCasedName() . 'ForMixedModelsSearchListView';
     $sortAttribute = SearchUtil::resolveSortAttributeFromGetArray($modelClassName);
     $sortDescending = SearchUtil::resolveSortDescendingFromGetArray($modelClassName);
     if ($forceEmptyResults) {
         $dataProviderClass = 'EmptyRedBeanModelDataProvider';
         $emptyText = '';
     } else {
         $dataProviderClass = 'RedBeanModelDataProvider';
         $emptyText = null;
     }
     $dataProvider = RedBeanModelDataProviderUtil::makeDataProvider($metadataAdapter->getAdaptedMetadata(false), $modelClassName, $dataProviderClass, $sortAttribute, $sortDescending, $pageSize, $module->getStateMetadataAdapterClassName());
     $listView = new $listViewClassName('default', $module->getId(), $modelClassName, $dataProvider, GetUtil::resolveSelectedIdsFromGet(), '-' . $moduleName, array('route' => '', 'class' => 'SimpleListLinkPager', 'firstPageLabel' => '<span>first</span>', 'prevPageLabel' => '<span>previous</span>', 'nextPageLabel' => '<span>next</span>', 'lastPageLabel' => '<span>last</span>'));
     $listView->setRowsAreSelectable(false);
     $listView->setEmptyText($emptyText);
     return $listView;
 }
 /**
  * Get latest activity feed list view
  * @return ListView
  */
 public static function getProjectsLatestActivityFeedView($controller, $pageSize)
 {
     $project = new Project(false);
     $searchForm = new ProjectsSearchForm($project);
     $dataProvider = RedBeanModelDataProviderUtil::makeDataProvider(array(), 'ProjectAuditEvent', 'RedBeanModelDataProvider', 'dateTime', true, $pageSize);
     $listView = new ProjectsFeedListView($controller->id, $controller->getModule()->getId(), get_class($searchForm->getModel()), $dataProvider, GetUtil::resolveSelectedIdsFromGet(), null, array(), $searchForm->getListAttributesSelector(), $searchForm->getKanbanBoard());
     return $listView;
 }
 /**
  * Make search and list view.
  * @param SearchForm $searchModel
  * @param string $moduleName
  * @param RedBeanModelDataProvider $dataProvider
  * @return \SearchAndListView
  */
 protected function makeSearchAndListView($searchModel, $moduleName, $dataProvider)
 {
     $listModel = $searchModel->getModel();
     return new SearchAndListView($this->getId(), $this->getModule()->getId(), $searchModel, $listModel, $moduleName, $dataProvider, GetUtil::resolveSelectedIdsFromGet());
 }
Ejemplo n.º 4
0
 protected function makeListView(SearchForm $searchForm, $dataProvider, $listViewClassName = null)
 {
     assert('is_string($listViewClassName) || $listViewClassName == null');
     $listModel = $searchForm->getModel();
     if ($listViewClassName == null) {
         $listViewClassName = $this->getModule()->getPluralCamelCasedName() . 'ListView';
     }
     $listView = new $listViewClassName($this->getId(), $this->getModule()->getId(), get_class($listModel), $dataProvider, GetUtil::resolveSelectedIdsFromGet(), null, array(), $searchForm->getListAttributesSelector(), $searchForm->getKanbanBoard());
     return $listView;
 }