/** * Add My saved calendars. * * @param SavedCalendarSubscriptions $savedCalendarSubscriptions * @param User $user * @param string $selectedCalendarIds * @return \SavedCalendarSubscriptions */ private static function addMySavedCalendars(SavedCalendarSubscriptions $savedCalendarSubscriptions, User $user, $selectedCalendarIds) { $mySavedCalendars = CalendarUtil::getUserSavedCalendars($user); if (count($mySavedCalendars) == 0) { $mySavedCalendars = CalendarUtil::loadDefaultCalendars($user); $selectedCalendarIds = $mySavedCalendars[0]->id . ',' . $mySavedCalendars[1]->id; // Not Coding Standard } ZurmoConfigurationUtil::setByUserAndModuleName($user, 'CalendarsModule', 'myCalendarSelections', $selectedCalendarIds); $selectedCalendarIdArray = array(); if ($selectedCalendarIds != null) { $selectedCalendarIdArray = explode(',', $selectedCalendarIds); // Not Coding Standard } foreach ($mySavedCalendars as $key => $mySavedCalendar) { CalendarUtil::setMyCalendarColor($mySavedCalendar, $user); if (in_array($mySavedCalendar->id, $selectedCalendarIdArray)) { $savedCalendarSubscriptions->addMySavedCalendar($mySavedCalendar, true); } else { $savedCalendarSubscriptions->addMySavedCalendar($mySavedCalendar, false); } } }
/** * Populate saved calendar module. * * @param User $user * @param string $name * @param string $moduleClassName * @param string $startAttributeName * @param string $endAttributeName */ public static function populateSavedCalendar(User $user, $name, $moduleClassName, $startAttributeName, $endAttributeName = '') { $savedCalendar = new SavedCalendar(); $savedCalendar->name = $name; $savedCalendar->timeZone = $user->timeZone; $savedCalendar->location = 'Chicago'; $savedCalendar->moduleClassName = $moduleClassName; $savedCalendar->startAttributeName = $startAttributeName; $savedCalendar->endAttributeName = $endAttributeName; assert($savedCalendar->save()); // Not Coding Standard CalendarUtil::setMyCalendarColor($savedCalendar, $user); $filtersData = array('filtersStructure' => '1', 'Filters' => array(array('attributeIndexOrDerivedType' => 'owner__User', 'structurePosition' => '1', 'operator' => 'equals', 'value' => $user->id, 'stringifiedModelForValue' => strval($user), 'availableAtRunTime' => '0'))); CalendarUtil::populateFiltersDataInModel($savedCalendar, $filtersData); assert($savedCalendar->save()); // Not Coding Standard return $savedCalendar; }
public function testSetMyCalendarColor() { $savedCalendar = CalendarTestHelper::createSavedCalendarByName('Color Cal', null); CalendarUtil::setMyCalendarColor($savedCalendar, Yii::app()->user->userModel); $this->assertNotEquals('#66367b', $savedCalendar->color); $this->assertNotEquals('#315AB0', $savedCalendar->color); }