Example #1
0
 public function load(ObjectManager $manager)
 {
     $stringType = $manager->getRepository('Application\\Entity\\CustomFieldType')->findOneBy(array('type' => 'string'));
     $category = $this->getReference("category");
     $name = new CustomField();
     $name->setName("Nom");
     $name->setType($stringType);
     $name->setCategory($category);
     $name->setDefaultValue("");
     $name->setTooltip("");
     $category->setFieldname($name);
     $manager->persist($name);
     $manager->persist($category);
     $manager->flush();
 }
 public function createBrouillageCategory()
 {
     $em = $this->getEntityManager();
     $brouillagecat = new BrouillageCategory();
     $frequencyfield = new CustomField();
     $frequencyfield->setCategory($brouillagecat);
     $frequencyfield->setName('Fréquence');
     $frequencyfield->setType($em->getRepository('Application\\Entity\\CustomFieldType')->findOneBy(array('type' => 'frequency')));
     $frequencyfield->setPlace(1);
     $frequencyfield->setDefaultValue("");
     $frequencyfield->setTooltip("");
     $levelfield = new CustomField();
     $levelfield->setCategory($brouillagecat);
     $levelfield->setName('Niveau');
     $levelfield->setType($em->getRepository('Application\\Entity\\CustomFieldType')->findOneBy(array('type' => 'string')));
     $levelfield->setPlace(2);
     $levelfield->setDefaultValue("");
     $levelfield->setTooltip("");
     $rnavfield = new CustomField();
     $rnavfield->setCategory($brouillagecat);
     $rnavfield->setName('Balise');
     $rnavfield->setType($em->getRepository('Application\\Entity\\CustomFieldType')->findOneBy(array('type' => 'string')));
     $rnavfield->setPlace(3);
     $rnavfield->setDefaultValue("");
     $rnavfield->setTooltip("");
     $distancefield = new CustomField();
     $distancefield->setCategory($brouillagecat);
     $distancefield->setName('Distance');
     $distancefield->setType($em->getRepository('Application\\Entity\\CustomFieldType')->findOneBy(array('type' => 'string')));
     $distancefield->setPlace(4);
     $distancefield->setDefaultValue("");
     $distancefield->setTooltip("");
     $azimutfield = new CustomField();
     $azimutfield->setCategory($brouillagecat);
     $azimutfield->setName('Azimut');
     $azimutfield->setType($em->getRepository('Application\\Entity\\CustomFieldType')->findOneBy(array('type' => 'string')));
     $azimutfield->setPlace(5);
     $azimutfield->setDefaultValue("");
     $azimutfield->setTooltip("");
     $originfield = new CustomField();
     $originfield->setCategory($brouillagecat);
     $originfield->setName('Plaignant');
     $originfield->setType($em->getRepository('Application\\Entity\\CustomFieldType')->findOneBy(array('type' => 'select')));
     $originfield->setPlace(6);
     $originfield->setDefaultValue("Sol\nBord\nSol+Bord");
     $originfield->setTooltip("");
     $typefield = new CustomField();
     $typefield->setCategory($brouillagecat);
     $typefield->setName('Type de bruit');
     $typefield->setType($em->getRepository('Application\\Entity\\CustomFieldType')->findOneBy(array('type' => 'select')));
     $typefield->setPlace(7);
     $typefield->setDefaultValue("Brouillage\nInterférence");
     $typefield->setTooltip("");
     $causebrouillagefield = new CustomField();
     $causebrouillagefield->setCategory($brouillagecat);
     $causebrouillagefield->setName('Cause du brouillage');
     $causebrouillagefield->setType($em->getRepository('Application\\Entity\\CustomFieldType')->findOneBy(array('type' => 'select')));
     $causebrouillagefield->setPlace(8);
     $causebrouillagefield->setDefaultValue("Radio FM\nBruit industriel\nAutre\nRien");
     $causebrouillagefield->setTooltip("");
     $causeinterferencefield = new CustomField();
     $causeinterferencefield->setCategory($brouillagecat);
     $causeinterferencefield->setName('Cause interférence');
     $causeinterferencefield->setType($em->getRepository('Application\\Entity\\CustomFieldType')->findOneBy(array('type' => 'select')));
     $causeinterferencefield->setPlace(10);
     $causeinterferencefield->setDefaultValue("Porteuse\nÉmission permanente\nAutre fréquence");
     $causeinterferencefield->setTooltip("");
     $commentairebrouillagefield = new CustomField();
     $commentairebrouillagefield->setCategory($brouillagecat);
     $commentairebrouillagefield->setName('Cause du brouillage (commentaire)');
     $commentairebrouillagefield->setType($em->getRepository('Application\\Entity\\CustomFieldType')->findOneBy(array('type' => 'text')));
     $commentairebrouillagefield->setPlace(9);
     $commentairebrouillagefield->setDefaultValue("");
     $commentairebrouillagefield->setTooltip("");
     $commentaireinterferencefield = new CustomField();
     $commentaireinterferencefield->setCategory($brouillagecat);
     $commentaireinterferencefield->setName('Cause interférence (commentaire)');
     $commentaireinterferencefield->setType($em->getRepository('Application\\Entity\\CustomFieldType')->findOneBy(array('type' => 'text')));
     $commentaireinterferencefield->setPlace(11);
     $commentaireinterferencefield->setDefaultValue("");
     $commentaireinterferencefield->setTooltip("");
     $brouillagecat->setFieldname($frequencyfield);
     $brouillagecat->setFrequencyfield($frequencyfield);
     $brouillagecat->setLevelField($levelfield);
     $brouillagecat->setRnavField($rnavfield);
     $brouillagecat->setDistanceField($distancefield);
     $brouillagecat->setAzimutField($azimutfield);
     $brouillagecat->setOriginField($originfield);
     $brouillagecat->setTypeField($typefield);
     $brouillagecat->setCauseBrouillageField($causebrouillagefield);
     $brouillagecat->setCauseInterferenceField($causeinterferencefield);
     $brouillagecat->setCommentaireBrouillageField($commentairebrouillagefield);
     $brouillagecat->setCommentaireInterferenceField($commentaireinterferencefield);
     $em->persist($frequencyfield);
     $em->persist($levelfield);
     $em->persist($rnavfield);
     $em->persist($distancefield);
     $em->persist($azimutfield);
     $em->persist($originfield);
     $em->persist($typefield);
     $em->persist($causebrouillagefield);
     $em->persist($causeinterferencefield);
     $em->persist($commentairebrouillagefield);
     $em->persist($commentaireinterferencefield);
     // si aucune cat par défaut --> nouvelle catégorie par défaut
     $cats = $em->getRepository('Application\\Entity\\BrouillageCategory')->findBy(array('defaultbrouillagecategory' => true));
     $brouillagecat->setDefaultBrouillageCategory(count($cats) == 0);
     return $brouillagecat;
 }
