public function __construct() { $sl = ServiceLocator::getInstance(); $config = ConfigFormulario::getInstance(); $this->repoFormulario = $sl->getRepository($config->getEntityFormulario()); $this->repoCampoFormulario = $sl->getRepository($config->getEntityCampoFormulario()); $this->repoCampoFormularioValor = $sl->getRepository($config->getEntityCampoFormularioValor()); }
public function validateEntityCampoFormularioValor() { $methods = array('getCodvalor', 'getCodcampo', 'getCodregistro', 'getValor'); $this->validate($this->entityCampoFormularioValor, $methods); $sl = ServiceLocator::getInstance(); $repository = $sl->getRepository($this->entityCampoFormularioValor); $methods = array('getValue', 'salvarValores', 'excluirValores'); $this->validate(get_class($repository), $methods); return $this; }
public function validateEntityConfiguracao() { $methods = array('getCodconfiguracao', 'getDescricao', 'getAtributo', 'getValor'); $this->validate($this->entityConfiguracao, $methods); $sl = ServiceLocator::getInstance(); $repository = $sl->getRepository($this->entityConfiguracao); $methods = array('getConfigurationByAtributo'); $this->validate(get_class($repository), $methods); return $this; }
public function validateEntityVariavelValor() { $methods = array('getCodvalor', 'getCodvariavel', 'getValor', 'getDescricao'); $this->validate($this->entityVariavelValor, $methods); $sl = ServiceLocator::getInstance(); $repository = $sl->getRepository($this->entityVariavelValor); $methods = array('fetchPairs', 'findValor'); $this->validate(get_class($repository), $methods); return $this; }
public function __construct($entity) { $this->entity = $entity; $serviceLocator = ServiceLocator::getInstance(); $serviceLocator->requireFile($this->entity); }
public function prepararCamposComplementares(array $data = array()) { $form = $this->getForm(); if (null === $form) { return null; } $formName = $form->getName(); $configuration = new FormConfiguration(); $config = $configuration->loadFormConfiguration($formName); $campos = $configuration->findCamposComplementares($formName); $camposValores = array(); if (count($campos) > 0) { foreach ($campos as $campo) { // Array de controle para salvar na tabela de campoformulariovalor $campoValor = array('codvalor' => null, 'codcampo' => $campo->getCodcampo(), 'codregistro' => null, 'valor' => null); $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 if (!is_null($pk)) { // Captura o elemento dentro do formulário para depois saber o valor para buscar na entidade de configuração $elementPk = $form->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(); $repoConfFormValor = $configuration->getRepoCampoFormularioValor(); $conf = $repoConfFormValor->getValue($campo->getCodcampo(), $valuePk); if (!$conf->isEmpty()) { $campoValor['codvalor'] = $conf->getCodvalor(); } $campoValor['codregistro'] = $valuePk; } if (array_key_exists($campo->getNomecampo(), $data)) { $campoValor['valor'] = $data[$campo->getNomecampo()]; } } $camposValores[$campo->getNomecampo()] = $campoValor; } } $this->_camposComplementares = $camposValores; return $this; }
public function getServiceLocator() { return ServiceLocator::getInstance(); }
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; }