<?php

class Seguro_Form_PropostasTipoAssinaturaDocumento extends Agro_Form
{
    public function init()
    {
        $View = Zend_Layout::getMvcInstance()->getView();
        $Safra = new Produto_Model_Safras();
        $Status = new Sistema_Model_Status();
        $Produtos = new Agro_Db_Table_Produtos();
        $Corretores = new Sistema_Model_Corretores();

        $this->addElement('hidden', 'is_agro', array(
            'decorators' => $this->buttonDecorator,
            'value' => Sistema_Model_Usuarios::usuarioLogadoFuncionarioAgro()
        ));

        $this->addElement('hidden', 'is_corretor', array(
            'decorators' => $this->buttonDecorator,
            'value' => Sistema_Model_Usuarios::isUsuarioLogadoCorretorPreposto()
        ));

        $this->addElement('text', 'codigo', array(
            'decorators' => $this->elementDecorator,
            'label' => 'Proposta',
            'size' => 20,
            'name' => 'id',
            'id' => 'codigo'
        ));

        $this->addElement('text', 'id_apolice', array(
            'decorators' => $this->elementDecorator,
            'label' => 'Apólice',
            'size' => 20,
            'class' => 'integer',
            'name' => 'nr_apolice',
            'id' => 'id_apolice'
        ));

        $tipoAssinatura = array(
            '1,3,4,5' => "Todos",
            1 => Seguro_Model_PropostasTipoAssinaturaDocumento::getDescricaoByTipo(Seguro_Model_PropostasTipoAssinaturaDocumento::ELETRONICA_EMAIL),
            5 => Seguro_Model_PropostasTipoAssinaturaDocumento::getDescricaoByTipo(Seguro_Model_PropostasTipoAssinaturaDocumento::ELETRONICA_SMS),
            //2 => "Eletrônica: Presencial",
            3 => Seguro_Model_PropostasTipoAssinaturaDocumento::getDescricaoByTipo(Seguro_Model_PropostasTipoAssinaturaDocumento::MANUAL),
            4 => Seguro_Model_PropostasTipoAssinaturaDocumento::getDescricaoByTipo(Seguro_Model_PropostasTipoAssinaturaDocumento::NAO_INFORMADA),
        );

        $this->addElement('select', 'tp_assinatura', array(
            'MultiOptions' => $tipoAssinatura,
            'decorators' => $this->elementDecorator,
            'label' => 'Tipo de Assinatura',
            'required' => true
        ));

        $this->addElement('text', 'ds_nome_proponente', array(
            'decorators' => $this->elementDecorator,
            'label' => 'Nome Proponente',
            'maxlength' => 100,
            'class' => 'upper',
            'size' => 70
        ));

        $this->addElement('select', 'tp_pessoa', array(
            'MultiOptions' => array('F' => 'FÍSICA', 'J' => 'JURÍDICA'),
            'decorators' => $this->elementDecorator,
            'label' => 'Tipo Pessoa',
            'required' => true
        ));

        $this->addElement('text', 'ds_cpf_proponente', array(
            'decorators' => $this->elementDecorator,
            'label' => 'CPF/CNPJ',
            'class' => 'cpf_cnpj'
        ));

        $this->addElement('text', 'ds_coordenadas', array(
            'decorators' => $this->elementDecorator,
            'label' => 'Coordenadas Geográficas',
            'maxlength' => 128,
            'size' => 32,
            'class' => 'coordenadas'
        ));

        $this->addElement('select', 'id_status', array(
            'MultiOptions' => $Status->getCombo('PR', false, true),
            'decorators' => $this->elementDecorator,
            'label' => 'Status',
            'multiple' => true,
            'class' => 'multiple'
        ));

        $corretores = $Corretores->fetchPairs('id_usuario', 'ds_nome_fantasia', false, false, 1, false, false);
        $this->addElement('select', 'id_corretor', array(
            'MultiOptions' => array(0 => '   --- Todos ---   ') + $corretores,
            'decorators' => $this->elementDecorator,
            'label' => 'Corretor',
            'required' => true
        ));

        $this->addElement('select', 'id_preposto', array(
            'MultiOptions' => array(0 => '   --- Selecione um Corretor ---   '),
            'decorators' => $this->elementDecorator,
            'label' => 'Sublogin'
        ));

        $Estados = new Sistema_Model_Estados();
        $estados = $Estados->fetchPairs('ds_sigla', 'ds_sigla', false, false, 1, false, true);
        $this->addElement('select', 'ds_sigla_propriedade', array(
            'MultiOptions' => array(0 => '   --- Todos ---   ') + $estados,
            'decorators' => $this->elementDecorator,
            'label' => 'UF'
        ));

        $this->addElement('select', 'id_municipio_propriedade', array(
            'MultiOptions' => array(0 => '   --- Selecione um Estado ---   '),
            'decorators' => $this->elementDecorator,
            'RegisterInArrayValidator' => false,
            'label' => 'Municípios',
            'required' => true
        ));

        $safras = ($View->renovacao) ?  $Safra->getCombo(3, false) : $Safra->getCombo();
        $safras[0] = '   --- Todas ---   ';
        $this->addElement('select', 'id_safra', array(
            'MultiOptions' => $safras,
            'decorators' => $this->elementDecorator,
            'label' => 'Safra',
            'required' => true
        ));


        $produtos = $Produtos->getCombo();
        $this->addElement('select', 'id_produto', array(
            'MultiOptions' => array(0 => '   --- Selecione um Produto ---   ') + $produtos,
            'decorators' => $this->elementDecorator,
            'label' => 'Produtos',
            'required' => true
        ));

        $statusAssinatura = array(
            '' => 'Todos',
            Seguro_Model_PropostasDocusign::STATUS_WAITING => Seguro_Model_PropostasDocusign::getDescricaoStatus(Seguro_Model_PropostasDocusign::STATUS_WAITING),
            Seguro_Model_PropostasDocusign::STATUS_SENT => Seguro_Model_PropostasDocusign::getDescricaoStatus(Seguro_Model_PropostasDocusign::STATUS_SENT),
            Seguro_Model_PropostasDocusign::STATUS_DELIVERED => Seguro_Model_PropostasDocusign::getDescricaoStatus(Seguro_Model_PropostasDocusign::STATUS_DELIVERED),
            Seguro_Model_PropostasDocusign::STATUS_ERROR => Seguro_Model_PropostasDocusign::getDescricaoStatus(Seguro_Model_PropostasDocusign::STATUS_ERROR),
            Seguro_Model_PropostasDocusign::STATUS_COMPLETED => Seguro_Model_PropostasDocusign::getDescricaoStatus(Seguro_Model_PropostasDocusign::STATUS_COMPLETED),
            Seguro_Model_PropostasDocusign::STATUS_DECLINED => Seguro_Model_PropostasDocusign::getDescricaoStatus(Seguro_Model_PropostasDocusign::STATUS_DECLINED),
            Seguro_Model_PropostasDocusign::STATUS_VOIDED => Seguro_Model_PropostasDocusign::getDescricaoStatus(Seguro_Model_PropostasDocusign::STATUS_VOIDED)
        );
        $this->addElement('select', 'status_assinatura', array(
            'MultiOptions' => $statusAssinatura,
            'decorators' => $this->elementDecorator,
            'label' => 'Status de Envio',
            'required' => true
        ));

    }
}
