Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

tauser

Gravanado varios formularios de uma vez

Recommended Posts

Olá pessoal tudo bem, sou iniciante com o cakephp , e estou com o seguinte problema:

 

 

Tenho um cadastro pra fazer, esse cadastro é constintuido de 3 mvc que são :

detentos

detentos_dados_fisicos

detentos_dados_pessoais

 

a minha ideia era no cadastro mostrar os 3 formularios em uma unica view por meio de abas.

como mostrar as 3 forms por meio de abas

como salvar os tres ao mesmo tempo.

lembrando que para salvar a 2 e 3 vview a primeira precisa ser cadastrada.

 

Se alguem poder me ajudar. agradeceria muito

 

Obrigado a todos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Detento Controller

<?php
class DetentosController extends AppController {

	var $name = 'Detentos';

	function index() {
		$this->Detento->recursive = 0;
		$this->set('detentos', $this->paginate());
	}

	function view($id = null) {
		if (!$id) {
			$this->Session->setFlash(__('Invalid detento', true));
			$this->redirect(array('action' => 'index'));
		}
		$this->set('detento', $this->Detento->read(null, $id));
	}

	function add() {
		if (!empty($this->data)) {
			$this->Detento->create();
			if ($this->Detento->save($this->data)) {
				$this->Session->setFlash(__('The detento has been saved', true));
				$this->redirect(array('action' => 'index'));
			} else {
				$this->Session->setFlash(__('The detento could not be saved. Please, try again.', true));
			}
		}
		$unidadesPrisionais = $this->Detento->UnidadesPrisional->find('list');
		$kitsVivencias = $this->Detento->KitsVivencia->find('list');
		$fluxosFinanceirosDetentos = $this->Detento->FluxosFinanceirosDetento->find('list');
		$solicitacoesAcessosVisitantesDetentos = $this->Detento->SolicitacoesAcessosVisitantesDetento->find('list');
		$acessosVisitantesDetentos = $this->Detento->AcessosVisitantesDetento->find('list');
		$comprasDetentos = $this->Detento->ComprasDetento->find('list');
		$condutasDetentosUnidades = $this->Detento->CondutasDetentosUnidade->find('list');
		$detentosDatiloscopias = $this->Detento->DetentosDatiloscopia->find('list');
		$entradasSaidasDetentos = $this->Detento->EntradasSaidasDetento->find('list');
		$fluxosPagamentosDetentos = $this->Detento->FluxosPagamentosDetento->find('list');
		$detentosDadosFisicos = $this->Detento->DetentosDadosFisico->find('list');
		$detentosDadosPessoais = $this->Detento->DetentosDadosPessoal->find('list');
		$this->set(compact('unidadesPrisionais', 'kitsVivencias', 'fluxosFinanceirosDetentos', 'solicitacoesAcessosVisitantesDetentos', 'acessosVisitantesDetentos', 'comprasDetentos', 'condutasDetentosUnidades', 'detentosDatiloscopias', 'entradasSaidasDetentos', 'fluxosPagamentosDetentos', 'detentosDadosFisicos', 'detentosDadosPessoais'));
	}

	function edit($id = null) {
		if (!$id && empty($this->data)) {
			$this->Session->setFlash(__('Invalid detento', true));
			$this->redirect(array('action' => 'index'));
		}
		if (!empty($this->data)) {
			if ($this->Detento->save($this->data)) {
				$this->Session->setFlash(__('The detento has been saved', true));
				$this->redirect(array('action' => 'index'));
			} else {
				$this->Session->setFlash(__('The detento could not be saved. Please, try again.', true));
			}
		}
		if (empty($this->data)) {
			$this->data = $this->Detento->read(null, $id);
		}
		$unidadesPrisionais = $this->Detento->UnidadesPrisional->find('list');
		$kitsVivencias = $this->Detento->KitsVivencia->find('list');
		$fluxosFinanceirosDetentos = $this->Detento->FluxosFinanceirosDetento->find('list');
		$solicitacoesAcessosVisitantesDetentos = $this->Detento->SolicitacoesAcessosVisitantesDetento->find('list');
		$acessosVisitantesDetentos = $this->Detento->AcessosVisitantesDetento->find('list');
		$comprasDetentos = $this->Detento->ComprasDetento->find('list');
		$condutasDetentosUnidades = $this->Detento->CondutasDetentosUnidade->find('list');
		$detentosDatiloscopias = $this->Detento->DetentosDatiloscopia->find('list');
		$entradasSaidasDetentos = $this->Detento->EntradasSaidasDetento->find('list');
		$fluxosPagamentosDetentos = $this->Detento->FluxosPagamentosDetento->find('list');
		$detentosDadosFisicos = $this->Detento->DetentosDadosFisico->find('list');
		$detentosDadosPessoais = $this->Detento->DetentosDadosPessoal->find('list');
		$this->set(compact('unidadesPrisionais', 'kitsVivencias', 'fluxosFinanceirosDetentos', 'solicitacoesAcessosVisitantesDetentos', 'acessosVisitantesDetentos', 'comprasDetentos', 'condutasDetentosUnidades', 'detentosDatiloscopias', 'entradasSaidasDetentos', 'fluxosPagamentosDetentos', 'detentosDadosFisicos', 'detentosDadosPessoais'));
	}