Example #3
0
 /**
  * Return the CustomFieldValue corresponding to a given <code>$customfield</code>
  * Return null if event doesn't has a matching <code>$customfield</code>
  *
  * @param \Application\Entity\CustomField $customfield            
  * @return type
  */
 public function getCustomFieldValue(CustomField $customfield)
 {
     $cid = $customfield->getId();
     $fields = $this->custom_fields_values->filter(function ($c) use($cid) {
         return $c->getCustomField()->getId() == $cid;
     });
     if (count($fields) == 1) {
         return $fields->first();
     } else {
         return null;
     }
 }
 public function saveAction()
 {
     $objectManager = $this->getServiceLocator()->get('Doctrine\\ORM\\EntityManager');
     if ($this->getRequest()->isPost()) {
         $post = $this->getRequest()->getPost();
         $fieldname = null;
         if ($post['id']) {
             $category = $objectManager->getRepository('Application\\Entity\\Category')->find($post['id']);
         } else {
             if ($post['type'] == 'radar') {
                 $category = $this->getServiceLocator()->get('categoryfactory')->createRadarCategory();
             } elseif ($post['type'] == 'antenna') {
                 $category = $this->getServiceLocator()->get('categoryfactory')->createAntennaCategory();
             } elseif ($post['type'] == 'frequency') {
                 $category = $this->getServiceLocator()->get('categoryfactory')->createFrequencyCategory();
             } elseif ($post['type'] == 'brouillage') {
                 $category = $this->getServiceLocator()->get('categoryfactory')->createBrouillageCategory();
             } elseif ($post['type'] == 'mil') {
                 $category = $this->getServiceLocator()->get('categoryfactory')->createMilCategory();
             } else {
                 $category = new Category();
                 $fieldname = new CustomField();
                 $fieldname->setCategory($category);
                 $fieldname->setName('Nom');
                 $fieldname->setType($objectManager->getRepository('Application\\Entity\\CustomFieldType')->findOneBy(array('type' => 'string')));
                 $fieldname->setPlace(1);
                 $fieldname->setDefaultvalue("");
                 $fieldname->setTooltip("");
                 $objectManager->persist($fieldname);
                 $category->setFieldname($fieldname);
             }
             // force fieldname value
             $fieldname = $category->getFieldname();
         }
         $builder = new AnnotationBuilder();
         $form = $builder->createForm($category);
         $form->setHydrator(new DoctrineObject($objectManager))->setObject($category);
         $form->get('parent')->setValueOptions($objectManager->getRepository('Application\\Entity\\Category')->getRootsAsArray($post['id']));
         $form->bind($category);
         $form->setData($post);
         $form->setPreferFormInputFilter(true);
         if ($form->isValid()) {
             if (!$post['id']) {
                 // if new cat, force fieldname
                 $category->setFieldname($fieldname);
             }
             if (!(strpos($category->getColor(), "#") === 0)) {
                 $category->setColor("#" . $category->getColor());
             }
             $objectManager->persist($category);
             $objectManager->flush();
             $this->flashMessenger()->addSuccessMessage("Catégorie modifiée");
         } else {
             $this->flashMessenger()->addErrorMessage("Impossible de modifier la catégorie.");
             // traitement des erreurs de validation
             $this->processFormMessages($form->getMessages());
         }
     }
     return $this->redirect()->toRoute('administration', array('controller' => 'categories'));
 }
