<?php
/**
 * @name Regulacao_Form_Lf003
 * @desc Form do Laudo final Tipo LF003 / Safra17
 * @author Vinicius Marconi Vasconcelos Berni
 * @since 19/03/2011 15:13
 *
 */
class Regulacao_Form_Lf003 extends Sinistro2_Form_LaudoFinal {

    public function init($idLaudoFinal = null) {

    	parent::init($idLaudoFinal);
		
    	$dados = $this->getDados();
		
		$this->addElement('text', 'dt_vistoria_data', array(
			'decorators' => $this->elementDecorator,
			'label' => 'Data',
			'class' => 'data inline-element informacoes-vistoria',
			'required' => true,
			'validators'=>array(new Agro_Validate_DataVistoria)
		));

		$this->addElement('select', 'dt_vistoria_hora', array(
			'MultiOptions' => array(
		        0=>'00',
		        1=>'01',
		        2=>'02',
		        3=>'03',
		        4=>'04',
		        5=>'05',
		        6=>'06',
		        7=>'07',
		        8=>'08',
		        9=>'09',
		        10=>'10',
		        11=>'11',
		        12=>'12',
		        13=>'13',
		        14=>'14',
		        15=>'15',
		        16=>'16',
		        17=>'17',
		        18=>'18',
		        19=>'19',
		        20=>'20',
		        21=>'21',
		        22=>'22',
		        23=>'23'
		    ),
			'decorators' => $this->elementDecorator,
			'label' => 'Hora',
			'class' => 'inline-element informacoes-vistoria',
			'required' => true,
			'ignore' => $this->getReadOnly(),
			'readonly' => $this->getReadOnly()
		));

		$this->addElement('select', 'dt_vistoria_minutos', array(
			'MultiOptions' => array(
		        0=>'00',
		        5=>'05',
		        10=>'10',
		        15=>'15',
		        20=>'20',
		        25=>'25',
		        30=>'30',
		        35=>'35',
		        40=>'40',
		        45=>'45',
		        50=>'50',
		        55=>'55'
		    ),
			'decorators' => $this->elementDecorator,
			'label' => ':',
			'class' => 'inline-element informacoes-vistoria',
			'ignore' => $this->getReadOnly(),
			'readonly' => $this->getReadOnly()
		));

		$this->addElement('text', 'ds_email_segurado', array(
			'decorators' => $this->elementDecorator,
			'label' => 'E-mail',
			'style' => 'width: 300px'
		));

		$this->addElement('text', 'ds_telefone_segurado', array(
			'decorators' => $this->elementDecorator,
			'label' => 'Telefone',
			'style' => 'width: 110px',
			'class' => 'telefone',
		));
		
		$this->addElement('hidden', 'ds_status_docusign', array(
			'decorators' => $this->elementDecorator,
		));

		$this->addElement('hidden', 'ds_tipo_envio_laudo', array(
			'decorators' => $this->elementDecorator,
		));

		$this->addElement('hidden', 'ds_tipo_envio_doc_acompanhante', array(
			'decorators' => $this->elementDecorator,
		));

		$this->addElement('hidden', 'fl_mostrar_dados_envio', array('decorators' => $this->elementDecorator));

        $this->addDisplayGroup(
            array(
            	'dt_vistoria_data',
            	'dt_vistoria_hora',
            	'dt_vistoria_minutos',
            	'vistoriadores',
				'auxiliares'
            ),
            'informacoes-vistoria',
            array(
                'legend' => 'Informações da Vistoria',
                'order' => 1010,
                'disableLoadDefaultDecorators' => true,
            	'class' => 'inline-element',
                'decorators' => $this->fieldsetDecorator
            )
        );

		$this->addDisplayGroup(
			array(
				'fl_dt_evento_em_cobertura',
				'ds_coordenadas',
				'fl_areas_declaradas_conferem',
				'fl_area_declarada_representa_area_cultivada',
				'vl_tamanho_planta',
				'fl_label_danos'
			),
			'informacoes-basicas',
			array(
				'legend' =>'Informações Básicas',
				'order' => 500,
				'disableLoadDefaultDecorators' => true,
				'decorators'=>$this->fieldsetDecorator
			)
		);

		$this->addElement('select', 'id_motivo_vistoria_nao_vistoriada', array(
			'decorators' => $this->elementDecorator,
			'MultiOptions' => (new Sinistro2_Model_MotivosQuadraNaoVistoriada())->getOptions(),
			'label' => 'Motivo',
			'required' => true
		));
    }

	public function populate($values)
	{	
		$laudoFinal = (new Sinistro2_Model_LaudosFinais())->find($values['id_laudo_final'])->current();

		if ($laudoFinal['id_motivo_vistoria_nao_vistoriada'] == Sinistro2_Model_MotivosQuadraNaoVistoriadaTipos::VISTORIA_NAO_CONCLUIDA) {
			$this->id_motivo_vistoria_nao_vistoriada->setAttrib('ignore', true);
			$this->id_motivo_vistoria_nao_vistoriada->setAttrib('disabled', true);
			$this->id_motivo_vistoria_nao_vistoriada->setAttrib('options', [
				Sinistro2_Model_MotivosQuadraNaoVistoriadaTipos::VISTORIA_NAO_CONCLUIDA => 'Vistoria não concluída
			']);
		}

		$flMostrarDados_envio = Sistema_Model_Usuarios::usuarioLogadoFuncionarioAgro() && $values['fl_transmitido_tablet'];
		$this->fl_mostrar_dados_envio->setValue($flMostrarDados_envio);

		parent::populate($values);
	}
}