コード例 #1
0
 /**
  * Populate details url for calendar items.
  * @param array $items
  * @return array
  */
 public static function populateDetailsUrlForCalendarItems($items)
 {
     assert('is_array($items)');
     $moduleClassNames = CalendarUtil::getAvailableModulesForCalendar();
     foreach ($items as $index => $item) {
         foreach ($moduleClassNames as $moduleClassName => $label) {
             if ($moduleClassName::getPrimaryModelName() == $item['modelClass']) {
                 $moduleId = $moduleClassName::getDirectoryName();
                 $item['detailsUrl'] = Yii::app()->createUrl($moduleId . '/default/details', array('id' => $item['modelId']));
                 $items[$index] = $item;
             }
         }
     }
     return $items;
 }
 /**
  * Get modules available to be used with calendar.
  * @return array
  */
 protected function getAvailableModulesForCalendar()
 {
     $moduleClassNames = CalendarUtil::getAvailableModulesForCalendar();
     asort($moduleClassNames);
     return $moduleClassNames;
 }
コード例 #3
0
 /**
  * @covers CalendarModuleClassNameDropDownElement::getAvailableModulesForCalendar
  */
 public function testGetAvailableModulesForCalendar()
 {
     $availableModuleClassNames = CalendarUtil::getAvailableModulesForCalendar();
     $this->assertGreaterThan(2, count($availableModuleClassNames));
     $this->assertTrue(in_array('Meetings', $availableModuleClassNames));
     $this->assertTrue(in_array('Tasks', $availableModuleClassNames));
 }