Example #5
0
 public function getEmptyOption(\Application\Entity\CustomField $customfield)
 {
     $empty_option = null;
     switch ($customfield->getType()->getType()) {
         case 'string':
             break;
         case 'text':
             break;
         case 'sector':
             if ($customfield->isMultiple()) {
                 $empty_option = "Tous les secteurs.";
             } else {
                 $empty_option = "Choisissez le secteur.";
             }
             break;
         case 'antenna':
             if ($customfield->isMultiple()) {
                 $empty_option = "Toutes les antennes.";
             } else {
                 $empty_option = "Choisissez l'antenne.";
             }
             break;
         case 'frequency':
             if ($customfield->isMultiple()) {
                 $empty_option = "Toutes les fréquences.";
             } else {
                 $empty_option = "Choisissez la fréquence.";
             }
             break;
         case 'radar':
             if ($customfield->isMultiple()) {
                 $empty_option = "Tous les radars";
             } else {
                 $empty_option = "Choisissez le radar.";
             }
             break;
         case 'select':
             break;
         case 'stack':
             if ($customfield->isMultiple()) {
                 $empty_option = "Toutes les attentes.";
             } else {
                 $empty_option = "Choisissez l'attente.";
             }
             break;
         case 'boolean':
             break;
         default:
             break;
     }
     return $empty_option;
 }