<?php
class OfertasObligatoriasFormStep extends MultiFormStep {

    public static $is_final_step = true;

    private $validador;

    function getFields() {
      $datosRequeridos = array();
      
      $categorias = DataObject::get('CategoriaServicioBtMalaga');
      if ($categorias) {
        $mapaCategorias = $categorias->toDropdownMap('ID', 'Texto', ' ', true);
      } else {
        $mapaCategorias = null;
      }

      //obtiene los sistemas elegidos por el usuario.
      $datos = $this->getPreviousStepFromDatabase()->loadData();
      $fields = new FieldSet();
      foreach (@$datos['Sistemas'] as $sistemaID) {
          $sistema = DataObject::get_by_id('SistemaBtMalaga',$sistemaID);
          $ofertasIniciales = $sistema->OfertasIniciales;          
          if ($ofertasIniciales > 0) {
            $fields->push(new EtiquetaField('etiqueta_'.$sistemaID,$title='<h1>Para registrarse en el sistema '.$sistema->Nombre.' hay que crear '.$ofertasIniciales.' ofertas iniciales</h1>'));
            for ($i = 0; $i < $ofertasIniciales; $i++) {
              $fields->push(new FieldGroup(new HeaderField('Oferta '.($i+1).' para '.$sistema->Nombre),
                                           new DropdownField('Categoria_'.$sistemaID.'_'.$i, 'Categoria:', $mapaCategorias),
                                           new TextField('Titulo_'.$sistemaID.'_'.$i, 'Titulo*:'),
                                           new TextareaField('Descripcion_'.$sistemaID.'_'.$i, 'Descripci&oacute;n*:'),
                                           new OptionsetField('TipoPrecio_'.$sistemaID.'_'.$i, 'Tipo del precio*:',
                                                              array(
                                                                    'PorHoras' => 'Por horas',
                                                                    'Fijo' => 'Fijo',
                                                                    'Aconvenir' => 'A convenir'
                                                                   ),
                                                              'Aconvenir'
                                           ),
                                           new TextField('DescripcionMoneda_'.$sistemaID.'_'.$i,$sistema->TipoMoneda()->Descripcion),                     
                                           new NumericField('Precio_'.$sistemaID.'_'.$i, 'Precio en '.$sistema->TipoMoneda()->SimboloPlural)
					    
                           ));
              $datosRequeridos []= 'Titulo_'.$sistemaID.'_'.$i;
              $datosRequeridos []= 'Descripcion_'.$sistemaID.'_'.$i;
              //$datosRequeridos []= 'Precio_'.$sistemaID.'_'.$i;
            }
          }
	}
	$fields->push(new EtiquetaField('etiqueta_obligatoria',$title='<p><small>*Datos obligatorios</small></p>'));            
        $this->validador = new RequiredFields($datosRequeridos);

      return $fields;
    }

    function getValidator() {
      return $this->validador;
    }

}
?>
