Fin de búsqueda avanzada (Capacidades es un o el resto es un and)

git-svn-id: https://192.168.0.254/svn/Proyectos.Incam_PROFIND_Web/trunk@80 3fe1ab16-cfe0-e34b-8c9f-7d8c168d430d
This commit is contained in:
David Arranz 2013-01-23 11:19:27 +00:00
parent 52fef1f348
commit 893865c33e
3 changed files with 69 additions and 9 deletions

View File

@ -56,6 +56,11 @@ class Candidato extends CActiveRecord {
public $idiomas_search;
public $titulaciones_search;
public $perfiles_search;
public $desarrollos_search;
public $pruebas_search;
public $sistemas_search;
public $consultorias_search;
public $tipos_search;
private $_nombreCompleto;
@ -148,7 +153,9 @@ class Candidato extends CActiveRecord {
array('id, id_estado, estado, descripcionEstado, nombre, apellidos, nombreCompleto,
n_identificacion, email, telefono_fijo,
salario_ini_search, salario_fin_search, idiomas_search, titulaciones_search,
perfiles_search,
perfiles_search, desarrollos_search, pruebas_search, sistemas_search, consultorias_search, tipos_search;
telefono_movil, sexo, fecha_nacimiento, lugar_nacimiento,
localidad, carnet_conducir, vehiculo_propio,
observaciones, salario_minimo, salario_maximo, procedencia,
@ -239,6 +246,15 @@ class Candidato extends CActiveRecord {
'disponibilidad_proyectos_internacionales' => 'Disponibilidad para proyectos internacionales',
'observaciones' => 'Observaciones',
'modified_time' => 'Modificación',
'idiomas_search' => 'Idiomas',
'titulaciones_search' => 'Titulaciones',
'perfiles_search' => 'Perfil',
'desarrollos_search' => 'Desarrollo',
'pruebas_search' => 'Pruebas e integración',
'sistemas_search' => 'Sistemas',
'consultorias_search' => 'Consultoría',
'tipos_search' => 'Tipos de aplicación',
);
}
@ -329,19 +345,64 @@ class Candidato extends CActiveRecord {
$criteria->addCondition(('titulaciones.titulacion in ('. $cadena . ')'));
}
$cadena = '';
if (($this->perfiles_search != '') && ($this->perfiles_search[0] != '')){
$criteria->together = true;
array_push($criteria->with, 'capacidadesProfesionales');
$cadena = '';
foreach ($this->perfiles_search as $perfil_search){
if ($cadena != '')
$cadena = $cadena . ',';
$cadena = $cadena . "'" . $perfil_search . "'";
}
$criteria->addCondition(('capacidadesProfesionales.id_capacidad in ('. $cadena . ')'));
}
if (($this->desarrollos_search != '') && ($this->desarrollos_search[0] != '')){
$criteria->together = true;
array_push($criteria->with, 'capacidadesProfesionales');
foreach ($this->desarrollos_search as $desarrollo_search){
if ($cadena != '')
$cadena = $cadena . ',';
$cadena = $cadena . "'" . $desarrollo_search . "'";
}
}
if (($this->pruebas_search != '') && ($this->pruebas_search[0] != '')){
$criteria->together = true;
array_push($criteria->with, 'capacidadesProfesionales');
foreach ($this->pruebas_search as $prueba_search){
if ($cadena != '')
$cadena = $cadena . ',';
$cadena = $cadena . "'" . $prueba_search . "'";
}
}
if (($this->sistemas_search != '') && ($this->sistemas_search[0] != '')){
$criteria->together = true;
array_push($criteria->with, 'capacidadesProfesionales');
foreach ($this->sistemas_search as $sistema_search){
if ($cadena != '')
$cadena = $cadena . ',';
$cadena = $cadena . "'" . $sistema_search . "'";
}
}
if (($this->consultorias_search != '') && ($this->consultorias_search[0] != '')){
$criteria->together = true;
array_push($criteria->with, 'capacidadesProfesionales');
foreach ($this->consultorias_search as $consultoria_search){
if ($cadena != '')
$cadena = $cadena . ',';
$cadena = $cadena . "'" . $consultoria_search . "'";
}
}
if (($this->tipos_search != '') && ($this->tipos_search[0] != '')){
$criteria->together = true;
array_push($criteria->with, 'capacidadesProfesionales');
foreach ($this->tipos_search as $tipo_search){
if ($cadena != '')
$cadena = $cadena . ',';
$cadena = $cadena . "'" . $tipo_search . "'";
}
}
if ($cadena != '')
$criteria->addCondition(('capacidadesProfesionales.id_capacidad in ('. $cadena . ')'));
$sort = new CSort();

View File

@ -135,7 +135,7 @@ class CandidatoDocumento extends CActiveRecord {
}
protected function beforeSave() {
// $this->fecha = date('Y-m-d', CDateTimeParser::parse($this->fecha, Yii::app()->locale->dateFormat));
$this->fecha = date('Y-m-d h:m:s', CDateTimeParser::parse($this->fecha, Yii::app()->locale->dateFormat));
return parent::beforeSave();
}
@ -145,7 +145,6 @@ class CandidatoDocumento extends CActiveRecord {
}
protected function afterSave() {
// $this->fecha = Yii::app()->dateFormatter->formatDateTime(CDateTimeParser::parse($this->fecha, 'yyyy-MM-dd'), 'medium', null);
if ($this->isNewRecord)
$this->guardarFicheroDocumento();
return parent::afterSave();

View File

@ -32,9 +32,9 @@ Yii::app()->clientScript->registerScript('js_datepicker', $js_datepicker, CClien
<td>
<?php $this->widget('zii.widgets.jui.CJuiDatePicker', array(
'model' => $documento,
'attribute' => "[$i]fecha",
'attribute' => "[$i]fecha",
'language' => 'es',
'options' => array('showAnim' => 'fold', 'dateFormat' => 'dd/mm/yyyy'),
'options' => array('showAnim' => 'fold', 'dateFormat' => 'dd/mm/yy'),
'htmlOptions' => array('class' => 'span12'),
));
?>