Cambio en columnas nombre completo y estado

git-svn-id: https://192.168.0.254/svn/Proyectos.Incam_PROFIND_Web/trunk@71 3fe1ab16-cfe0-e34b-8c9f-7d8c168d430d
This commit is contained in:
David Arranz 2012-11-06 18:00:20 +00:00
parent df44a12017
commit fac28c4a13
2 changed files with 51 additions and 13 deletions

View File

@ -36,6 +36,8 @@
* @property EstadoCandidato $estado
* @property CandidatoIdioma[] $idiomas
* @property CandidatoTitulacion[] $titulaciones
* @property CandidatoAreaFuncional[] $areasFuncionales
* @property CandidatoCapacidadProfesional[] $capacidadesProfesionales
*
* @package application.models
*
@ -47,15 +49,22 @@ class Candidato extends CActiveRecord {
public $ficheroFotografia;
public $fotografia;
public $descripcionEstado;
private $_nombreCompleto;
/**
* @brief Devuelve el nombre completo de un candidato.
* @return string $nombreCompleto
*/
public function getNombreCompleto() {
return $this->nombre . ' ' . $this->apellidos;
if (isset($this->_nombreCompleto)) {
return $this->_nombreCompleto;
}
$this->_nombreCompleto = $this->nombre . ' ' . $this->apellidos;
return $this->_nombreCompleto;
}
public function setNombreCompleto($value) {
@ -129,7 +138,7 @@ class Candidato extends CActiveRecord {
// The following rule is used by search().
// Please remove those attributes that should not be searched.
array('id, id_estado, estado, nombre, apellidos, nombreCompleto,
array('id, id_estado, estado, descripcionEstado, nombre, apellidos, nombreCompleto,
n_identificacion, email, telefono_fijo,
telefono_movil, sexo, fecha_nacimiento, lugar_nacimiento,
localidad, carnet_conducir, vehiculo_propio,
@ -146,14 +155,33 @@ class Candidato extends CActiveRecord {
*/
public function relations() {
return array(
'estado' => array(self::BELONGS_TO, 'EstadoCandidato', 'id_estado'),
'idiomas' => array(self::HAS_MANY, 'CandidatoIdioma', 'candidato_id'),
'idiomasCount' => array(self::STAT, 'CandidatoIdioma', 'candidato_id'),
'titulaciones' => array(self::HAS_MANY, 'CandidatoTitulacion', 'candidato_id'),
'titulacionesCount' => array(self::STAT, 'CandidatoTitulacion', 'candidato_id'),
'estado' => array(self::BELONGS_TO, 'EstadoCandidato', 'id_estado'),
'areasFuncionales' => array(self::HAS_MANY, 'CandidatoAreaFuncional', 'id_candidato'),
'areasFuncionalesCount' => array(self::STAT, 'CandidatoAreaFuncional', 'id_candidato'),
'capacidadesProfesionales' => array(self::HAS_MANY, 'CandidatoCapacidadProfesional', 'id_candidato'),
'capacidadesProfesionalesCount' => array(self::STAT, 'CandidatoTitulacion', 'id_candidato'),
);
}
public function scopes() {
return array(
'disponibles' => array(
'condition' => 'id_estado = 1',
),
'no_disponibles' => array(
'condition' => 'id_estado = 2',
),
);
}
/**
* @brief Busca el ID del estado inicial de un candidato.
* @return integer
@ -175,7 +203,7 @@ class Candidato extends CActiveRecord {
return array(
'id' => 'ID',
'id_estado' => 'Estado',
'descripcionEstado' => 'Estado',
'n_identificacion' => 'DNI/Pasaporte',
'nombre' => 'Nombre',
'apellidos' => 'Apellidos',
@ -218,11 +246,12 @@ class Candidato extends CActiveRecord {
$criteria->compare('t.id', $this->id);
$criteria->compare('t.id_estado', $this->id_estado);
//$criteria->compare('estado.descripcion', $this->estado, true);
$criteria->compare('estado.descripcion', $this->descripcionEstado, true);
$criteria->compare('t.n_identificacion', $this->n_identificacion, true);
$criteria->compare('t.nombre', $this->nombre, true);
$criteria->compare('t.apellidos', $this->apellidos, true);
$criteria->compare( 'concat(t.nombre, " ", t.apellidos)', $this->_nombreCompleto, true );
$criteria->compare('t.sexo', $this->sexo, true);
$criteria->compare('t.localidad', $this->localidad, true);
@ -260,12 +289,17 @@ class Candidato extends CActiveRecord {
$sort->modelClass = 'Candidato';
$sort->attributes = array(
'*',
'defaultOrder' => 'id',
'defaultOrder' => 'id',
'descripcionEstado' => array(
'asc' => 'estado.descripcion',
'desc' => 'estado.descripcion desc',
),
'nombreCompleto' => array(
'asc' => 'concat(t.nombre, " ", t.apellidos)',
'desc' => 'concat(t.nombre, " ", t.apellidos) desc',
),
);
return new CActiveDataProvider($this, array(
'criteria' => $criteria,
'sort' => $sort,

View File

@ -14,7 +14,7 @@ $columnas = array(
),
array(
'type' => 'html',
'name' => 'id_estado',
'name' => 'descripcionEstado',
'value' => 'CHtml::encode($data->estado->descripcion);',
'headerHtmlOptions' => array(
'class' => 'sorting',
@ -62,7 +62,7 @@ $gridView = $this->widget('zii.widgets.grid.CGridView', array(
'dataProvider' => $candidatos->search(),
'columns' => $columnas,
'filter' => $candidatos,
'filterPosition' => 'footer',
'filterPosition' => 'header',
'cssFile' => false,
'htmlOptions' => array('class' => 'dataTables_wrapper form-inline'),
'itemsCssClass' => 'table table-striped table-bordered dataTable',
@ -83,11 +83,15 @@ $gridView = $this->widget('zii.widgets.grid.CGridView', array(
<h3 class="heading"><?php echo Yii::t('profind', 'BD Candidatos'); ?></h3>
<div class="row-fluid sepH_b">
<div class="span8">
<div class="btn-group">
<?php echo CHtml::link(CHtml::tag('i', array('class' => 'icon-plus'), '') . ' ' . Yii::t('profind', 'Nuevo candidato'),
$this->createUrl('create'),
array('class' => 'btn')
); ?>
<div class="btn-toolbar">
<?php echo CHtml::link(CHtml::tag('i', array('class' => 'icon-plus'), '') . ' ' . Yii::t('profind', 'Nuevo candidato'),
$this->createUrl('create'),
array('class' => 'btn')
); ?>
<?php echo CHtml::link(CHtml::tag('i', array('class' => 'icon-filter'), '') . ' ' . Yii::t('profind', 'Filtro'),
$this->createUrl('create'),
array('class' => 'btn')
); ?>
</div>
</div>
<!--<div class="span4">