From 2892e3fe3353b8729a4abc51163645c96e6af35a Mon Sep 17 00:00:00 2001 From: david Date: Tue, 10 May 2011 18:22:34 +0000 Subject: [PATCH] =?UTF-8?q?Tarea=20#601=20->=20Nuevos=20estados=20y=20tran?= =?UTF-8?q?siciones=20para=20un=20candidato=20Tarea=20#583=20->=20En=20can?= =?UTF-8?q?didatos=20a=C3=B1adir=20un=20campo=20que=20sea=20=E2=80=9CUbica?= =?UTF-8?q?ciones=20no=20deseadas=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://192.168.0.254/svn/Proyectos.Incam_Intranet/trunk/src@50 e2b1556b-49f8-d141-9351-52d6861a72d9 --- Objects/Afinidad.php | 3 ++- Objects/Automata.php | 3 ++- Objects/Persona.php | 3 ++- database/selfor.sql | 23 ++++++++++++++++++++- detalle_candidato.php | 44 ++++++++++++++++++++++------------------ detalles_usuario.php | 10 ++++++--- html/cabecera.php | 1 + ver_lista_candidatos.php | 17 +++++++++------- 8 files changed, 70 insertions(+), 34 deletions(-) diff --git a/Objects/Afinidad.php b/Objects/Afinidad.php index 03b0f3c..06d8a64 100644 --- a/Objects/Afinidad.php +++ b/Objects/Afinidad.php @@ -43,7 +43,8 @@ //Constructores function Afinidad($idiomasPedido, $idiomasUsuario, $tecnologiasPedido, - $tecnologiasUsuario, $perfilesPedido, $perfilesUsuario, $provinciasPedido, $provinciasDeseada, $provinciasNoDeseadas){ + $tecnologiasUsuario, $perfilesPedido, $perfilesUsuario, + $provinciasPedido, $provinciasDeseadas, $provinciasNoDeseadas){ $this->idiomasPedido = $idiomasPedido; $this->idiomasUsuario = $idiomasUsuario; $this->tecnologiasPedido = $tecnologiasPedido; diff --git a/Objects/Automata.php b/Objects/Automata.php index 1a48e42..b05061a 100644 --- a/Objects/Automata.php +++ b/Objects/Automata.php @@ -62,7 +62,8 @@ return false; } - function getTransicion($inicial, $final){ + function getTransicion($inicial, $final) { + $transicion = ""; $consulta = "SELECT transicion, rol FROM ".$this->objeto."_transiciones WHERE inicial='$inicial' AND final='$final'"; $bd = new BD(); $resultado = $bd->execQuery($consulta); diff --git a/Objects/Persona.php b/Objects/Persona.php index de78c7d..c3d3972 100644 --- a/Objects/Persona.php +++ b/Objects/Persona.php @@ -999,8 +999,9 @@ $perfilUsuario = $this->getPerfiles(); $provinciasPedido = $pedido->getProvincias(); $provinciasDeseadas = $this->getProvinciasDeseadas(); + $provinciasNoDeseadas = $this->getProvinciasNoDeseadas(); $afinidad = new Afinidad($idiomasPedido, $idiomasUsuario, $tecnologiasPedido, - $tecnologiasUsuario, $perfilPedido, $perfilUsuario, $provinciasPedido, $provinciasDeseadas); + $tecnologiasUsuario, $perfilPedido, $perfilUsuario, $provinciasPedido, $provinciasDeseadas, $provinciasNoDeseadas); $afi = $afinidad->calculaAfinidad($pedido->getValor("PesoIdioma"), $pedido->getValor("PesoPerfil"), $pedido->getValor("PesoTecno")); if($afi >= 0){ $consulta = "INSERT INTO candidato_pedido (candidato, pedido, afinidad, estado, fecha) VALUES('$id', '$idPedido', '$afi', '30', curdate())"; diff --git a/database/selfor.sql b/database/selfor.sql index a405cb8..510767a 100644 --- a/database/selfor.sql +++ b/database/selfor.sql @@ -136,7 +136,27 @@ CREATE TABLE `candidatos_estados` ( LOCK TABLES `candidatos_estados` WRITE; /*!40000 ALTER TABLE `candidatos_estados` DISABLE KEYS */; -INSERT INTO `candidatos_estados` VALUES (10,'sp','Disponible','candidato'),(20,'sp','No disponible','candidato'),(30,'sp','En proceso','candidato'),(40,'sp','No válido','candidato'),(50,'sp','Entrevistado','candidato'),(60,'sp','No disponible (Entrevistado)','candidato'),(70,'sp','En proceso (Entrevistado)','candidato'),(80,'sp','Incorporado','candidato'),(90,'sp','Esperando proyecto','usuario'),(100,'sp','No disponible','usuario'),(110,'sp','En proyecto','usuario'); +INSERT INTO `candidatos_estados` (`cod`, `idioma`, `nombre`, `tipo`) VALUES +(10, 'sp', 'Disponible', 'candidato'), +(20, 'sp', 'No disponible', 'candidato'), +(30, 'sp', 'En proceso', 'candidato'), +(40, 'sp', 'No válido', 'candidato'), +(50, 'sp', 'Entrevistado', 'candidato'), +(60, 'sp', 'No disponible (Entrevistado)', 'candidato'), +(70, 'sp', 'En proceso (Entrevistado)', 'candidato'), +(80, 'sp', 'Incorporado', 'candidato'), +(90, 'sp', 'Esperando proyecto', 'usuario'), +(100, 'sp', 'No disponible', 'usuario'), +(110, 'sp', 'En proyecto', 'usuario'), +(510, 'sp', 'Pendiente de clasificación', 'candidato'), +(520, 'sp', 'Rechazado', 'candidato'), +(521, 'sp', 'Rechazado 1', 'candidato'), +(522, 'sp', 'Rechazado 2', 'candidato'), +(523, 'sp', 'Rechazado 3', 'candidato'), +(530, 'sp', 'No disponible', 'candidato'), +(540, 'sp', 'Disponible sin asignar', 'candidato'), +(550, 'sp', 'Disponible asignado a solicitud histórica', 'candidato'), +(560, 'sp', 'Disponible asignado a solicitud abierta', 'candidato'); /*!40000 ALTER TABLE `candidatos_estados` ENABLE KEYS */; UNLOCK TABLES; @@ -628,6 +648,7 @@ INSERT INTO `opciones` (`nombre`, `link`, `img`, `menu`, `permisos`, `roles`) VA ('Parte de actividad', 'parte_actividad', 'parte_actividad', 'Partes de actividad', 'RP', '6'), ('Permisos', 'permisos', 'permiso', 'Permisos', '', '6'), ('Solicitudes de oferta', 'lista_pedidos', 'admin_pedidos', 'Solicitudes de oferta', 'GP.SP', '1.3.4'), +('Ofertas', 'lista_ofertas', 'admin_pedidos', 'Ofertas', 'GP.SP', '1.3.4'), ('Tabla de empresas', 'lista_empresas', 'admin_clientes', 'Mantenimiento del sistema', 'SP.GP', '1.3'), ('Vacaciones', 'vacaciones', 'vacaciones', 'Vacaciones', 'RP', '6'); /*!40000 ALTER TABLE `opciones` ENABLE KEYS */; diff --git a/detalle_candidato.php b/detalle_candidato.php index 22278e2..43ed850 100644 --- a/detalle_candidato.php +++ b/detalle_candidato.php @@ -21,19 +21,21 @@ try { } $persona = new Candidato($usuario, $oid); - $mensaje = ""; - // Comprobamos mensajes que pueden llegar hasta aqui - switch ($_GET['msg']) { - case "1":$mensaje="
".$locale['1085']."
"; - break; - default: - break; + $mensaje = ""; + if(!empty($_GET["msg"])) { + switch ($_GET["msg"]) { + case "1":$mensaje="
".$locale['1085']."
"; + break; + default: + break; + } } - if($_GET['action']!=""){ + + if(!empty($_GET["action"])) { $error=false; switch ($_GET['action']) { - case "cambEst": if($_GET['idEst']!=""){ + case "cambEst": if($_GET['idEst']!="") { $camb=$persona->transita($_GET['idEst'], ""); if($camb){ $mensaje.="
".$locale['1087']."
"; @@ -44,7 +46,7 @@ try { } break; - case "cambEstObs": if($_POST['idEstado']!=""){ + case "cambEstObs": if($_POST['idEstado']!="") { $dias=$_POST['fechObsCamb']; $diasInt=""; if(is_numeric($dias)) @@ -65,16 +67,18 @@ try { default: $error=true; $mensaje=$locale['1057']; break; - } - /* - * Si hemos cambiado de estado candidato a empleado, nos vamos a detalle_empleado.php - * - */ - if($persona->getValor("tipo")=="usuario"){ - header("Location: detalle_empleado.php?oid=".$persona->getValor("oid")."&msg=2"); - exit; - } - } + } // switch + /* + * Si hemos cambiado de estado candidato a empleado, nos vamos a detalle_empleado.php + * + */ + if($persona->getValor("tipo")=="usuario"){ + header("Location: detalle_empleado.php?oid=".$persona->getValor("oid")."&msg=2"); + exit; + } + } // if(!empty($_GET["action"])) + + include_once("html/cabecera.php"); include_once("Objects/HTML.php"); $html=new HTML($locale); diff --git a/detalles_usuario.php b/detalles_usuario.php index 07d08c7..e774889 100644 --- a/detalles_usuario.php +++ b/detalles_usuario.php @@ -22,6 +22,7 @@ if(stripos($destinoURL,"?")>0){ */ $action=""; if($_GET['action']!="") $action= $_GET['action']; + if($_POST['action']!="") $action= $_POST['action']; switch ($action) { case "addComent": if(($_POST['obs']!="") && ($_POST['idCandidato']!="")&& ($_POST['idPedido']!="")){ @@ -40,10 +41,11 @@ switch ($action) { default: break; } - ?> +

getValor("nombre_tipo").": ".$persona->getValor("nombre")." ".$persona->getValor("apellidos");?>

-".$msg.""; } ?> @@ -114,10 +116,12 @@ if(in_array("personales",$mostrarDetalle)){ ?> if(in_array("cambEstado",$mostrarDetalle)){ ?>
+
&action=cambEstObs" method="post"> " />
+
: getValor("nombre_estado"); ?> ?>
diff --git a/html/cabecera.php b/html/cabecera.php index bf8251f..b852e51 100644 --- a/html/cabecera.php +++ b/html/cabecera.php @@ -16,6 +16,7 @@ include_once("./Objects/HTML.php"); +