Example #1
0
 public function loadConfiguration()
 {
     $obj = new Configuration();
     $config = $obj->loadCampoConfiguration($this->getForm()->getAttrib('name'), $this->getName());
     if (null === $config) {
         return $this;
     }
     if ($config->isEmpty()) {
         return $this;
     }
     $required = 's' === $config->getNotnull();
     $label = array();
     if ($required) {
         if (array_key_exists('class', $label)) {
             $class = $label['class'] . ' required';
             $label['class'] = $class;
         }
     }
     $this->setRequired($required);
     $this->setAttrib('maxlength', $config->getMaxlength());
     if ($config->getLabel()) {
         $label['label'] = $config->getLabel();
     }
     if (method_exists($config, 'getLabelClass')) {
         if ($config->getLabelclass()) {
             if (array_key_exists('class', $label)) {
                 $class = $label['class'] . ' ' . $config->getLabelclass();
                 $label['class'] = $class;
             } else {
                 $label['class'] = $config->getLabelclass();
             }
         }
     }
     //$this->_label = new \Life\Form\Element\Label('label');
     //$this->_label->setAttribs($label);
     $this->setLabel($label);
     if ($config->getPlaceholder()) {
         $this->setAttrib('placeholder', $config->getPlaceholder());
     }
     if ($config->getExternalHTML()) {
         $this->setExternalHTML($config->getExternalHTML());
     }
     if ($config->getContent()) {
         $this->setContent($config->getContent());
     }
     if ($config->getSeparador()) {
         $this->setSeparator($config->getSeparador());
     }
     if ($config->getErrorHTML()) {
         $this->setErrorHTML($config->getErrorHTML());
     }
     return $this;
 }
Example #2
0
 public function execute()
 {
     $stmt = $this->conn->prepare($this->sql);
     try {
         if ($stmt->execute()) {
             if (is_null($this->keyValues)) {
                 $this->keyValues = $this->conn->lastInsertId();
                 if (isset($this->_camposComplementares)) {
                     foreach ($this->_camposComplementares as &$cc) {
                         $cc['codregistro'] = $this->keyValues;
                     }
                 }
             }
             $config = Registry::get('config');
             $configurable = false;
             if (array_key_exists('general.dynamicForms', $config)) {
                 $configurable = (bool) $config['general.dynamicForms'];
             }
             if ($configurable) {
                 $configuration = new FormConfiguration();
                 if (in_array($this->type, array('insert', 'update'))) {
                     if (isset($this->_camposComplementares)) {
                         $repo = $configuration->getRepoCampoFormularioValor();
                         $repo->salvarValores($this->_camposComplementares);
                     }
                 } elseif ($this->type === 'delete') {
                     if (isset($this->_codigosExcluir)) {
                         $configuration = new FormConfiguration();
                         $configuration->delete($this->table, $this->_codigosExcluir);
                     }
                 }
             }
             return $this->setCached(false)->getReference($this->keyValues);
         } else {
             return false;
         }
     } catch (\PDOException $e) {
         throw new Exception($e->getMessage());
     }
 }
Example #3
0
 public function carregarCamposComplementares($config, $entityCampoFormularioValor)
 {
     if (!$this->camposComplementaresCarregados) {
         $this->camposComplementaresCarregados = true;
         $configuration = new Configuration();
         $campos = $configuration->findCamposComplementares($config->getNomeformulario());
         if (count($campos) > 0) {
             foreach ($campos as $campo) {
                 $element = $this->createElement($campo->getTipocampo(), $campo->getNomecampo())->setRequired($campo->getNotnull() === 's')->setValue($campo->getValorpadrao())->setAttribs(array('class' => $campo->getClass(), 'maxlength' => $campo->getMaxlength()));
                 $repository = ServiceLocator::getInstance()->getRepository('Entity\\' . ucwords($campo->getFormulario()->getNometabela()));
                 $pk = $repository->getPrimaryKey();
                 // Verifica se o formulário tem primary key para buscar o valor do campo complementar na tabela campoformulariovalor
                 if (!is_null($pk)) {
                     // Captura o elemento dentro do formulário para depois saber o valor para buscar na entidade de configuração
                     $elementPk = $this->getElement($pk);
                     // Verifica se o elemento informado como primary key existe realmente no formulário
                     if (!is_null($elementPk)) {
                         // Busca o valor da campo com o nome da primary key dentro do formulário
                         $valuePk = $elementPk->getValue();
                         // Preenche o elemento com o valor salvo em formulariovalor
                         $repoConfFormValor = ServiceLocator::getInstance()->getRepository($entityCampoFormularioValor);
                         $conf = $repoConfFormValor->getValue($campo->getCodcampo(), $valuePk);
                         if (!$conf->isEmpty()) {
                             $element->setValue($conf->getValor());
                         }
                     }
                 }
                 if ($campo->getLabel()) {
                     //$element->setLabel(array('label' => $campo->getLabel(), 'class' => $campo->getLabelclass()));
                     $element->setLabel(array('label' => $campo->getLabel()));
                 }
                 if ($campo->getPlaceholder()) {
                     $element->setAttrib('placeholder', $campo->getPlaceholder());
                 }
                 if ($campo->getExternalHTML()) {
                     $element->setExternalHTML($campo->getExternalHTML());
                 }
                 if ($campo->getMultiExternalHTML()) {
                     $element->setMultiExternalHTML($campo->getMultiExternalHTML());
                 }
                 if ($campo->getContent()) {
                     $element->setContent($campo->getContent());
                 }
                 if ($campo->getSeparador()) {
                     $element->setSeparator($campo->getSeparador());
                 }
                 if ((int) $campo->getCodvariavel() !== 0 && method_exists($element, 'setMultiOptions')) {
                     $configVariavelValor = ConfigVariavel::getInstance();
                     $entityVariavelValor = $configVariavelValor->getEntityVariavelValor();
                     if ($entityVariavelValor) {
                         $repoVariavel = ServiceLocator::getInstance()->getRepository($entityVariavelValor);
                         $valores = $repoVariavel->fetchPairs($campo->getCodvariavel());
                         $element->setMultiOptions($valores);
                     }
                 }
                 $campoPosterior = $campo->getCampoposterior();
                 if (null == $campoPosterior) {
                     // Adiciona ao final do formulário
                     $this->addElement($element);
                 } else {
                     // Posiciona o elemento no local definido no campo campoanterior
                     $elements = $this->elements;
                     $this->elements = array();
                     foreach ($elements as $item) {
                         if ($item->getName() === $campoPosterior) {
                             $this->addElement($element);
                         }
                         $this->addElement($item);
                     }
                 }
             }
         }
     }
     return $this;
 }
Example #4
0
 public function loadConfiguration()
 {
     parent::loadConfiguration();
     $obj = new Configuration();
     $config = $obj->loadCampoConfiguration($this->form->getAttrib('name'), $this->getName());
     if (null === $config) {
         return $this;
     }
     if ($config->isEmpty()) {
         return $this;
     }
     if ($config->getMultiExternalHTML()) {
         $this->setMultiExternalHTML($config->getMultiExternalHTML());
     }
     if ($config->getSeparador()) {
         $this->setSeparator($config->getSeparador());
     }
     return $this;
 }