/** * POST_SUBMIT event handler * * @param FormEvent $event */ public function postSubmitData(FormEvent $event) { $form = $event->getForm(); /** @var CalendarEvent $data */ $data = $form->getData(); if (empty($data)) { return; } $calendarId = $form->get('calendar')->getData(); if (empty($calendarId)) { return; } $calendarAlias = $form->get('calendarAlias')->getData(); if (empty($calendarAlias)) { $calendarAlias = Calendar::CALENDAR_ALIAS; } $this->calendarEventManager->setCalendar($data, $calendarAlias, (int) $calendarId); }
/** * POST_SUBMIT event handler * * @param FormEvent $event */ public function postSubmitData(FormEvent $event) { $form = $event->getForm(); $data = $form->getData(); if (empty($data)) { return; } if (is_array($data)) { $data = reset($data); } /** @var CalendarEvent $parentData */ $parentData = $form->getParent()->getData(); if (!$parentData) { return; } list($calendarAlias, $calendarId) = $this->calendarEventManager->parseCalendarUid($data); $this->calendarEventManager->setCalendar($parentData, $calendarAlias, $calendarId); }
public function testSetPublicCalendar() { $calendarId = 123; $calendar = new SystemCalendar(); $calendar->setPublic(true); ReflectionUtil::setId($calendar, $calendarId); $event = new CalendarEvent(); $this->calendarConfig->expects($this->once())->method('isPublicCalendarEnabled')->will($this->returnValue(true)); $repo = $this->getMockBuilder('Oro\\Bundle\\CalendarBundle\\Entity\\Repository\\SystemCalendarRepository')->disableOriginalConstructor()->getMock(); $this->doctrineHelper->expects($this->once())->method('getEntityRepository')->with('OroCalendarBundle:SystemCalendar')->will($this->returnValue($repo)); $repo->expects($this->once())->method('find')->with($calendarId)->will($this->returnValue($calendar)); $this->manager->setCalendar($event, SystemCalendar::PUBLIC_CALENDAR_ALIAS, $calendarId); $this->assertSame($calendar, $event->getSystemCalendar()); }