<?php

class Sinistro2_Form_Cobranca extends Agro_Form {

	public function init() {

		$usuario = Zend_Auth::getInstance()->getIdentity();

		$this->addElement('select', 'tipo_grupo_produto', array(
			'decorators' => $this->elementDecorator,
			'MultiOptions' => array('1' => 'Hortifruti - prévia', '2' => 'Hortifruti preliminar/final', '3'=>'Grãos - prévia', '4' => 'Grãos - preliminar/final'),
			'label' => 'Tipo'
		));

		$Cultura = new Produto_Model_Culturas();
		$this->addElement('select', 'id_cultura', array(
			'MultiOptions' => $Cultura->fetchPairs('id', 'ds_nome_cultura', false, false, 1, false, true, 'ASC'),
			'decorators' => $this->elementDecorator,
			'label' => 'Cultura'
		));

		$Estados = new Sistema_Model_Estados();
		$this->addElement('select', 'id_estado', array(
			'decorators' => $this->elementDecorator,
			'MultiOptions' => $Estados->getCombo(),
			'RegisterInArrayValidator' => false,
			'label' => 'Estado',
			'required' => false
		));

        $this->addElement('select', 'id_municipio', array(
            'decorators' => $this->elementDecorator,
            'RegisterInArrayValidator' => false,
            'label' => 'Município',
            'required' => false
        ));

		$this->addElement('text', 'nr_nota_fiscal', array(
			'decorators' => $this->elementDecorator,
			'label' => 'Nota Fiscal',
			'required' => true
		));

		$Status = new Sistema_Model_Status();
		$this->addElement('select', 'id_status', array(
			'MultiOptions' => $Status->getComboByChaveTipo('RELATORIO_COBRANCA',12),
			'decorators' => $this->elementDecorator,
			'label' => 'Status'
		));


		$this->addElement('select', 'tipo_cobranca', array(
			'decorators' => $this->elementDecorator,
			'MultiOptions' => array('1' => 'Prévia', '2' => 'Preliminar/Final'),
			'label' => 'Tipo'
		));

		$idAcao = (new Sistema_Model_Acoes())->getIdAcao('sinistro2', 'vistoriadordespesa', 'index');
		$modelEmpresa = new Sistema_Model_Empresas();
		$idEmpresa =  null;
		$vistoriadores = [];

		if (
			$usuario->id_role == Sistema_Model_Usuarios::PERFIL_ADMIN
            || (new Sistema_Model_UsuarioAcao())->checkPermission($usuario->id, $idAcao)
		) {
			$this->addElement('select', 'id_empresa', array(
				'MultiOptions' => $modelEmpresa->getCombo(array('EMPRESA', 'VISTORIADORA', 'SEGURADORA')),
				'decorators' => $this->elementDecorator,
				'label' => 'Empresa',
				'required' => true
			));
		} elseif ($usuario->id_role == Sistema_Model_Usuarios::PERFIL_VISTORIADOR_RESPONSAVEL) {
			$idEmpresa = $modelEmpresa->getIdEmpresaByIdUsuario($usuario->id);

			$vistoriadores = (new Sistema_Model_Funcionarios())->getComboVistoriadoresByEmpresas([$idEmpresa]);
			$vistoriadores[0] = '';

			ksort($vistoriadores);
		}

		$this->addElement('select', 'id_funcionario', array(
			'decorators' => $this->elementDecorator,
			'MultiOptions' => $vistoriadores,
			'RegisterInArrayValidator' => false,
			'label' => 'Perito'
		));
	}
}