<?php

class Sinistro2_Form_MotivoQuadraNaoVistoriada extends Agro_Form {
	
	public function init() {
		$this->addElement('hidden', 'id', array('decorators' => $this->elementDecorator));
		
		$this->addElement('text', 'ds_motivo', array(
			'decorators' => $this->elementDecorator,
			'required' => true,
			'label' => 'Motivo',
			'size' => 100
		));

		$this->addElement('select', 'id_status', array(
			'MultiOptions' => (new Sistema_Model_Status())->getCombo('ITENS_VISTORIAS_FINAIS'),
			'decorators' => $this->elementDecorator,
			'required' => true,
			'label' => 'Status'
		));

		$this->addElement('select', 'id_tipo_motivo_quadra_nao_vistoriada', array(
			'MultiOptions' => (new Sinistro2_Model_TiposMotivosQuadraNaoVistoriada())->getCombo(),
			'decorators' => $this->elementDecorator,
			'required' => true,
			'label' => 'Tipo',
			'class' => 'multiple',
			'multiple' => true
		));
	}

	public function isValid($params){
	
		$params['id_status'] = $params['id_status'] === '0' ? '' : $params['id_status'];
		$params['id_tipo_motivo_quadra_nao_vistoriada'] = $params['id_tipo_motivo_quadra_nao_vistoriada'] === '0' ? '' : $params['id_tipo_motivo_quadra_nao_vistoriada'];
		return parent::isValid($params);
	}

	public function populate(array $values)
	{
		if (!empty($values['id'])) {
			$modelMotivosTipos = new Sinistro2_Model_MotivosQuadraNaoVistoriadaTipos();
			$values['id_tipo_motivo_quadra_nao_vistoriada'] = $modelMotivosTipos->getIdsTipoVinculados((int) $values['id']);
		}
		
		parent::populate($values);
	}
}