<?php

// Connection Component Binding
Doctrine_Manager::getInstance()->bindComponent('COM_COMISION', 'doctrine');

/**
 * BaseCOM_COMISION
 * 
 * This class has been auto-generated by the Doctrine ORM Framework
 * 

 * 
 * @package    controlComisiones
 * @subpackage model
 * @author     Your name here
 * @version    SVN: $Id: Builder.php 7691 2011-02-04 15:43:29Z jwage $
 */
abstract class BaseCOM_COMISION extends sfDoctrineRecord {

    public function setTableDefinition() {
        $this->setTableName('COM_COMISION');
        $this->hasColumn('id_comision', 'integer', 20, array(
            'type' => 'integer',
            'fixed' => 0,
            'unsigned' => false,
            'primary' => true,
            'length' => 20,
        ));
        $this->hasColumn('id_anhos', 'integer', 20, array(
            'notnull' => true,
            'type' => 'integer',
            'fixed' => 0,
            'unsigned' => false,
            'primary' => false,
            'length' => 20,
        ));
        $this->hasColumn('id_proyecto', 'integer', 20, array(
            'notnull' => true,
            'type' => 'integer',
            'fixed' => 0,
            'unsigned' => false,
            'primary' => false,
            'length' => 20,
        ));
        $this->hasColumn('no_comision', 'integer', 20, array(
            'notnull' => true,
            'type' => 'integer',
            'fixed' => 0,
            'unsigned' => false,
            'primary' => false,
            'length' => 20,
        ));
        $this->hasColumn('fecha_solicitud', 'timestamp', 7, array(
            'notnull' => true,
            'type' => 'timestamp',
            'fixed' => 0,
            'unsigned' => false,
            'primary' => false,
            'length' => 7,
        ));
        $this->hasColumn('id_tipo_destino', 'integer', 20, array(
            'notnull' => true,
            'type' => 'integer',
            'fixed' => 0,
            'unsigned' => false,
            'primary' => false,
            'length' => 20,
        ));
        $this->hasColumn('objeto', 'string', 1000, array(
            'notnull' => true,
            'type' => 'string',
            'fixed' => 0,
            'unsigned' => false,
            'primary' => false,
            'length' => 4000,
        ));
        $this->hasColumn('agenda', 'string', 1000, array(
            'notnull' => true,
            'type' => 'string',
            'fixed' => 0,
            'unsigned' => false,
            'primary' => false,
            'length' => 1000,
        ));
        $this->hasColumn('fecha_inicio', 'timestamp', 7, array(
            'notnull' => true,
            'type' => 'timestamp',
            'fixed' => 0,
            'unsigned' => false,
            'primary' => false,
            'length' => 7,
        ));
        $this->hasColumn('fecha_fin', 'timestamp', 7, array(
            'notnull' => true,
            'type' => 'timestamp',
            'fixed' => 0,
            'unsigned' => false,
            'primary' => false,
            'length' => 7,
        ));
        $this->hasColumn('id_area', 'integer', 20, array(
            'notnull' => false,
            'type' => 'integer',
            'fixed' => 0,
            'unsigned' => false,
            'primary' => false,
            'length' => 20,
        ));
        $this->hasColumn('id_tipo_comision', 'integer', 20, array(
            'notnull' => false,
            'type' => 'integer',
            'fixed' => 0,
            'unsigned' => false,
            'primary' => false,
            'length' => 20,
        ));
        $this->hasColumn('id_original', 'string', 20, array(
            'notnull' => false,
            'type' => 'string',
            'fixed' => 0,
            'unsigned' => false,
            'primary' => false,
            'length' => 20,
        ));
        $this->hasColumn('estado', 'integer', 1, array(
            'notnull' => true,
            'type' => 'integer',
            'fixed' => 0,
            'unsigned' => false,
            'primary' => false,
            'length' => 1,
        ));
        $this->hasColumn('fecha_anulacion', 'timestamp', 7, array(
            'notnull' => false,
            'type' => 'timestamp',
            'fixed' => 0,
            'unsigned' => false,
            'primary' => false,
            'length' => 7,
        ));
        $this->hasColumn('motivo_anulacion', 'string', 500, array(
            'notnull' => false,
            'type' => 'string',
            'fixed' => 0,
            'unsigned' => false,
            'primary' => false,
            'length' => 500,
        ));
        $this->hasColumn('activo', 'integer', 1, array(
            'notnull' => true,
            'type' => 'integer',
            'fixed' => 0,
            'unsigned' => false,
            'primary' => false,
            'length' => 1,
        ));
        $this->hasColumn('id_jefe', 'integer', 20, array(
            'notnull' => false,
            'type' => 'integer',
            'fixed' => 0,
            'unsigned' => false,
            'primary' => false,
            'length' => 20,
        ));
        $this->hasColumn('trm', 'integer', 20, array(
            'notnull' => false,
            'type' => 'integer',
            'fixed' => 0,
            'unsigned' => false,
            'primary' => false,
            'length' => 20,
        ));
        $this->hasColumn('id_tipo_viatico', 'integer', 20, array(
            'notnull' => false,
            'type' => 'integer',
            'fixed' => 0,
            'unsigned' => false,
            'primary' => false,
            'length' => 20,
        ));
        $this->hasColumn('cargo_jefe', 'string', 150, array(
            'notnull' => true,
            'type' => 'string',
            'fixed' => 0,
            'unsigned' => false,
            'primary' => false,
            'length' => 150,
        ));
        
    }

    public function setUp() {
        parent::setUp();
        $this->hasOne('AREA', array(
            'local' => 'id_area',
            'foreign' => 'id_area'));

        $this->hasOne('PROYECTOS', array(
            'local' => 'id_proyecto',
            'foreign' => 'id'));

        $this->hasOne('COM_TIPO_DESTINO', array(
            'local' => 'id_tipo_destino',
            'foreign' => 'id_tipo_destino'));

        $this->hasMany('COM_TIQUETE', array(
            'local' => 'id_comision',
            'foreign' => 'id_comision'));

        $this->hasMany('COM_RESOLUCION', array(
            'local' => 'id_comision',
            'foreign' => 'id_comision'));

        $this->hasMany('COM_DESTINO', array(
            'local' => 'id_comision',
            'foreign' => 'id_comision'));

        $this->hasMany('COM_COMISIONADO_OBJ', array(
            'local' => 'id_comision',
            'foreign' => 'id_comision'));

        $this->hasMany('COM_COMISIONADO', array(
            'local' => 'id_comision',
            'foreign' => 'id_comision'));
    }

}
