Example #1
0
 /**
  * Create a new display element from the Elements of another display
  * @param \Jazzee\Interfaces\DisplayElement $originalElement
  * @param \Jazzee\Entity\Application $application
  * 
  * @return \Jazzee\Interfaces\DisplayElement
  */
 public static function createFromDisplayElement(\Jazzee\Interfaces\DisplayElement $originalElement, \Jazzee\Entity\Application $application)
 {
     $displayElement = new \Jazzee\Entity\DisplayElement($originalElement->getType());
     switch ($originalElement->getType()) {
         case 'element':
             if (!($element = $application->getElementById($originalElement->getName()))) {
                 throw new \Jazzee\Exception("{$originalElement->getName()} is not a valid Jazzee Element ID, so it cannot be used in a 'element' display element.  Element: " . var_export($originalElement, true));
             }
             $displayElement->setElement($element);
             break;
         case 'page':
             if (!($applicationPage = $application->getApplicationPageByPageId($originalElement->getPageId())) and !($applicationPage = $application->getApplicationPageByChildPageId($originalElement->getPageId()))) {
                 throw new \Jazzee\Exception("{$originalElement->getPageId()} is not a valid Page ID, so it cannot be used in a 'page' display element.  Element: " . var_export($originalElement, true));
             }
             $displayElement->setPage($applicationPage->getPage());
         case 'applicant':
             $displayElement->setName($originalElement->getName());
             break;
     }
     $displayElement->setTitle($originalElement->getTitle());
     $displayElement->setWeight($originalElement->getWeight());
     return $displayElement;
 }