<?php
// Connection Component Binding
Doctrine_Manager::getInstance()->bindComponent('TIPO_DOCUMENTO', 'doctrine');

/**
 * BaseTIPO_DOCUMENTO
 * 
 * This class has been auto-generated by the Doctrine ORM Framework
 * 
 * @property integer $id_tipo_doc
 * @property string $descripcion
 * @property string $abreviacion
 * @property Doctrine_Collection $USUARIO
 * @property Doctrine_Collection $MAESTRO_TERCEROS
 * @property Doctrine_Collection $FORMACION_SUPERIOR
 * @property Doctrine_Collection $FORMACION_IDIOMAS
 * @property Doctrine_Collection $EXPERIENCIA_LABORAL
 * @property Doctrine_Collection $DATOS_FUNCIONARIO
 * @property Doctrine_Collection $DATOS_FAMILIAR
 * @property Doctrine_Collection $CONTRATISTA
 * @property Doctrine_Collection $ACTIVIDAD
 * @property Doctrine_Collection $ACTIVIDAD_8
 * @property Doctrine_Collection $ACTIVIDAD_9
 * 
 * @method integer             getIdTipoDoc()           Returns the current record's "id_tipo_doc" value
 * @method string              getDescripcion()         Returns the current record's "descripcion" value
 * @method string              getAbreviacion()         Returns the current record's "abreviacion" value
 * @method Doctrine_Collection getUSUARIO()             Returns the current record's "USUARIO" collection
 * @method Doctrine_Collection getMAESTROTERCEROS()     Returns the current record's "MAESTRO_TERCEROS" collection
 * @method Doctrine_Collection getFORMACIONSUPERIOR()   Returns the current record's "FORMACION_SUPERIOR" collection
 * @method Doctrine_Collection getFORMACIONIDIOMAS()    Returns the current record's "FORMACION_IDIOMAS" collection
 * @method Doctrine_Collection getEXPERIENCIALABORAL()  Returns the current record's "EXPERIENCIA_LABORAL" collection
 * @method Doctrine_Collection getDATOSFUNCIONARIO()    Returns the current record's "DATOS_FUNCIONARIO" collection
 * @method Doctrine_Collection getDATOSFAMILIAR()       Returns the current record's "DATOS_FAMILIAR" collection
 * @method Doctrine_Collection getCONTRATISTA()         Returns the current record's "CONTRATISTA" collection
 * @method Doctrine_Collection getACTIVIDAD()           Returns the current record's "ACTIVIDAD" collection
 * @method Doctrine_Collection getACTIVIDAD8()          Returns the current record's "ACTIVIDAD_8" collection
 * @method Doctrine_Collection getACTIVIDAD9()          Returns the current record's "ACTIVIDAD_9" collection
 * @method TIPO_DOCUMENTO      setIdTipoDoc()           Sets the current record's "id_tipo_doc" value
 * @method TIPO_DOCUMENTO      setDescripcion()         Sets the current record's "descripcion" value
 * @method TIPO_DOCUMENTO      setAbreviacion()         Sets the current record's "abreviacion" value
 * @method TIPO_DOCUMENTO      setUSUARIO()             Sets the current record's "USUARIO" collection
 * @method TIPO_DOCUMENTO      setMAESTROTERCEROS()     Sets the current record's "MAESTRO_TERCEROS" collection
 * @method TIPO_DOCUMENTO      setFORMACIONSUPERIOR()   Sets the current record's "FORMACION_SUPERIOR" collection
 * @method TIPO_DOCUMENTO      setFORMACIONIDIOMAS()    Sets the current record's "FORMACION_IDIOMAS" collection
 * @method TIPO_DOCUMENTO      setEXPERIENCIALABORAL()  Sets the current record's "EXPERIENCIA_LABORAL" collection
 * @method TIPO_DOCUMENTO      setDATOSFUNCIONARIO()    Sets the current record's "DATOS_FUNCIONARIO" collection
 * @method TIPO_DOCUMENTO      setDATOSFAMILIAR()       Sets the current record's "DATOS_FAMILIAR" collection
 * @method TIPO_DOCUMENTO      setCONTRATISTA()         Sets the current record's "CONTRATISTA" collection
 * @method TIPO_DOCUMENTO      setACTIVIDAD()           Sets the current record's "ACTIVIDAD" collection
 * @method TIPO_DOCUMENTO      setACTIVIDAD8()          Sets the current record's "ACTIVIDAD_8" collection
 * @method TIPO_DOCUMENTO      setACTIVIDAD9()          Sets the current record's "ACTIVIDAD_9" collection
 * 
 * @package    controlComisiones
 * @subpackage model
 * @author     Your name here
 * @version    SVN: $Id: Builder.php 7691 2011-02-04 15:43:29Z jwage $
 */
abstract class BaseTIPO_DOCUMENTO extends sfDoctrineRecord
{
    public function setTableDefinition()
    {
        $this->setTableName('TIPO_DOCUMENTO');
        $this->hasColumn('id_tipo_doc', 'integer', 20, array(
             'notnull' => false,
             'type' => 'integer',
             'fixed' => 0,
             'unsigned' => false,
             'primary' => true,
             'length' => 20,
             ));
        $this->hasColumn('descripcion', 'string', 30, array(
             'notnull' => false,
             'type' => 'string',
             'fixed' => 0,
             'unsigned' => false,
             'primary' => false,
             'length' => 30,
             ));
        $this->hasColumn('abreviacion', 'string', 10, array(
             'notnull' => false,
             'type' => 'string',
             'fixed' => 0,
             'unsigned' => false,
             'primary' => false,
             'length' => 10,
             ));
        $this->hasColumn('codigo_siif', 'string', 20, array(
             'notnull' => false,
             'type' => 'string',
             'fixed' => 0,
             'unsigned' => false,
             'primary' => false,
             'length' => 20,
             ));
    }

    public function setUp()
    {
        parent::setUp();
        $this->hasMany('USUARIO', array(
             'local' => 'id_tipo_doc',
             'foreign' => 'id_tipo_doc'));

        $this->hasMany('MAESTRO_TERCEROS', array(
             'local' => 'id_tipo_doc',
             'foreign' => 'id_tipo_doc'));

        $this->hasMany('FORMACION_SUPERIOR', array(
             'local' => 'id_tipo_doc',
             'foreign' => 'id_tipo_doc'));

        $this->hasMany('FORMACION_IDIOMAS', array(
             'local' => 'id_tipo_doc',
             'foreign' => 'id_tipo_doc'));

        $this->hasMany('EXPERIENCIA_LABORAL', array(
             'local' => 'id_tipo_doc',
             'foreign' => 'id_tipo_doc'));

        $this->hasMany('DATOS_FUNCIONARIO', array(
             'local' => 'id_tipo_doc',
             'foreign' => 'id_tipo_doc'));

        $this->hasMany('DATOS_FAMILIAR', array(
             'local' => 'id_tipo_doc',
             'foreign' => 'id_tipo_doc_func'));

        $this->hasMany('CONTRATISTA', array(
             'local' => 'id_tipo_doc',
             'foreign' => 'id_tipo_doc'));

        $this->hasMany('ACTIVIDAD', array(
             'local' => 'id_tipo_doc',
             'foreign' => 'id_doc_creador'));

        $this->hasMany('ACTIVIDAD as ACTIVIDAD_8', array(
             'local' => 'id_tipo_doc',
             'foreign' => 'id_doc_modificador'));

        $this->hasMany('ACTIVIDAD as ACTIVIDAD_9', array(
             'local' => 'id_tipo_doc',
             'foreign' => 'id_doc_responsable'));
    }
}