Example #1
0
 private function getEventJson(Event $event)
 {
     $objectManager = $this->getServiceLocator()->get('Doctrine\\ORM\\EntityManager');
     $logsRepo = $objectManager->getRepository("Application\\Entity\\Log");
     $eventservice = $this->getServiceLocator()->get('EventService');
     $customfieldservice = $this->getServiceLocator()->get('CustomFieldService');
     $json = array('id' => $event->getId(), 'name' => $eventservice->getName($event), 'modifiable' => $eventservice->isModifiable($event) && !$event->isReadOnly() ? true : false, 'deleteable' => $this->isGranted('events.delete') ? true : false, 'start_date' => $event->getStartdate() ? $event->getStartdate()->format(DATE_RFC2822) : null, 'end_date' => $event->getEnddate() ? $event->getEnddate()->format(DATE_RFC2822) : null, 'punctual' => $event->isPunctual() ? true : false, 'category_root' => $event->getCategory()->getParent() ? $event->getCategory()->getParent()->getName() : $event->getCategory()->getName(), 'category_root_id' => $event->getCategory()->getParent() ? $event->getCategory()->getParent()->getId() : $event->getCategory()->getId(), 'category_root_short' => $event->getCategory()->getParent() ? $event->getCategory()->getParent()->getShortName() : $event->getCategory()->getShortName(), 'category' => $event->getCategory()->getName(), 'category_id' => $event->getCategory()->getId(), 'category_short' => $event->getCategory()->getShortName(), 'category_compact' => $event->getCategory()->isCompactMode() ? true : false, 'category_place' => $event->getCategory()->getParent() ? $event->getCategory()->getPlace() : -1, 'status_name' => $event->getStatus()->getName(), 'status_id' => $event->getStatus()->getId(), 'impact_value' => $event->getImpact()->getValue(), 'impact_name' => $event->getImpact()->getName(), 'impact_style' => $event->getImpact()->getStyle(), 'files' => count($event->getFiles()), 'url_file1' => count($event->getFiles()) > 0 ? $event->getFiles()[0]->getPath() : '', 'star' => $event->isStar() ? true : false, 'scheduled' => $event->isScheduled() ? true : false, 'recurr' => $event->getRecurrence() ? true : false, 'recurr_readable' => $event->getRecurrence() ? $event->getRecurrence()->getHumanReadable() : '');
     $fields = array();
     $formatterSimple = \IntlDateFormatter::create('fr_FR', \IntlDateFormatter::FULL, \IntlDateFormatter::FULL, 'UTC', \IntlDateFormatter::GREGORIAN, 'dd LLL HH:mm');
     $milestones = array();
     foreach ($event->getCustomFieldsValues() as $value) {
         if ($value->getCustomField()->isTraceable()) {
             foreach (array_reverse($logsRepo->getLogEntries($value)) as $log) {
                 $name = $formatterSimple->format($log->getLoggedAt()) . ' ' . $value->getCustomField()->getName();
                 $i = 0;
                 while (array_key_exists($name, $fields)) {
                     $i++;
                     $name = $formatterSimple->format($log->getLoggedAt()) . '-' . $i . ' ' . $value->getCustomField()->getName();
                 }
                 $formattedvalue = $customfieldservice->getFormattedValue($value->getCustomField(), $log->getData()["value"]);
                 $fields[$name] = $formattedvalue;
             }
         } else {
             $formattedvalue = $customfieldservice->getFormattedValue($value->getCustomField(), $value->getValue());
             if ($formattedvalue != null) {
                 $fields[$value->getCustomField()->getName()] = $formattedvalue;
             }
         }
         $i = 0;
         if ($value->getCustomField()->isMilestone()) {
             foreach (array_reverse($logsRepo->getLogEntries($value)) as $log) {
                 //store only changes -> skip firt log
                 if ($i > 0) {
                     $milestones[] = $log->getLoggedAt()->format(DATE_RFC2822);
                 }
                 $i++;
             }
         }
     }
     $json['milestones'] = $milestones;
     $formatter = \IntlDateFormatter::create(\Locale::getDefault(), \IntlDateFormatter::FULL, \IntlDateFormatter::FULL, 'UTC', \IntlDateFormatter::GREGORIAN, 'dd LLL, HH:mm');
     foreach ($event->getUpdates() as $update) {
         $key = $formatter->format($update->getCreatedOn());
         $tempkey = $formatter->format($update->getCreatedOn());
         $i = 0;
         while (array_key_exists($tempkey, $fields)) {
             $i++;
             $tempkey = $key . '-' . $i;
         }
         $fields[$tempkey] = nl2br($update->getText());
     }
     $json['fields'] = $fields;
     return $json;
 }
