<?php

class Sistema_Form_Treinamento extends Agro_Form {
	
	public function init() {

        $usuarioLogado = Zend_Auth::getInstance()->getIdentity();
        $modelFuncionarios = new Sistema_Model_Funcionarios();
        $modelEmpresas = new Sistema_Model_Empresas();
        $comboEmpresas = $modelEmpresas->getComboVistoriadoras();

        $this->addElement('select', 'id_agronomos', array(
            'decorators' => $this->elementDecorator,
            'MultiOptions' => $modelFuncionarios->getComboFuncionariosAgronomos(),
            'label' => 'Ministrado por (Agrônomo AgroBrasil)',
            'required' => true,
            'class' => 'multiple',
            'multiple' => true,
            'style' => 'min-width: 115px;'
        ));

        $this->addElement('select', 'id_empresas', array(
			'decorators' => $this->elementDecorator,
		    'MultiOptions' => $comboEmpresas,
			'label' => 'Empresa',
			'required' => true,
            'class' => 'multiple',
            'multiple' => true,
            'style' => 'min-width: 115px;'
		));

        $this->addElement('select', 'id_vistoriadores', array(
            'decorators' => $this->elementDecorator,
            'label' => 'Vistoriador',
            'required' => true,
            'class' => '',
            'multiple' => true
        ));

        $TiposVitorias = new Sistema_Model_TipoVistoria();
        $tipos = $TiposVitorias->fetchPairs('id', 'ds_tipo', false, false, 1, 'fl_ativo is true AND fl_del is false', false, 'ASC');
        $this->addElement('select', 'id_tipo_vistoria', array(
			'decorators' => $this->elementDecorator,
		    'MultiOptions' => $tipos,
			'label' => 'Tipo de Vistoria',
			'required' => true,
            'class' => 'multiple',
            'multiple' => true,
            'style' => 'min-width: 115px;'
		));

        $GrupamentoCulturas = new Produto_Model_GrupamentoCulturas();
        $grupamentos = $GrupamentoCulturas->fetchPairs('id', 'ds_nome_grupamento_cultura', false, false, 1, 'fl_ativo is true AND fl_del is false', false, 'ASC');
        $this->addElement('select', 'id_grupamento_cultura', array(
			'decorators' => $this->elementDecorator,
		    'MultiOptions' => $grupamentos,
			'label' => 'Grupo de Culturas',
			'required' => true,
            'class' => 'multiple',
            'multiple' => true,
            'style' => 'min-width: 115px;'
		));

        $this->addElement('text', 'dt_treinamento', array(
            'decorators' => $this->elementDecorator,
            'label' => 'Data do Treinamento',
            'class' => 'data',
            'required' => true
        ));

        $this->addElement('hidden', 'id', array(
            'decorators' => $this->elementDecorator,
            'class' => 'integer'
        ));

        $this->addElement('text', 'ds_local_treinamento', array(
            'decorators' => $this->elementDecorator,
            'label' => 'Local do Treinamento',
            'required' => true,
            'maxlength' => 255,
            'style' => 'min-width: 520px;'
        ));

		$this->addElement('textarea', 'ds_assuntos_abordados', array(
			'decorators' => $this->elementDecorator,
			'label' => 'Assunto(s) Abordado(s)',
			'required' => true,
			'maxlength' => 3000,
			'rows' => 7,
			'cols' => 80
		));
    }

    public function populate(array $values) {
        
        if ($values['id']) {

            $modelTreinamentos = new Sistema_Model_Treinamentos();
            $values['id_empresas'] =  $modelTreinamentos->getEmpresasByTreinamento($values['id']);
            $values['id_tipo_vistoria'] = $modelTreinamentos->getTiposVistoriasByTreinamento($values['id']);
            $values['id_grupamento_cultura'] = $modelTreinamentos->getTiposGrupamentosCulturasByTreinamento($values['id']);
            $values['id_agronomos'] = $modelTreinamentos->getAgronomosByTreinamento($values['id']);
            $values['dt_treinamento'] = Agro_Util::formatDate($values['dt_treinamento']);
            
            $modelFuncionarios = new Sistema_Model_Funcionarios();
            $comboVistoriadores = $modelFuncionarios->getComboVistoriadoresByEmpresas($values['id_empresas']);
            $this->id_vistoriadores->addMultiOptions($comboVistoriadores);
            $values['id_vistoriadores'] = $modelTreinamentos->getVistoriadoresByTreinamento($values['id']);
        }

        parent::populate($values);
    }
}
