Tareas #723
Se solicitan los siguientes cambios en los estados de los candidatos. - El estado "Todos los candidatos" se sustituirá por "Todos". - El estado "Pendiente de clasificar" se sustituirá por "borrador". (Desde este estado se podrá ir a todos menos a los estados "en proceso"). - Nuevo estado "Sin capacidades". (Desde este estado podrá ir a todos los demás menos a "Disponible asignado") - El estado "Rechazados" se queda como está. (Desde este estado solo se podrá volver al estado "borrador"). - El estado "No disponible" se sustituirá por "Si, más adelante". (Desde este estado solo se podrá volver al estado "borrador"). - Nuevo estado "Otras provincias". (Desde este estado solo se podrá volver al estado "borrador"). - El estado "Disponible" pasará a "En proceso: Disponible". (Desde este estado se podrá ir a cualquiera de los estados existentes) - El estado "Disponible asignado" pasará a "En proceso: Disponible asignado. (Este estado solo se pasará cuando un candidato esté asignado a una oferta, y no podrá cambiarse hasta que sea desasignado de la oferta) git-svn-id: https://192.168.0.254/svn/Proyectos.Incam_Intranet/trunk@113 e2b1556b-49f8-d141-9351-52d6861a72d9
This commit is contained in:
parent
fdedf6bc24
commit
4204a6ea18
@ -215,8 +215,8 @@ return $resultado;
|
||||
* Otro - Excepción
|
||||
*/
|
||||
$sesion = $this->usuario->getValor("oid");
|
||||
//Nos declaramos un array de estados eliminables:
|
||||
$estados_eliminables = array("510","520","540");
|
||||
//Nos declaramos un array de estados eliminables: se cambia a los nuevos estados #723 Peticion
|
||||
$estados_eliminables = array("510","511","520","600");
|
||||
if ($this->usuario->tieneRol(1) || $this->usuario->tieneRol(4)) {
|
||||
$estado = $this->getValor("estado");
|
||||
if (in_array($estado, $estados_eliminables)) {
|
||||
|
||||
@ -61,7 +61,7 @@ class ListaCandidatos extends ListaPersonas {
|
||||
* @param campos - datos del candidato.
|
||||
*/
|
||||
function addCandidato($campos) {
|
||||
$campos["estado"] = 510; //Pendiente de clasificar
|
||||
$campos["estado"] = 510; //Borrador se cambia a los nuevos estados #723 Peticion
|
||||
$id = parent::addPersona($campos);
|
||||
$candidato = new Candidato($this->usuario, $id);
|
||||
$mensaje = "Nuevo candidato";
|
||||
|
||||
@ -94,8 +94,8 @@ include_once("Empleado.php");
|
||||
}else{
|
||||
if($estado > 0){
|
||||
$consulta = "SELECT * from usuarios where tipo = '".$this->tipo."' and estado='".$estado."' ".$this->orden;
|
||||
} else{
|
||||
$consulta = "SELECT * from usuarios where tipo = '".$this->tipo."' and estado in ('510', '520', '530', '540', '560')$this->orden";
|
||||
} else{ //se cambia a los nuevos estados #723 Peticion
|
||||
$consulta = "SELECT * from usuarios where tipo = '".$this->tipo."' and estado in ('510', '511', '520', '530', '540', '560', '600')$this->orden";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -178,7 +178,6 @@ class Oferta {
|
||||
*/
|
||||
$gerente = $this->getValor("gerente");
|
||||
$sesion = $this->usuario->getValor("oid");
|
||||
|
||||
if ($this->usuario->tieneRol(1) || ($this->usuario->tieneRol(3) && $sesion == $gerente) || $this->setAutomatico) {
|
||||
$viejo = $this->getValor($nombre);
|
||||
if ($viejo != $valor) {
|
||||
@ -189,7 +188,6 @@ class Oferta {
|
||||
$consulta = "UPDATE candidato_pedido SET $nombre = '$valor' WHERE oid='$oid'";
|
||||
$bd = new BD();
|
||||
if ($bd->execQuery($consulta)) {
|
||||
|
||||
// Guardar en el historial
|
||||
$valor = $this->getValorMulti($nombre, $valor);
|
||||
|
||||
@ -236,10 +234,10 @@ if ($nombre == "estado") {
|
||||
}
|
||||
|
||||
/**
|
||||
* Devuelve una lista de candidatos disponibles para una oferta, que son todos menos los no disponibles #679 Peticion
|
||||
* Devuelve una lista de candidatos disponibles para una oferta, se cambia a los nuevos estados #723 Peticion
|
||||
*/
|
||||
function getCandidatosDisponibles() {
|
||||
return $this->getCandidatos("510,520,540,560");
|
||||
return $this->getCandidatos("520,530,540,560,600");
|
||||
}
|
||||
|
||||
/**
|
||||
@ -275,19 +273,27 @@ if ($nombre == "estado") {
|
||||
return $resultado;
|
||||
}
|
||||
|
||||
function getNumOfertasCandidato($oid) {
|
||||
$consulta = "SELECT * FROM candidato_pedido WHERE candidato='$oid' ORDER BY fecha DESC";
|
||||
$bd = new BD();
|
||||
$resultado = $bd->execQuery($consulta);
|
||||
return mysql_num_rows($resultado);
|
||||
}
|
||||
|
||||
function quitarCandidato() {
|
||||
$idCand = $this->getValor("candidato");
|
||||
if (!empty($idCand)) {
|
||||
$candidato = new Candidato($this->usuario, $idCand);
|
||||
$estadoCand = $candidato->getValor("estado");
|
||||
$numOfertasCandidato = $this->getOfertasCandidato($idCand);
|
||||
|
||||
$numOfertasCandidato = $this->getNumOfertasCandidato($idCand);
|
||||
echo "Ofertas del coandidato:".$this->getNumOfertasCandidato($idCand);
|
||||
switch ($estadoCand) {
|
||||
//TODO CANDIDATO ASOCIADO A UNA OFERTA (este como este su situación) pasará a disponible si no tiene alguna otra oferta,
|
||||
//si tiene alguna otra oferta asociada se deja tal cual esta su situación
|
||||
//El estado del candidato no cambia si está asociado a alguna otra oferta, sino pasará a Disponible
|
||||
//TODO CANDIDATO ASOCIADO A UNA OFERTA (este como este su situación) pasará a En proceso:disponible si no tiene alguna otra oferta,
|
||||
//el estado del candidato no cambia si está asociado a alguna otra oferta. se cambia a los nuevos estados #723 Peticion
|
||||
case 600:;
|
||||
case 560:;
|
||||
case 510:;
|
||||
case 511:;
|
||||
case 520:;
|
||||
case 530:;
|
||||
case 540:
|
||||
@ -299,7 +305,7 @@ if ($nombre == "estado") {
|
||||
$mensaje = "El candidato ".$nombre_candidato." se quita de la oferta";
|
||||
$this->actualizarHistorial($mensaje);
|
||||
//Cambiamos de estado al candidato
|
||||
if (count($numOfertasCandidato) <= 1) {
|
||||
if ($numOfertasCandidato <= 1) {
|
||||
$candidato->transita("540", "");
|
||||
}
|
||||
return true;
|
||||
@ -322,10 +328,10 @@ if ($nombre == "estado") {
|
||||
|
||||
$candidato = new Candidato($this->usuario, $idCandidato);
|
||||
$estadoCand = $candidato->getValor("estado");
|
||||
$numOfertasCandidato = $this->getOfertasCandidato($idCand);
|
||||
$numOfertasCandidato = $this->getNumOfertasCandidato($idCand);
|
||||
|
||||
switch ($estadoCand) {
|
||||
//Disponible asignado, el estado del candidato no cambia, solo se asigna a la oferta y ya está.
|
||||
//En proceso:Disponible asignado, el estado del candidato no cambia, solo se asigna a la oferta y ya está.
|
||||
case 560:
|
||||
$this->setCampo("candidato", $idCandidato);
|
||||
//Modificamos historial de candidato
|
||||
@ -336,11 +342,13 @@ if ($nombre == "estado") {
|
||||
$mensaje = "Asignado el candidato ".$nombre_candidato;
|
||||
$this->actualizarHistorial($mensaje);
|
||||
return true;
|
||||
break;
|
||||
break;
|
||||
|
||||
//Pendiente de clasificar, Rechazados tipo1, tipo2, tipo3, Disponible. Todos los candidatos con alguno de estos estados cambiarán a Disponible asignado (560)
|
||||
case 510:;
|
||||
//Rechazado, Sin más adelante, En proceso:Disponible, Otras provincias. se cambia a los nuevos estados #723 Peticion
|
||||
//Todos los candidatos con alguno de estos estados cambiarán a En proceso:Disponible asignado (560)
|
||||
case 600:;
|
||||
case 520:;
|
||||
case 530:;
|
||||
case 540:
|
||||
$this->setCampo("candidato", $idCandidato);
|
||||
//Modificamos historial de candidato
|
||||
@ -360,7 +368,7 @@ if ($nombre == "estado") {
|
||||
}
|
||||
break;
|
||||
|
||||
//("530") No Disponible
|
||||
//("")
|
||||
default:
|
||||
$error = "El candidato tiene un estado no permitido ('" . $candidato->getValor("nombre_estado") . "')";
|
||||
throw new Exception($error);
|
||||
|
||||
@ -27,12 +27,6 @@ if(stripinput($_POST['action'])=="add"){
|
||||
$errores[]="22";
|
||||
}
|
||||
|
||||
/*NO se valida el perfil para candidatos nuevos con estado 510 (pendiente de clasificacion) que es el por defecto
|
||||
if((count($perfil)==1) && ($perfil["0"]=="")){
|
||||
$errores_persona .= $locale['1705']."<br />";
|
||||
$errores[]="23";
|
||||
}
|
||||
*/
|
||||
include_once("verificar_candidato.php");
|
||||
|
||||
if(count($errores)==0){
|
||||
|
||||
@ -84,11 +84,13 @@ CREATE TABLE IF NOT EXISTS `candidatos_estados` (
|
||||
--
|
||||
|
||||
INSERT INTO `candidatos_estados` (`cod`, `idioma`, `nombre`, `tipo`) VALUES
|
||||
(510, 'sp', 'Pendiente de clasificar', 'candidato'),
|
||||
(510, 'sp', 'Borrador', 'candidato'),
|
||||
(511, 'sp', 'Sin capacidades', 'candidato'),
|
||||
(520, 'sp', 'Rechazado', 'candidato'),
|
||||
(530, 'sp', 'No disponible', 'candidato'),
|
||||
(540, 'sp', 'Disponible', 'candidato'),
|
||||
(560, 'sp', 'Disponible asignado', 'candidato');
|
||||
(530, 'sp', 'Si, más adelante', 'candidato'),
|
||||
(540, 'sp', 'En proceso:Disponible', 'candidato'),
|
||||
(560, 'sp', 'En proceso:Disponible asignado', 'candidato'),
|
||||
(600, 'sp', 'Otras provincias', 'candidato');
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
@ -133,19 +135,28 @@ INSERT INTO `candidatos_transiciones` (`inicial`, `final`, `transicion`, `rol`)
|
||||
(100, 90, 0, '1.4'),
|
||||
(100, 110, 0, '1.4'),
|
||||
(110, 90, 0, '1.4'),
|
||||
(510, 511, 0, '1.4'),
|
||||
(510, 520, 0, '1.4'),
|
||||
(510, 530, 0, '1.4'),
|
||||
(510, 540, 0, '1.4'),
|
||||
(510, 560, 0, '1.4'),
|
||||
(510, 600, 0, '1.4'),
|
||||
(511, 510, 0, '1.4'),
|
||||
(511, 520, 0, '1.4'),
|
||||
(511, 530, 0, '1.4'),
|
||||
(511, 540, 0, '1.4'),
|
||||
(511, 600, 0, '1.4'),
|
||||
(520, 510, 0, '1.4'),
|
||||
(520, 540, 0, '1.4'),
|
||||
(520, 560, 0, '1.4'),
|
||||
(530, 510, 0, '1.4'),
|
||||
(530, 540, 0, '1.4'),
|
||||
(530, 560, 0, '1.4'),
|
||||
(540, 510, 0, '1.4'),
|
||||
(540, 511, 0, '1.4'),
|
||||
(540, 520, 0, '1.4'),
|
||||
(540, 530, 0, '1.4'),
|
||||
(540, 560, 0, '1.4'),
|
||||
(560, 540, 0, '');
|
||||
(540, 600, 0, '1.4'),
|
||||
(560, 540, 0, ''),
|
||||
(600, 510, 0, '1.4'),
|
||||
(600, 560, 0, '1.4');
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
|
||||
@ -259,6 +259,9 @@ if (in_array("laborables", $mostrarDetalle)) { ?>
|
||||
echo "<br />";
|
||||
$estadosSiguientes = $persona->getSiguientes();
|
||||
foreach ($estadosSiguientes as $codEstado => $nombreEstado) {
|
||||
//#723 Peticion
|
||||
//FILTRO NO SE PODRÁ CAMBIAR A ESTE ESTADO MANUALMENTE (Este estado solo se pasará cuando un candidato esté asignado a una oferta, si se desasigna el candidato pasará en proceso: disponible
|
||||
if ($codEstado != "560"){
|
||||
// En estados 20,60 se necesita mensaj obs
|
||||
if (($codEstado == "20") || ($codEstado == "60")) {
|
||||
?>
|
||||
@ -275,6 +278,7 @@ if (in_array("laborables", $mostrarDetalle)) { ?>
|
||||
<?php
|
||||
}
|
||||
echo "<br />";
|
||||
}//FIN DE FILTRO
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
|
||||
@ -872,7 +872,7 @@ $locale['1815'] = "Procedencia del CV.";
|
||||
$locale['1816'] = "En estos momentos debería estar viendo un cuadro de diálogo para seleccionar el destino donde quiere realizar la copia de seguridad.<br> Si no es así, pinche en el enlace de debajo para proceder a guardar la copia.<br>";
|
||||
|
||||
//Candidatos
|
||||
$locale['1901'] = "Todos los candidatos";
|
||||
$locale['1901'] = "Todos";
|
||||
$locale['1902'] = "Desde";
|
||||
$locale['1903'] = "Hasta";
|
||||
$locale['1904'] = "Todos los empleados";
|
||||
|
||||
@ -37,12 +37,12 @@ if (isset($variablesExtra)) {
|
||||
<ul id="tabnav">
|
||||
<li class="<?php if ($tipoPedidos=="0") echo "activo"; else echo "inactivo";?>"><a href="<?php echo $destinoURL."?byEstado=0".$variablesExtra; ?>"><?php echo $locale["1901"]; ?></a></li>
|
||||
<li class="<?php if ($tipoPedidos=="510") echo "activo"; else echo "inactivo";?>"><a href="<?php echo $destinoURL."?byEstado=510".$variablesExtra; ?>"><?php echo nombre_estado("510"); ?></a></li>
|
||||
|
||||
<li class="<?php if ($tipoPedidos=="511") echo "activo"; else echo "inactivo";?>"><a href="<?php echo $destinoURL."?byEstado=511".$variablesExtra; ?>"><?php echo nombre_estado("511"); ?></a></li>
|
||||
<li class="<?php if ($tipoPedidos=="520") echo "activo"; else echo "inactivo";?>"><a href="<?php echo $destinoURL."?byEstado=520".$variablesExtra; ?>"><?php echo nombre_estado("520"); ?></a></li>
|
||||
|
||||
<li class="<?php if ($tipoPedidos=="530") echo "activo"; else echo "inactivo";?>"><a href="<?php echo $destinoURL."?byEstado=530".$variablesExtra; ?>"><?php echo nombre_estado("530"); ?></a></li>
|
||||
<li class="<?php if ($tipoPedidos=="540") echo "activo"; else echo "inactivo";?>"><a href="<?php echo $destinoURL."?byEstado=540".$variablesExtra; ?>"><?php echo nombre_estado("540"); ?></a></li>
|
||||
<li class="<?php if ($tipoPedidos=="560") echo "activo"; else echo "inactivo";?>"><a href="<?php echo $destinoURL."?byEstado=560".$variablesExtra; ?>"><?php echo nombre_estado("560"); ?></a></li>
|
||||
<li class="<?php if ($tipoPedidos=="600") echo "activo"; else echo "inactivo";?>"><a href="<?php echo $destinoURL."?byEstado=600".$variablesExtra; ?>"><?php echo nombre_estado("600"); ?></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div style="height: 35px; border-bottom:1px solid #CCC"></div>
|
||||
@ -134,8 +134,8 @@ echo '<div id="ContTabul">';
|
||||
?><tr style='background-color: <?php echo $color; ?>'>
|
||||
<td align="center"><a href="gestion_candidato.php?oid=<?php echo $pedidoAct->getValor("oid"); ?>"><img src="css/edit.png" title="<?php echo $locale['1580']; ?>"/></a></td>
|
||||
<?php
|
||||
// Sólo se puede eliminar candidatos en los siguientes estados
|
||||
$estadoSiEliminar=array("510","520","540");
|
||||
// Sólo se puede eliminar candidatos en los siguientes estados se cambia a los nuevos estados #723 Peticion
|
||||
$estadoSiEliminar=array("510","511","520","600");
|
||||
if(in_array($pedidoAct->getValor("estado"),$estadoSiEliminar)){
|
||||
?>
|
||||
<td align="center"><a href="#" onclick="eliminarCandidato('eliminar_candidato.php?oid=<?php echo $pedidoAct->getValor("oid"); ?>&byEstado=<?PHP echo $tipoPedidos; ?>')" ><img src="css/eliminar.png" title="<?php echo $locale['1581']; ?>"/></a></td>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user