<?php

class Seguro_Form_AlterarProduto extends Agro_Form {
	
	public function init() {		
		$this->addElement('hidden', 'id_proposta', array('decorators' => $this->buttonDecorator));
				
		$this->addElement('select', 'id_produto', array(
			'decorators' => $this->elementDecorator,
			'label' => 'Selecione o Produto para alteração'
		));
	}
	
	public function populate(array $values) {
	    $Auth = Zend_Auth::getInstance()->getIdentity();

        $Produtos = new Produto_Model_Produtos();
        $Propostas = new Seguro_Model_Propostas();
        $Safras = new Produto_Model_Safras();
        
        $Proposta = $Propostas->find($values['id_proposta'])->current();
        $Produto = $Produtos->find($Proposta->id_produto)->current();
        
        $opcoesProdutosGeral = $Produtos->fetchPairs("id", "ds_nome_produto", false, false, 1, "id_produto_geral=".$values['id_produto_geral']." and id_safra=".$Produto->id_safra, false);
        $parametrosComboProdutos = ['id_corretor' => $Proposta->id_usuario_criacao];

        if ($Auth->tp_usuario === Sistema_Model_Usuarios::TIPO_USUARIO_PREPOSTO) {
            $parametrosComboProdutos = ['id_preposto' => $Proposta->id_usuario_criacao];
        }

        $opcoesProdutosHabilitados = $Propostas->getComboProdutos($parametrosComboProdutos);

        foreach($opcoesProdutosGeral as $id_produto => $ds_nome_produto){
            if(array_key_exists($id_produto, $opcoesProdutosHabilitados)){
                $safra = $Safras->getNomeSafraByProduto($id_produto);
                $opcoesProdutosAlteracao[$id_produto] = $safra ." - ". $ds_nome_produto;
            }
        }

        if(!count($opcoesProdutosAlteracao)){
            $opcoesProdutosAlteracao[] = 'Nenhum produto habilitado';
        }
        
        $this->id_produto->setMultiOptions($opcoesProdutosAlteracao);

        parent::populate($values);
	}
}