Example #1
0
 /**
  * POST_SUBMIT event handler for 'childEvents' child field
  *
  * @param FormEvent $event
  */
 public function postSubmitChildEvents(FormEvent $event)
 {
     /** @var CalendarEvent[] $data */
     $data = $event->getForm()->getData();
     if ($data && $this->parentEvent) {
         foreach ($data as $key => $calendarEvent) {
             $existingEvent = $this->parentEvent->getChildEventByCalendar($calendarEvent->getCalendar());
             if ($existingEvent) {
                 $data[$key] = $existingEvent;
             }
         }
     }
 }
Example #2
0
 public function testGetChildEventByCalendar()
 {
     $firstCalendar = new Calendar();
     $firstCalendar->setName('1');
     $secondCalendar = new Calendar();
     $secondCalendar->setName('2');
     $firstEvent = new CalendarEvent();
     $firstEvent->setTitle('1')->setCalendar($firstCalendar);
     $secondEvent = new CalendarEvent();
     $secondEvent->setTitle('2')->setCalendar($secondCalendar);
     $masterEvent = new CalendarEvent();
     $masterEvent->addChildEvent($firstEvent)->addChildEvent($secondEvent);
     $this->assertEquals($firstEvent, $masterEvent->getChildEventByCalendar($firstCalendar));
     $this->assertEquals($secondEvent, $masterEvent->getChildEventByCalendar($secondCalendar));
     $this->assertNull($masterEvent->getChildEventByCalendar(new Calendar()));
 }