<?php
  /**
   * Define un tipo de moneda para la web del Banco del Tiempo de Málaga.
   **/
  class TipoMonedaBtMalaga extends ComponenteBtMalaga {
  
  	static $db = array(
  	                                   'Nombre' => 'Varchar',
  	                                   'Descripcion' => 'Text',
  	                                   'SimboloSingular' => 'Varchar',
  	                                   'SimboloPlural' => 'Varchar'
  					  );

    /**
     * Devuelve el nombre del componente 
     **/
    public function getNombreComponente() {
        return 'tipo de moneda';
    }


  					  
	/**
	 * Función que indica los campos para poner en el grid de listado.
	 * Nota: debe ser sobreescrito por cada componentes.
	 **/
	protected function camposGrid() {
		$resultado = parent::camposGrid();
		$resultado .= '{"Nombre": "Nombre", "Columna":"Nombre", "Ordenacion":"str", "Tipo":"ro", "Tamano":200, "Filtro":"#text_filter", "Alineacion":"left"},';
		$resultado .= '{"Nombre": "Descripción", "Columna":"Descripcion", "Ordenacion":"str", "Tipo":"ro", "Tamano":"*", "Filtro":"#text_filter", "Alineacion":"left"}';
		return $resultado;
	}
	
    /**
     * Función que devuelve los campos para editar
     * el contenido en modo principal.
     **/
    protected function cargarEdicionPrincipal() {
        $pestanasEditable = parent::cargarEdicionPrincipal();       

	//Nombre del contenido.
	$campoNombre = new CampoEditable();
	$campoNombre->setNombre('Nombre');
	$campoNombre->setField(new TextField('Nombre', 'Nombre', $this->Nombre));
	$campoNombre->setValidador(new CampoRequeridoValidador());
	$pestanasEditable->add("Contenido", $campoNombre);

	//Descripción del contenido.
	$campoDescripcion = new CampoEditable();
	$campoDescripcion->setNombre('Descripci&oacute;n');
	$campoDescripcion->setField(new TextareaField('Descripcion', 'Descripcion', 8, 3, $this->Descripcion));
	$campoDescripcion->setValidador(new CampoRequeridoValidador());
	$pestanasEditable->add('Contenido', $campoDescripcion);
	
	//Simbolo en sigular.
	$campoSimboloSingular = new CampoEditable();
	$campoSimboloSingular->setNombre('Simbolo en singular');
	$campoSimboloSingular->setField(new TextField('SimboloSingular', 'SimboloSingular', $this->SimboloSingular));
	$campoSimboloSingular->setValidador(new CampoRequeridoValidador());
	$pestanasEditable->add('Contenido', $campoSimboloSingular);
	
	//Simbolo en plural.
	$campoSimboloPlural = new CampoEditable();
	$campoSimboloPlural->setNombre('Simbolo en plural');
	$campoSimboloPlural->setField(new TextField('SimboloPlural', 'SimboloPlural', $this->SimboloPlural));
	$campoSimboloPlural->setValidador(new CampoRequeridoValidador());
	$pestanasEditable->add('Contenido', $campoSimboloPlural);

        return $pestanasEditable;
    }	
    
    /**
     * Devuelve el código par ver el componente.
     **/	
    protected function CodigoVer() {
      return $this->renderWith('PlantillaVerTipoMoneda');
    }    
    
   	/**
	 * Clase que devuelve los botones para el toolbar.
	 * Nota: debe ser sobreescrito por cada componente.
	 **/
	public function botonesToolbar() {
		$this->cargarAcciones();
		$xml = parent::botonesToolbar();
		
		//botón para editar
        $xml .= '<item id="editar#'.$this->ID.'" type="button" text="Editar" img="btmalaga/images/edit.gif" imgdis="btmalaga/images/editdisabled.gif"';
        if (strpos($this->AccionEditar,'javascript') === false) {
        	$xml .= ' enabled="false"';
     	}        
        $xml .= '></item>';		
        
   		//botón para borrar
        $xml .= '<item id="borrar#'.$this->ID.'" type="button" text="Borrar" img="btmalaga/images/delete.gif" imgdis="btmalaga/images/deletedisabled.gif"';
        if (strpos($this->AccionBorrar,'javascript') === false) {
        	$xml .= ' enabled="false"';
     	}        
        $xml .= '></item>';        

        
        return $xml;
    }  

    /**
     * sobreescribe la función para borrar
     */
    public function cargarAcciones() {
      	parent::cargarAcciones();
      	
      	//compruesa si existe algún sistema con la moneda actual
      	if (strpos($this->AccionBorrar, 'javascript') !== false) {
      	  $sistemas = DataObject::get('SistemaBtMalaga','TipoMonedaID='.$this->ID);
      	  if (($sistemas) && ($sistemas->Count() > 0)) {
      		$this->AccionBorrar = 'btmalaga/images/deletedisabled.gif^Borrar';
      	  }	      		
      	}
    }  

  }
?>