RB
Multivalues não carrega ( estou utilizando mais de um)
Olá,
Estou tentando utilizar mais de um multivalues no formulário, porém o segundo não carrega, alguém pode me ajudar a identificar o problema .
Segue código abaixo.
Desde já obrigado.
Estou tentando utilizar mais de um multivalues no formulário, porém o segundo não carrega, alguém pode me ajudar a identificar o problema .
Segue código abaixo.
- <?php
- class FuncionarioFormBuilder extends TPage
- {
- private $form;
- private $cep;
- private $fieldlist;
- private $dependenteList;
- protected $detail_row;
- protected $detail_row_1;
- function __construct()
- {
- parent::__construct();
- parent::include_css('app/resources/builder.css');
- parent::include_css('app/resources/blue_modificado.css');
- $this->form = new BootstrapFormBuilder('frm_funcionario');
- $this->form->setFormTitle('Funcionário');
- $this->form->class ='frm_cliente_fisico';
- $dados_func = new TLabel('Dados Pessoais');
- $dados_func->class ='lbl_titulo';
- $this->form->addContent( [$dados_func] );
- $lbl_id = new TLabel('#');
- $id = new TEntry('id');
- $id->setEditable(false);
- $label_nome = new TLabel('Nome');
- $lbl_data_nascto = new TLabel('Data Nascto');
- $lbl_cpf = new TLabel('Cpf');
- $lbl_rg = new TLabel('Rg');
- $lbl_ctps = new TLabel('Ctps');
- $lbl_local_nascto = new TLabel('Local Nascimento');
- $lbl_estado_civil = new TLabel('Estado Cívil');
- $lbl_genero = new TLabel('Genero');
- $lbl_grau_instrucao = new TLabel('Grau de Instrução');
- $lbl_nome_mae = new TLabel('Pai');
- $lbl_nome_pai = new TLabel('Mãe');
- $lbl_conjuge = new TLabel('Conjuge');
- $nome = new TEntry('nome');
- $nome->style ='text-transform: uppercase';
- $nome->addValidation('nome', new TRequiredValidator);
- $local_nascto = new TEntry('local_nascto');
- $data_nascto = new TDate('data_nascimento');
- $data_nascto->addValidation('data_nascimento', new TRequiredValidator);
- $cpf = new TEntry('cpf');
- $cpf->addValidation('cpf', new TRequiredValidator);
- $rg = new TEntry('rg');
- $rg->addValidation('rg', new TRequiredValidator);
- $ctps = new TEntry('ctps');
- $estado_civil_id = new TDBCombo('estado_civil_id','centinel', 'Civil', 'id', 'descricao');
- $estado_civil_id->setDefaultOption(false);
- $grau_instrucao = new TEntry('grau_instrucao');
- $nome_mae = new TEntry('nome_mae');
- $nome_pai = new TEntry('nome_pai');
- $genero_id = new TDBCombo('genero_id','centinel','Genero','id','descricao');
- $genero_id->setDefaultOption(false);
- $conjuge = new TEntry('conjuge');
- $label_nome->class='lbl_text';
- $lbl_id->class='lbl_text';
- $lbl_local_nascto->class='lbl_text';
- $lbl_data_nascto->class='lbl_text';
- $lbl_cpf->class='lbl_text';
- $lbl_rg->class='lbl_text';
- $lbl_ctps->class='lbl_text';
- $lbl_nome_mae->class='lbl_text';
- $lbl_nome_pai->class='lbl_text';
- $lbl_estado_civil->class='lbl_text';
- $lbl_grau_instrucao->class='lbl_text';
- $lbl_genero->class='lbl_text';
- $lbl_conjuge->class='lbl_text';
- $lbl_id->setSize('6%');
- $label_nome->setSize('41%');
- $lbl_local_nascto->setSize('41%');
- $lbl_data_nascto->setSize('12%');
- $lbl_cpf->setSize('12%');
- $lbl_rg->setSize('13%');
- $lbl_ctps->setSize('13%');
- $lbl_estado_civil->setSize('23.5%');
- $lbl_genero->setSize('23.5%');
- $lbl_grau_instrucao->setSize('25%');
- $lbl_conjuge->setSize('28%');
- $lbl_nome_mae->setSize('47%');
- $lbl_nome_pai->setSize('50%');
- $id->setSize('6%');
- $nome->setSize('41%');
- $local_nascto->setSize('41%');
- $data_nascto->setSize('12%');
- $cpf->setSize('12%');
- $rg->setSize('13%');
- $ctps->setSize('13%');
- $estado_civil_id->setSize('23.5%');
- $genero_id->setSize('23.5%');
- $grau_instrucao->setSize('25%');
- $conjuge->setSize('28%');
- $nome_mae->setSize('47%');
- $nome_pai->setSize('53%');
- $this->form->addFields( [$lbl_id,$label_nome,$lbl_local_nascto,$lbl_data_nascto] );
- $this->form->addFields( [$id,$nome,$local_nascto,$data_nascto] );
- $this->form->addFields( [$lbl_estado_civil,$lbl_genero,$lbl_grau_instrucao,$lbl_conjuge] );
- $this->form->addFields( [$estado_civil_id,$genero_id,$grau_instrucao,$conjuge] );
- $this->form->addFields( [$lbl_nome_mae,$lbl_nome_pai] );
- $this->form->addFields( [$nome_mae,$nome_pai] );
- //dados correspondências
- $dados_endereco = new TLabel('Endereco');
- $dados_endereco->class ='lbl_titulo';
- $this->form->addContent( [$dados_endereco] );
- $frame_endereco = new TFrame('frame_endereco');
- $frame_endereco->style = 'margin-left:-1px;width:98.5%;float:left;display:table;';
- //$frame_endereco->setLegend('PessoaEndereco');
- // detail fields
- $this->fieldlist = new TFieldList('Lista_enderecos');
- $this->fieldlist->enableSorting();
- $frame_endereco->add($this->fieldlist);
- $this->form->addFields( [$frame_endereco] );
- $id_endereco = new TEntry('id_endereco[]');
- $this->cep = new TEntry('cep[]');
- $this->cep->setMask('00000-000');
- $this->cep->addValidation('CEP', new TRequiredValidator, new TMaxValueValidator,array(8));
- $this->form->addField($this->cep);
- // $input_cep = new TAction(array($this,'onCep'));
- $this->cep->setExitAction(new TAction(array($this,'onCep')));
- $logradouro = new TEntry('logradouro[]');
- $numero = new TEntry('numero[]');
- $bairro = new TEntry('bairro[]');
- $cidade = new TEntry('cidade[]');
- $uf = new TEntry('uf[]');
- $tipo_endereco_id = new TDBCombo('tipo_endereco_id[]','centinel','TipoEndereco','id','descricao');
- $complemento = new TEntry('complemento[]');
- $regiao_id = new TDBCombo('regiao_id[]','centinel','Regiao','id','descricao');
- $this->fieldlist->addField( '<span class = "lbl_text">#</span>', $id_endereco);
- $this->fieldlist->addField( '<span class = "lbl_text">Cep</span>', $this->cep);
- $this->fieldlist->addField( '<span class = "lbl_text">Logradouro</span>', $logradouro);
- $this->fieldlist->addField( '<span class = "lbl_text">Número<span/>', $numero);
- $this->fieldlist->addField( '<span class = "lbl_text">Tipo Endereco</span>', $tipo_endereco_id);
- $this->fieldlist->addField( '<span class = "lbl_text">Bairro</span>', $bairro);
- $this->fieldlist->addField( '<span class = "lbl_text">Cidade</span>', $cidade);
- $this->fieldlist->addField( '<span class = "lbl_text">UF</span>', $uf);
- $this->fieldlist->addField( '<span class = "lbl_text">Complemento</span>', $complemento);
- $this->fieldlist->addField( '<span class = "lbl_text">Região</span>', $regiao_id);
- $this->form->addField($id_endereco);
- $this->form->addField($logradouro);
- $this->form->addField($numero);
- $this->form->addField($bairro);
- $this->form->addField($tipo_endereco_id);
- $this->form->addField($cidade);
- $this->form->addField($uf);
- $this->form->addField($complemento);
- $this->form->addField($regiao_id);
- $id_endereco->setSize('30');
- $this->cep->setSize('70');
- $logradouro->setSize('160');
- $bairro->setSize('140');
- $cidade->setSize('140');
- $uf->setSize('40');
- $numero->setSize('70');
- $complemento->setSize('150');
- $tipo_endereco_id->setSize('100');
- //Relação de dependentes
- $dados_dependente = new TLabel('Dependentes');
- $dados_dependente->class ='lbl_titulo';
- $this->form->addContent( [$dados_dependente] );
- $frame_dependentes = new TFrame('frame_dependentes');
- $frame_dependentes->style = 'margin-left:-1px;width:98.5%;float:left;display:table;';
- //$frame_endereco->setLegend('Dependentes');
- // detail fields
- $this->dependenteList = new TFieldList('Lista_dependentes');
- $this->dependenteList->enableSorting();
- $nome_dependente = new TEntry('txt_nome[]');
- $nascimento_dependente = new TEntry('txt_nascimento[]');
- $grau_parentesco_dependente = new TEntry('txt_grau_parentesco[]');
- $this->dependenteList->addField( '<span class = "lbl_text">Nome</span>', $nome_dependente);
- $this->dependenteList->addField( '<span class = "lbl_text">Data Nascimento</span>',$nascimento_dependente);
- $this->dependenteList->addField( '<span class = "lbl_text">Grau Parentesco</span>', $grau_parentesco_dependente);
- $frame_dependentes->add($this->dependenteList);
- $this->form->addFields( [$frame_dependentes] );
- $this->form->addField($nome_dependente);
- $this->form->addField($nascimento_dependente);
- $this->form->addField($grau_parentesco_dependente);
- $this->form->addAction('Salvar',new TAction(array($this, 'onSave')),'fa:save blue');
- $this->form->addAction('Listar',new TAction(array('CarregaCliente','show')),'fa:table blue');
- // create the page container
- $container = new TVBox;
- $container->style = 'width: 100%';
- //$container->add(new TXMLBreadCrumb('menu.xml', __CLASS__));
- $container->add($this->form);
- parent::add($container);
- }
- public function onSave($param){
- }
- /**
- * Executed whenever the user clicks at the edit button da datagrid
- */
- function onEdit($param)
- {
- try
- {
- TTransaction::open('centinel');
- if (isset($param['key']))
- {
- $key = $param['key'];
- $funcionario = Funcionario::find($key);
- if($funcionario)
- {
- $this->form->setData($funcionario);
- $funcionario->nome = $funcionario->pessoa->nome;
- $funcionario->data_nascimento = TDate::date2br($funcionario->pessoa->data_nascimento);
- $pessoa_endereco = $funcionario->get_pessoa()->getPessoaEndereco();
- $this->fieldlist->addHeader();
- if ($pessoa_endereco)
- {
- foreach($pessoa_endereco as $enderecos )
- {
- $this->fieldlist->addDetail($enderecos);
- }
- $this->fieldlist->addCloneAction();
- }
- else
- {
- $this->onClear($param);
- }
- }
- TTransaction::close(); // close transaction
- }
- }
- catch (Exception $e) // in case of exception
- {
- new TMessage('error', $e->getMessage());
- TTransaction::rollback();
- }
- }
- public function onClear($param)
- {
- $this->fieldlist->addHeader();
- $this->fieldlist->addDetail( new stdClass );
- $this->fieldlist->addCloneAction();
- }
- //method onCep()
- public static function onCep($param)
- {
- $endereco_cep = $param['_field_id'];
- $cep_endereco = $param['_field_value'];
- $endereco_cep = explode('_', $endereco_cep);
- $unique_id = end($endereco_cep);
- $retorno = Endereco::BuscaCepWeb($cep_endereco);
- if (!empty($retorno))
- {
- $response = new stdClass;
- $response->{'id_endereco_'.$unique_id} = $retorno['id'];
- $response->{'logradouro_'.$unique_id} = $retorno['logradouro'];
- $response->{'bairro_'.$unique_id} = $retorno['bairro'];
- $response->{'cidade_'.$unique_id} = $retorno['localidade'];
- $response->{'uf_'.$unique_id} = $retorno['uf'];
- //$response->{'ibge_'}.$unique_id = strtoupper( $retorno['ibge']);
- //$response->{'gia'}.$unique_id = strtoupper( $retorno['gia']);
- TForm::sendData('frm_funcionario', $response);
- TScript::create('$("input[name=numero]").focus();');
- }
- else
- {
- $endereco = Endereco::BuscaCepBanco($cep_endereco);
- if($endereco)
- {
- $retorno = new stdClass;
- $retorno->{'id_endereco_'.$unique_id} = $endereco['id'];
- $retorno->{'logradouro_'.$unique_id} = $endereco['logradouro'];
- $retorno->{'bairro_'.$unique_id} = $endereco['bairro'];
- $retorno->{'cidade_'.$unique_id} = $endereco['cidade'];
- $retorno->{'uf_'.$unique_id} = $endereco['uf'];
- //$retorno->{'ibge_'}.$unique_id = $endereco['ibge'];
- //$retorno->{'gia'}.$unique_id = $endereco['gia'];
- TForm::sendData('frm_funcionario', $retorno);
- TScript::create('$("input[name=numero]").focus();');
- }
- else
- {
- new TMessage("error", "CEP - Em Branco ou Inválido");
- }
- }
- }
- }
- ?>
Desde já obrigado.
Pessoal, Resolvido.
Estava esquecendo de adicionar no onClear().
segue código abaixo.