/** * Create a new frequency event * * @param Frequency $frequency * @param type $cov * Value for the current antenna field * @param type $freqstatus * Value for the current frequency state field * @param cause Valeur du champ cause * @param Event $parent * @param \DateTime $startdate * @param User $author * @param type $messages */ public function addChangeFrequencyCovEvent(Frequency $frequency, $cov, $freqstatus, $cause, \DateTime $startdate, $enddate, \Core\Entity\User $author, Event $parent = null, &$messages = null) { $em = $this->getEntityManager(); $event = new Event(); if ($parent) { $event->setParent($parent); } $status = $em->getRepository('Application\\Entity\\Status')->find('2'); $impact = $em->getRepository('Application\\Entity\\Impact')->find('3'); $event->setImpact($impact); $event->setStatus($status); $event->setStartdate($startdate); $event->setEnddate($enddate); $event->setPunctual(false); // TODO fix horrible en attendant de gérer correctement les fréquences sans secteur if ($frequency->getDefaultsector()) { $event->setOrganisation($frequency->getDefaultsector()->getZone()->getOrganisation()); $event->addZonefilter($frequency->getDefaultsector()->getZone()); } else { $event->setOrganisation($author->getOrganisation()); } $event->setAuthor($author); $categories = $em->getRepository('Application\\Entity\\FrequencyCategory')->findBy(array('defaultfrequencycategory' => true)); if ($categories) { $cat = $categories[0]; $event->setCategory($cat); $frequencyfieldvalue = new CustomFieldValue(); $frequencyfieldvalue->setCustomField($cat->getFrequencyField()); $frequencyfieldvalue->setEvent($event); $frequencyfieldvalue->setValue($frequency->getId()); $event->addCustomFieldValue($frequencyfieldvalue); $statusfield = new CustomFieldValue(); $statusfield->setCustomField($cat->getStateField()); $statusfield->setEvent($event); $statusfield->setValue($freqstatus); $event->addCustomFieldValue($statusfield); $covfield = new CustomFieldValue(); $covfield->setCustomField($cat->getCurrentAntennaField()); $covfield->setEvent($event); $covfield->setValue($cov); $event->addCustomFieldValue($covfield); $causefield = new CustomFieldValue(); $causefield->setCustomField($cat->getCauseField()); $causefield->setEvent($event); $causefield->setValue($cause); $event->addCustomFieldValue($causefield); $em->persist($event); try { $em->flush(); if ($messages != null) { $messages['success'][] = "Changement de couverture de la fréquence " . $frequency->getValue() . " enregistré."; } } catch (\Exception $e) { if ($messages != null) { $messages['error'][] = $e->getMessage(); } else { error_log($e->getMessage()); } } } else { if ($messages != null) { $messages['error'][] = "Impossible de passer les couvertures en secours : aucune catégorie trouvée."; } } }
public function __invoke(Frequency $frequency, $name) { $html = "<ul class=\"sector dropdown-menu\" data-freq=\"" . $frequency->getId() . "\">"; $html .= "<div class=\"sector-color frequency-" . $frequency->getId() . "\">"; $html .= "<li class=\"sector-name\">" . $name . "</li>"; $html .= "<li class=\"sector-freq\"><a href=\"#\" class=\"actions-freq\" data-freq=\"" . $frequency->getId() . "\">" . $frequency->getValue() . "</a></li>"; $html .= "</div>"; $html .= "<li class=\"divider\"></li>"; $html .= "<ul class=\"antennas\">"; $html .= "<div data-antennaid=\"" . $frequency->getMainantenna()->getId() . "\" class=\"mainantenna-color antenna-color antenna-" . $frequency->getMainAntenna()->getId() . "\">"; $html .= "<li><a href=\"#\" class=\"actions-antenna\" data-id=\"" . $frequency->getMainantenna()->getId() . "\">" . $frequency->getMainAntenna()->getShortname() . "</a></li>"; $html .= "</div>"; $html .= "<div data-antennaid=\"" . $frequency->getBackupantenna()->getId() . "\" class=\"backupantenna-color antenna-color antenna-" . $frequency->getBackupAntenna()->getId() . "\">"; $html .= "<li><a href=\"#\" class=\"actions-antenna\" data-id=\"" . $frequency->getBackupantenna()->getId() . "\">" . $frequency->getBackupAntenna()->getShortname() . "</a></li>"; $html .= "</div>"; $html .= "</ul>"; if ($frequency->getMainantennaclimax() || $frequency->getBackupantennaclimax()) { $html .= "<ul class=\"antennas\">"; $html .= "<div data-antennaid=\"" . ($frequency->getMainantennaclimax() ? $frequency->getMainantennaclimax()->getId() : "") . "\" class=\"mainantenna-color antenna-color antenna-climax-color antenna-" . ($frequency->getMainantennaclimax() ? $frequency->getMainantennaclimax()->getId() : "") . "\">"; $html .= "<li>" . ($frequency->getMainantennaclimax() ? "<a href=\"#\" class=\"actions-antenna\" data-id=\"" . $frequency->getMainantennaclimax()->getId() . "\">" . $frequency->getMainantennaclimax()->getShortname() . "</a>" : "") . "</li>"; $html .= "</div>"; if ($frequency->getBackupantennaclimax()) { $html .= "<div data-antennaid=\"" . ($frequency->getBackupantennaclimax() ? $frequency->getBackupantennaclimax()->getId() : "") . "\" class=\"backupantenna-color antenna-color antenna-climax-color antenna-" . ($frequency->getBackupantennaclimax() ? $frequency->getBackupantennaclimax()->getId() : "") . "\">"; $html .= "<li>" . ($frequency->getBackupantennaclimax() ? "<a href=\"#\" class=\"actions-antenna\" data-id=\"" . $frequency->getBackupantennaclimax()->getId() . "\">" . $frequency->getBackupantennaclimax()->getShortname() . "</a>" : "") . "</li>"; $html .= "</div>"; } $html .= "</ul>"; } $html .= '</ul>'; return $html; }