<?php

class Safra12_Lvp001Controller extends Agro_Controller_Action {
	private $__params;
	
	public function init() {
		$Model = new Sistema_Model_Empresas();
		$this->id_empresa = $Model->getIdEmpresaUsuarioCorrente();
		$this->__params = $this->getRequest()->getParams();
	}
	
	public function getModel() {
		return new Safra12_Model_Lvp001();
	}
	
	public function getModelPrevia() {
		return new Seguro_Model_VistoriaPreviaEmpresa();
	}	
	
	public function getForm($dados = array()) {
		return new Safra12_Form_Lvp001(array('dados'=>$dados));
	}
	
	/**
	 * Monta a tela de digitação de laudo.
	*/
	public function formAction() {	
		$this->view->jQuery()->addJavascriptFile('/resources/jquery/jquery.MultiFile.js');
        $this->view->jQuery()->addStylesheet('/resources/css/seguro/laudoview.css');
        //$this->view->jQuery()->addStylesheet('/resources/css/seguro/laudoprint.css');		
        
		$Model = $this->getModel();
		$dados = $this->getRequest()->getParams();

		$this->view->dados = $this->getModelPrevia()->getDadosProposta($dados['id_proposta']);
		$this->view->id_proposta_vistoria = $dados['id_proposta_vistoria'];
		
		if($this->getRequest()->isPost()){
	    	$Form = $this->getForm(array('dados'=>$dados));
	        $Form->populate($this->__params);

			if($Form->isValid($Form->getValues())) {
				if($Model->save($this->__params)){
					$this->view->showMessage($Model->getMessages(), "success");
				}else{
					$this->view->showMessage($Model->getMessages(), "error");
				}				
        	} else {
        		$this->view->showMessage($this->getAllFormErros(array($Form),$_POST), 'error');
        	}

		}
		$this->view->readonly = $dados['readonly'];
		
		$this->populate();
	}

			

	
    public function populate(){

    	$ProcessosEmpresas = new Sinistro_Model_ProcessosEmpresas();

    	$Model = $this->getModel();
    	$ModelLvp001IS = new Safra12_Model_Lvp001ItensSegurados();
		$ModelProposta = new Seguro_Model_Propostas();
    	
    	if ($this->__params["id_proposta_vistoria"]){
   		
    		$this->__params = $Model->getDadosLaudo($this->__params["id_proposta_vistoria"])  ? array_merge($this->__params, $Model->getDadosLaudo($this->__params["id_proposta_vistoria"])) : $this->__params;
   
    		$this->__params = $this->__params['id_laudo'] ? array_merge($this->__params, $ModelLvp001IS->get($this->__params)) : $this->__params;

			$this->view->proposta = $ModelProposta->find($this->__params['id_proposta'])->current();
    	}

    	$Form = $this->getForm(array('dados'=>$this->__params));
 	
        $Form->populate($this->__params);

		$this->view->form = $Form;

		if(!array_key_exists("amostras", $this->__params)){
			$this->__params = $Model->__prepararDados($this->__params);
		}

		$dadosProposta = $this->getModelPrevia()->getDadosProposta($this->__params['id_proposta']);
		
    	$this->view->dados = array_merge($this->__params, $dadosProposta); 

    }	
	
	
	public function listalaudosAction() {
		$this->getHelper('layout')->disableLayout();
		$Model = $this->getModel();
		$dados = $this->getRequest()->getParams();

		$this->view->laudos = $Model->getLaudos($dados);
		$this->view->id_proposta_vistoria = $dados['id_proposta_vistoria'];
		$idProposta = $Model->getPropostaVistoria($dados['id_proposta_vistoria']);
		$Safra = new Produto_Model_Safras();
		$this->view->schema = $Safra->getSafraModel($idProposta);
	}

}
