/**
  * Edit a criteriagroup
  *
  * @param int $level
  * @param StepCondition $conditionDB
  * @param Criteriagroup $criteriagroupDB
  * @return Criteriagroup
  */
 public function editCriteriagroup($level = 0, $currentOrder = 0, Criteriagroup $parent = null, StepCondition $conditionDB, Criteriagroup $criteriagroupDB)
 {
     // Update criteriagroup properties
     $criteriagroupDB->setStepCondition($conditionDB);
     $criteriagroupDB->setParent($parent);
     $criteriagroupDB->setLvl($level);
     $criteriagroupDB->setOrder($currentOrder);
     // Save modifications
     $this->om->persist($criteriagroupDB);
     return $criteriagroupDB;
 }
Example #2
0
 /**
  * Set criteriagroup.
  *
  * @param \Innova\PathBundle\Entity\Criteriagroup $criteriagroup
  *
  * @return \Innova\PathBundle\Entity\Criterion
  */
 public function setCriteriagroup(Criteriagroup $criteriagroup = null)
 {
     if ($criteriagroup !== $this->criteriagroup) {
         $this->criteriagroup = $criteriagroup;
         if (null !== $criteriagroup) {
             $criteriagroup->addCriterion($this);
         }
     }
     return $this;
 }
 /**
  * Clean criteria data which no long exist in the current criteriagroup
  *
  * @param array $neededCriteria
  * @param array $existingCriteria
  * @param Criteriagroup $criteriagroup
  * @return PublishingManager
  */
 protected function cleanCriteria(array $neededCriteria = array(), array $existingCriteria = array(), Criteriagroup $criteriagroup)
 {
     //echo "inside cleanCriteria<br>\n";
     $toRemove = array_filter($existingCriteria, function (Criterion $current) use($neededCriteria) {
         //echo "inside cleanCriteria closure<br>\n";
         $removeCriterion = true;
         foreach ($neededCriteria as $data) {
             if ($current->getId() == $data->getId()) {
                 $removeCriterion = false;
                 break;
             }
         }
         return $removeCriterion;
     });
     foreach ($toRemove as $criterionToRemove) {
         $criteriagroup->removeCriterion($criterionToRemove);
         $this->om->remove($criterionToRemove);
     }
     return $this;
 }
Example #4
0
 /**
  * Set parent.
  *
  * @param \Innova\PathBundle\Entity\Criteriagroup $parent
  *
  * @return \Innova\PathBundle\Entity\Criteriagroup
  */
 public function setParent(Criteriagroup $parent = null)
 {
     if ($parent !== $this->parent) {
         $this->parent = $parent;
         $parent->addChild($this);
     }
     return $this;
 }
 /**
  * Clean Criteria which no longer exist in the current Group.
  *
  * @param \Innova\PathBundle\Entity\Criteriagroup $group
  * @param array                                   $neededCriteria
  * @param array                                   $existingCriteria
  *
  * @return \Innova\PathBundle\Manager\Condition\CriteriaManager
  */
 public function cleanCriteria(Criteriagroup $group, array $neededCriteria = [], array $existingCriteria = [])
 {
     $toRemove = array_filter($existingCriteria, function (Criterion $current) use($neededCriteria) {
         $removeCriterion = true;
         foreach ($neededCriteria as $criterion) {
             if ($current->getId() == $criterion->getId()) {
                 $removeCriterion = false;
                 break;
             }
         }
         return $removeCriterion;
     });
     foreach ($toRemove as $criterionToRemove) {
         $group->removeCriterion($criterionToRemove);
         $this->om->remove($criterionToRemove);
     }
     return $this;
 }