Tarea #646 -> Crear la acción "Creación de oferta" que cree una oferta relacionada con la solicitud de oferta que se está mostrando. Tarea #607 -> Nueva entidad 'Oferta' con estados nuevos Tarea #606 -> Nuevos estados y transiciones para una solicitud de oferta Tarea #601 -> Nuevos estados y transiciones para un candidato Tarea #599 -> Repasar los registros que se meten en el historial de cambios Tarea #586 -> Cuando una solicitud tiene varios perfiles, hay que visualizarlos ocupando las menos filas posibles Tarea #585 -> Cuando un candidato tiene varios perfiles, hay que visualizarlos ocupando las menos filas posibles git-svn-id: https://192.168.0.254/svn/Proyectos.Incam_Intranet/trunk/src@65 e2b1556b-49f8-d141-9351-52d6861a72d9
107 lines
3.4 KiB
PHP
107 lines
3.4 KiB
PHP
<?php
|
|
|
|
/*
|
|
* Clase ListaCandidatos
|
|
*
|
|
* Contiene una lista de los candidatos.
|
|
*
|
|
*/
|
|
|
|
include_once("ListaPersonas.php");
|
|
|
|
class ListaCandidatos extends ListaPersonas {
|
|
//Atributos:
|
|
//Constructor:
|
|
//Funciones:
|
|
|
|
/**
|
|
* Crea una lista de candidatos.
|
|
* @param usuario - dueño de la sesión.
|
|
* @param orden - parámetros por los que ordenar la lista.
|
|
* @param sql - consulta de búsqueda.
|
|
*/
|
|
function ListaCandidatos($usuario, $orden, $sql, $estado) {
|
|
parent::ListaPersonas($usuario, $orden, $sql);
|
|
$this->tipo = "candidato";
|
|
$this->estado = $estado;
|
|
}
|
|
|
|
/**
|
|
* Devuelve la query de la consulta usada en la búsqueda para crear la lista.
|
|
* @return una cadena de texto con la query.
|
|
*/
|
|
function getSQL() {
|
|
return $this->sql;
|
|
}
|
|
|
|
/**
|
|
* Devuelve una lista de los posibles estados en los que se puede encontrar un candidato
|
|
* como Key => value, donde key es el cod del estado y value es el nombre del estado.
|
|
*/
|
|
function getEstados() {
|
|
$consulta = "SELECT cod, nombre FROM candidatos_estados WHERE tipo='candidato'";
|
|
$bd = new BD();
|
|
return $bd->keyValueQuery($consulta, "cod", "nombre");
|
|
}
|
|
|
|
/**
|
|
* Inserta un nuevo candidato en la lista de candidatos.
|
|
* @param campos - datos del candidato.
|
|
*/
|
|
function addCandidato($campos) {
|
|
$campos["estado"] = 510;
|
|
$id = parent::addPersona($campos);
|
|
$candidato = new Candidato($this->usuario, $id);
|
|
$mensaje = "Nuevo candidato";
|
|
$candidato->actualizarHistorial($mensaje);
|
|
return $id;
|
|
}
|
|
|
|
/**
|
|
* Devuelve los candidatos
|
|
*/
|
|
function getCandidatos() {
|
|
$candidatos = array();
|
|
|
|
if ($this->sql != "") {
|
|
// metemos el estado si es > 0
|
|
if ($this->estado > 0) {
|
|
if (stripos($this->sql, "WHERE") > 0) {
|
|
$sqlAntesWhere = substr($this->sql, 0, stripos($this->sql, "WHERE"));
|
|
$sqlDespuesWhere = substr($this->sql, stripos($this->sql, "WHERE") + 5, strlen($this->sql));
|
|
$sqlConEstado = "WHERE usuarios.estado='" . $this->estado . "' and ";
|
|
$sqlNueva = $sqlAntesWhere . $sqlConEstado . $sqlDespuesWhere;
|
|
} else {
|
|
$sqlConEstado = "WHERE usuarios.estado='" . $this->estado . "' ";
|
|
$sqlNueva = $this->sql . $sqlConEstado;
|
|
}
|
|
} else {
|
|
$sqlNueva = $this->sql;
|
|
}
|
|
$consulta = $sqlNueva . " " . $this->order_by;
|
|
} else {
|
|
if ($this->estado > 0) {
|
|
$consulta = "SELECT oid from usuarios WHERE tipo='" . $this->tipo . "' and estado='" . $this->estado . "'" . $this->orden;
|
|
} else {
|
|
$consulta = "SELECT oid from usuarios WHERE tipo='" . $this->tipo . "'" . $this->orden . "";
|
|
}
|
|
}
|
|
|
|
|
|
$bd = new BD();
|
|
$resultado = $bd->execQuery($consulta);
|
|
|
|
//Procesamos los candidatos.
|
|
if (mysql_num_rows($resultado) != 0) {
|
|
while ($rows = mysql_fetch_array($resultado)) {
|
|
$p = new Candidato($this->usuario, $rows["oid"]);
|
|
$candidatos[] = $p;
|
|
}
|
|
}
|
|
return $candidatos;
|
|
}
|
|
|
|
}
|
|
|
|
?>
|