	function delete($id = null) {
		if (!$id) {
			$this->Session->setFlash(__('Invalid id for detento', true));
			$this->redirect(array('action'=>'index'));
		}
		if ($this->Detento->delete($id)) {
			$this->Session->setFlash(__('Detento deleted', true));
			$this->redirect(array('action'=>'index'));
		}
		$this->Session->setFlash(__('Detento was not deleted', true));
		$this->redirect(array('action' => 'index'));
	}
}
?>

View Detento

 

<div id="tit-page"><?php __('Detentos');?></div>
<div class="detentos form">

<div id="tabnav">
<div id="tabs">
<a href="#" onclick="opentab(1);"><strong>Dados Cadastrais</strong></a>
<a href="#" onclick="opentab(2);"><strong>Dados Pessoais</strong></a>
<a href="#" onclick="opentab(3);"><strong>Dados Físicos</strong></a>            
<a href="#" onclick="opentab(4);"><strong>Fotos</strong></a>
<a href="#" onclick="opentab(5);"><strong>Datiloscopia</strong></a>
</div>
<div id="contenttabs">
<!-- DIV 1 -->
<div id="detento">
	<?php echo $this->Form->create('Detento');?>
	<?php
		//echo $this->Form->hidden('id');
		echo $this->Form->input('nome',array('label' => 'Nome:'));
		echo $this->Form->input('alcunha',array('label' => 'Alcunha:'));
		echo $this->Form->input('oriundo',array('label' => 'Oriundo:'));
		echo $this->Form->input('obs',array('label' => 'Observação:'));
		echo $this->Form->input('situacao',array('label' => 'Situação:'));
		echo $this->Form->input('kits_vivencia_id');
	?>
	<?php echo $this->Form->end(__('Salvar', true));?>
</div>
<!-- DIV 2 -->
<div id="detento">
	<?php echo $this->Form->create('DetentosDadosPessoal');?>
	<?php
		echo $this->Form->input('rg',array('label' => 'RG:'));
		echo $this->Form->input('cpf',array('label' => 'CPF:'));
		echo $this->Form->input('endereco',array('label' => 'Endereço:'));
		echo $this->Form->input('bairro',array('label' => 'Bairro:'));
		echo $this->Form->input('cidade_id',array('label' => 'Cidade:'));
		echo $this->Form->input('cep',array('label' => 'CEP:'));
		echo $this->Form->input('estado_id',array('label' => 'Estado:'));
		echo $this->Form->input('sexo',array('label' => 'Sexo:'));
		echo $this->Form->input('nascimento',array('label' => 'Nascimento:'));
		echo $this->Form->input('naturalidade',array('label' => 'naturalidade:'));
		echo $this->Form->input('nacionalidade',array('label' => 'Nascionalidade:'));
		echo $this->Form->input('pais',array('label' => 'Pais:'));
		echo $this->Form->input('nome_pai',array('label' => 'Pai:'));
		echo $this->Form->input('nome_mae',array('label' => 'Mãe:'));
		echo $this->Form->input('escolaridade',array('label' => 'Escolaridade:'));
		echo $this->Form->input('telefone',array('label' => 'Telefone:'));
		echo $this->Form->input('religiao',array('label' => 'Religião:'));
		echo $this->Form->input('estado_civil',array('label' => 'Estado Civil:'));
		echo $this->Form->input('nome_conjuge',array('label' => 'Conjuge:'));
		echo $this->Form->input('pertence_detento_foto',array('type'=>'file'),array('label'=>'Foto Pertences'));
		echo $this->Form->input('pertence_detento_descricao',array('label' => 'Pertences:'));
		echo $this->Form->input('foto_perfil',array('type'=>'file'),array('label'=>'Foto Perfils'));
	?>
<?php echo $this->Form->end(__('Gravar', true));?>
</div>
<!-- DIV 2 -->


</div><!--fecha div content-->
</div><!--fecha div nav-->




</div>
<div class="actions">
	<ul>
		<li><?php echo $this->Html->link(__('Listar Detentos', true), array('action' => 'index'));?></li>
	</ul>
</div>

 

Falta mais um form , e outros dois controlers

Compartilhar este post


Link para o post
Compartilhar em outros sites

create table funcionarios(id serial primary key,nome varchar(255) not null);create table dependentes(id serial primary key,nome varchar(255) not null,funcionario_id integer references fucionarios(id));#o controladorclass FuncionariosController extends AppController{      public function salvar(){      if(!empty($data)){          $this->Funcionario->create($data);          $this->Funcionario->saveAll($data);     }  }}#view salvare($form->create("Funcionario",array("action"=>"salvar")));e($form->input("Funcionario.nome"));e($form->input("Dependente.nome"));e($form->end("salvar"));
Se eu não estou enganado, assim os dados do funcionario e do(s) dependente(s) dele, se existir(em), são salvos ao mesmo tempo.

Outra coisa: já que você vai escrever muitos controladores e modelos dê uma olhada nesse link http://forum.imasters.com.br/index.php?/topic/398402-cake-sem-redundancia-de-codigo/

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.