<?php

class Produto_Form_CondicaoEspecial extends Agro_Form {
	
	public function init() {
		$this->addElement('hidden', 'id', array('decorators' => $this->buttonDecorator));
		
		$this->addElement('text', 'ds_titulo', array(
			'decorators' => $this->elementDecorator,
			'label' => 'Título',
			'required' => true,
			'maxlength' => 200,
			'size' => 80
		));

		$datasCorte = (new Produto_Model_ConfiguracaoDataCorte())->getCombo();

		$this->addElement('select', 'id_configuracao_data_corte', array(
			'MultiOptions' => (new Produto_Model_ConfiguracaoDataCorte())->getCombo(),
			'decorators' => $this->elementDecorator,
			'label' => 'Data de Corte',
			'value' => count($datasCorte),
			'required' => true
		));
		
		$this->addElement('textarea', 'ds_condicao_especial', array(
			'decorators' => $this->elementDecorator,
			'label' => 'Descrição',
			'cols' => 77,
			'rows' => 10
		));
		
		$this->addElement('file', 'ar_condicoes_adicionais', array(
			'label' => 'Arquivo de Condições Especiais',
			'decorators' => $this->fileDecorator,
			'RegisterInArrayValidator' => false,
			'size' => 50
		));

		$this->addElement('text', 'ds_complemento', array(
			'decorators' => $this->elementDecorator,
			'label' => 'Complemento',
			'maxlength' => 200,
			'size' => 80
		));
	}

	public function populate(array $data) {
		if (!empty($data['id'])) {
			$dateTime = (new Produto_Model_ConfiguracaoDataCorte())->getUltimaData();

			$configuracao = (new Produto_Model_CondicaoEspecialConfiguracao())->getConfiguracaoPorData(
				(int) $data['id'],
				$dateTime
			);
		
			$data['ds_condicao_especial'] = $configuracao->ds_condicao_especial;
		}

		parent::populate($data);
	}
}