protected function getDataProvider($uniquePageId, $form)
 {
     assert('is_string($uniquePageId)');
     assert('$form instanceOf LatestActivitiesConfigurationForm');
     $pageSize = Yii::app()->pagination->resolveActiveForCurrentUserByType('subListPageSize');
     $filteredMashableModelClassNames = LatestActivitiesUtil::resolveMashableModelClassNamesByFilteredBy(array_keys($form->mashableModelClassNamesAndDisplayLabels), $form->filteredByModelName);
     $modelClassNamesAndSearchAttributeData = LatestActivitiesUtil::getSearchAttributesDataByModelClassNamesAndRelatedItemIds($filteredMashableModelClassNames, array(), $form->ownedByFilter);
     $modelClassNamesAndSortAttributes = LatestActivitiesUtil::getSortAttributesByMashableModelClassNames($filteredMashableModelClassNames);
     return new RedBeanModelsDataProvider($uniquePageId, $modelClassNamesAndSortAttributes, true, $modelClassNamesAndSearchAttributeData, array('pagination' => array('pageSize' => $pageSize)));
 }
 public function testGetSortAttributesByMashableModelClassNames()
 {
     Yii::app()->user->userModel = User::getByUsername('super');
     $modelClassNames = array('Meeting', 'Task', 'Note');
     $sortAttributeData = LatestActivitiesUtil::getSortAttributesByMashableModelClassNames($modelClassNames);
     $compareSortAttributeData = array('Meeting' => 'latestDateTime', 'Note' => 'latestDateTime', 'Task' => 'latestDateTime');
     $this->assertEquals($compareSortAttributeData, $sortAttributeData);
 }
 /**
  * @param string $uniquePageId
  * @param LatestActivitiesConfigurationForm $form
  * @return RedBeanModelsDataProvider
  */
 protected function getDataProvider($uniquePageId, $form)
 {
     assert('is_string($uniquePageId)');
     assert('$form instanceOf LatestActivitiesConfigurationForm');
     $pageSize = Yii::app()->pagination->resolveActiveForCurrentUserByType('subListPageSize');
     $filteredMashableModelClassNames = LatestActivitiesUtil::resolveMashableModelClassNamesByFilteredBy(array_keys($form->mashableModelClassNamesAndDisplayLabels), $form->filteredByModelName);
     $relationItemId = (int) $this->params['relationModel']->getClassId('Item');
     if ($form->rollup) {
         $relationItemsIds = ModelRollUpUtil::getItemIdsByModelAndUser($this->params['relationModel'], Yii::app()->user->userModel);
     } else {
         $relationItemsIds = array($relationItemId);
     }
     $modelClassNamesAndSearchAttributeData = LatestActivitiesUtil::getSearchAttributesDataByModelClassNamesAndRelatedItemIds($filteredMashableModelClassNames, $relationItemsIds, $form->ownedByFilter);
     $modelClassNamesAndSortAttributes = LatestActivitiesUtil::getSortAttributesByMashableModelClassNames($filteredMashableModelClassNames);
     return new RedBeanModelsDataProvider($uniquePageId, $modelClassNamesAndSortAttributes, true, $modelClassNamesAndSearchAttributeData, array('pagination' => array('pageSize' => $pageSize)));
 }