Example #2
0
 /**
  * @param User $user
  * @param Event $event
  * @return null|object
  */
 public function getRsvpForEventByUser(User $user, Event $event)
 {
     $entityRepository = $this->entityManager->getRepository('Application\\Entity\\RSVP');
     $rsvp = $entityRepository->findOneBy(['event' => $event->getId(), 'user' => $user->getId()]);
     return $rsvp;
 }
Example #3
0
 private function getEventJson(Event $event)
 {
     $eventservice = $this->getServiceLocator()->get('EventService');
     $customfieldservice = $this->getServiceLocator()->get('CustomFieldService');
     $json = array('id' => $event->getId(), 'name' => $eventservice->getName($event), 'modifiable' => $eventservice->isModifiable($event) && !$event->isReadOnly() ? true : false, 'start_date' => $event->getStartdate() ? $event->getStartdate()->format(DATE_RFC2822) : null, 'end_date' => $event->getEnddate() ? $event->getEnddate()->format(DATE_RFC2822) : null, 'punctual' => $event->isPunctual() ? true : false, 'category_root' => $event->getCategory()->getParent() ? $event->getCategory()->getParent()->getName() : $event->getCategory()->getName(), 'category_root_id' => $event->getCategory()->getParent() ? $event->getCategory()->getParent()->getId() : $event->getCategory()->getId(), 'category_root_short' => $event->getCategory()->getParent() ? $event->getCategory()->getParent()->getShortName() : $event->getCategory()->getShortName(), 'category' => $event->getCategory()->getName(), 'category_id' => $event->getCategory()->getId(), 'category_short' => $event->getCategory()->getShortName(), 'category_compact' => $event->getCategory()->isCompactMode() ? true : false, 'category_place' => $event->getCategory()->getParent() ? $event->getCategory()->getPlace() : -1, 'status_name' => $event->getStatus()->getName(), 'status_id' => $event->getStatus()->getId(), 'impact_value' => $event->getImpact()->getValue(), 'impact_name' => $event->getImpact()->getName(), 'impact_style' => $event->getImpact()->getStyle(), 'files' => count($event->getFiles()), 'url_file1' => count($event->getFiles()) > 0 ? $event->getFiles()[0]->getPath() : '', 'star' => $event->isStar() ? true : false, 'scheduled' => $event->isScheduled() ? true : false);
     $fields = array();
     foreach ($event->getCustomFieldsValues() as $value) {
         $formattedvalue = $customfieldservice->getFormattedValue($value->getCustomField(), $value->getValue());
         if ($formattedvalue != null) {
             $fields[$value->getCustomField()->getName()] = $formattedvalue;
         }
     }
     $formatter = \IntlDateFormatter::create(\Locale::getDefault(), \IntlDateFormatter::FULL, \IntlDateFormatter::FULL, 'UTC', \IntlDateFormatter::GREGORIAN, 'dd LLL, HH:mm');
     foreach ($event->getUpdates() as $update) {
         $key = $formatter->format($update->getCreatedOn());
         $tempkey = $formatter->format($update->getCreatedOn());
         $i = 0;
         while (array_key_exists($tempkey, $fields)) {
             $i++;
             $tempkey = $key . '-' . $i;
         }
         $fields[$tempkey] = nl2br($update->getText());
     }
     $json['fields'] = $fields;
     return $json;
 }