public function testWeeklyWithCount() { $event = new Calendar_Model_Event(array('uid' => Tinebase_Record_Abstract::generateUID(), 'summary' => 'weekly end by count', 'dtstart' => '2012-01-10 10:00:00', 'dtend' => '2012-01-10 11:00:00', 'rrule' => 'FREQ=WEEKLY;BYDAY=TU;INTERVAL=1;COUNT=10', 'originator_tz' => 'Europe/Berlin')); $event->setRruleUntil(); $this->assertEquals('2012-03-13 11:00:00', $event->rrule_until->toString(Tinebase_Record_Abstract::ISO8601LONG)); }
/** * inspect before create/update * * @TODO move stuff from other places here * @param Calendar_Model_Event $_record the record to inspect */ protected function _inspectEvent($_record) { $_record->uid = $_record->uid ? $_record->uid : Tinebase_Record_Abstract::generateUID(); $_record->originator_tz = $_record->originator_tz ? $_record->originator_tz : Tinebase_Core::get(Tinebase_Core::USERTIMEZONE); $_record->organizer = $_record->organizer ? $_record->organizer : Tinebase_Core::getUser()->contact_id; // external organizer (iTIP) if (!$_record->resolveOrganizer()->account_id && count($_record->attendee) > 1) { $ownAttendee = Calendar_Model_Attender::getOwnAttender($_record->attendee); $_record->attendee = new Tinebase_Record_RecordSet('Calendar_Model_Attender', $ownAttendee ? array($ownAttendee) : array()); } $_record->setRruleUntil(); }