<?php
// vim: set expandtab tabstop=4 shiftwidth=4 foldmethod=marker:
/**
 * Objeto asociado a una tabla de la base de datos.
 * Parcialmente generado por DB_DataObject.
 *
 * PHP version 5
 *
 * @category  SIVeL
 * @package   SIVeL
 * @author    Vladimir Támara <vtamara@pasosdeJesus.org>
 * @copyright 2004 Dominio público. Sin garantías.
 * @license   http://creativecommons.org/licenses/publicdomain/ Dominio Público. Sin garantías.
 * @version   $Id: Supracategoria.php,v 1.25 2009/04/29 03:55:18 vtamara Exp $
 * @link      http://sivel.sf.net
 */

/**
 * Definicion para la tabla supracategoria.
 */
require_once 'DB/DataObject.php';

/**
 * Definicion para la tabla supracategoria.
 * Ver documentación de DataObjects_Caso.
 *
 * @category SIVeL
 * @package  SIVeL
 * @author   Vladimir Támara <vtamara@pasosdeJesus.org>
 * @license  http://creativecommons.org/licenses/publicdomain/ Dominio Público.
 * @link     http://sivel.sf.net/tec
 * @see      DataObjects_Caso
 */
class DataObjects_Supracategoria extends DB_DataObject 
{
    // START_AUTOCODE
    /* the code below is auto generated do not remove the above tag */

    var $__table = 'supracategoria';                  // table name
    var $id;                              // int4(4)  multiple_key
    var $nombre;                          // varchar(-1)  not_null
    var $fecha_creacion;                  // date(4)  not_null
    var $fecha_deshabilitacion;           // date(4)  
    var $id_tipo_violencia;               // varchar(-1)  multiple_key

    /**
     * ZE2 compatibility trick
     *
     * @return copia del objeto
     */
    function __clone() 
    {
        return $this;
    }

    /**
     * Static get
     *
     * @param mixed $k Llave
     * @param mixed $v Valor
     *
     * @return Registro cuya llave sea el valor.
     */
    function staticGet($k, $v = null) 
    {
        return DB_DataObject::staticGet('DataObjects_Supracategoria', $k, $v);
    }

    /* the code above is auto generated do not remove the tag below */
    // END_AUTOCODE
    var $fb_linkDisplayFields = array('nombre','id_tipo_violencia');
    var $fb_preDefOrder = array('id_tipo_violencia', 'nombre');
    var $fb_fieldLabels = array('id_tipo_violencia'=>'Tipo de Violencia');
    var $fb_selectAddEmpty = array('fecha_deshabilitacion');
    var $fb_select_display_field = 'nombre';

    var $nom_tabla = 'Supracategoria';

    /**
     * Pone un valor en la base diferente al recibido del formulario.
     *
     * @param string $valor Valor en formulario
     *
     * @return Valor para BD
     */
    function setfecha_deshabilitacion($valor)
    {
        $this->fecha_deshabilitacion = ($valor == '0000-00-00') ? 'null' : $valor;
    }

    /**
     * Opciones de fecha para un campo
     *
     * @param string &$field campo
     *
     * @return arreglo de opciones
     */
    function dateOptions(&$field)
    {
        return array('language' => 'es',
        'format' => 'dMY',
        'minYear' => $GLOBALS['anio_min'],
        'maxYear' => 2025);
    }

    /**
     * Ajusta formulario generado.
     *
     * @param object &$form      Formulario HTML_QuickForm
     * @param object &$formbuild Generador DataObject_FormBuilder
     *
     * @return void
     */
    function postGenerateForm(&$form, &$formbuild)
    {
        $h =& $form->getElement('__header__');
        if (PEAR::isError($h)) {
            $h =& $form->getElement(null);
        }
        $h->setValue($this->nom_tabla);
        $f =& $form->getElement('fecha_deshabilitacion');
        if (!isset($this->fecha_deshabilitacion) ||
            $this->fecha_deshabilitacion == '') {
            $f->_elements[0]->setValue('');
            $f->_elements[1]->setValue('');
            $f->_elements[2]->setValue('');
       }
    }

}

?>
