diff --git a/Objects/Candidato.php b/Objects/Candidato.php index d36c732..b6e7e42 100644 --- a/Objects/Candidato.php +++ b/Objects/Candidato.php @@ -11,6 +11,7 @@ include_once("BD.php"); include_once("Persona.php"); include_once("Automata.php"); +include_once("ListaCapacidadesProfesionales.php"); class Candidato extends Persona { @@ -28,6 +29,10 @@ class Candidato extends Persona { throw new Exception($error); } } + + function getCapacidadesProfesionales(){ + return new ListaCapacidadesProfesionales($this->getValor("oid"),"candidato"); + } function setCampo($nombre, $valor) { //PERMISOS: @@ -119,7 +124,7 @@ class Candidato extends Persona { */ $sesion = $this->usuario->getValor("oid"); //Nos declaramos un array de estados eliminables: - $estados_eliminables = array(10, 20, 50, 40, 60); + $estados_eliminables = array("510","521","522","523","540"); if ($this->usuario->tieneRol(1) || $this->usuario->tieneRol(4)) { $estado = $this->getValor("estado"); if (in_array($estado, $estados_eliminables)) { diff --git a/Objects/CapacidadProfesional.php b/Objects/CapacidadProfesional.php new file mode 100644 index 0000000..f403109 --- /dev/null +++ b/Objects/CapacidadProfesional.php @@ -0,0 +1,181 @@ +tipo_capacidad = $tipo; + $this->_getCampos($id); + //Ahora recuperamos la lista de tecnologías que tendrá en perfil tecnico de la capacidad, si las tubiera + $this->_getTecnologias(); + } + + /** + * Devuelve una lista de tecnolog�as asociadas a la capacidad + * OJO ESTA TABLA TAMBIEN GUARDA EL ID_PERFIL_TECNICO POR SI EN UN FUTURO, SE REQUIERE QUE UNA CAPACIDAD TENGA VARIOS PERFILES TECNICOS + */ + private function _getCampos($id){ + $bd = new BD(); + $consulta = ""; + $consulta = "select C.id, C.id_usuario, C.id_solicitud, C.id_perfil_tecnico, C.id_perfil_funcional, C.meses_tecnico, C.meses_funcional, C.observaciones, "; + $consulta = $consulta . "PT.id as perfil_tecnico, PT.abrev, PF.id as perfil_funcional, PF.abrev "; + $consulta = $consulta . "from capacidades as C left join perfil as PT on (PT.oid = C.id_perfil_tecnico) "; + $consulta = $consulta . "left join perfil_funcional as PF on (PF.oid = C.id_perfil_funcional) "; + $consulta = $consulta . "WHERE (C.id =". $id .")"; + $resultado = $bd->execQuery($consulta); + if (mysql_num_rows($resultado) != 0) + $this->campos = mysql_fetch_array($resultado); + } + + /** + * Devuelve una lista de tecnolog�as asociadas a la capacidad + * OJO ESTA TABLA TAMBIEN GUARDA EL ID_PERFIL_TECNICO POR SI EN UN FUTURO, SE REQUIERE QUE UNA CAPACIDAD TENGA VARIOS PERFILES TECNICOS + */ + private function _getTecnologias(){ + $bd = new BD(); + $consulta = ""; + $consulta = "SELECT CPT.id_capacidad, CPT.id_perfil_tecnico, CPT.id_tecnologia, CPT.meses, T.id "; + $consulta = $consulta. "FROM capacidades_perfil_tecnologias as CPT "; + $consulta = $consulta. "left join tecnologia as T on (T.oid = CPT.id_tecnologia) "; + $consulta = $consulta. "where CPT.id_capacidad = ". $this->campos["id"]; +// $consulta = $consulta. " and CPT.id_perfil_tecnico = ". $this->campos["id_perfil_tecnico"]; + $resultado = $bd->execQuery($consulta); + if (mysql_num_rows($resultado) != 0) { + $this->tecnologias = null; + while ($row = mysql_fetch_array($resultado)) { + $this->tecnologias[] = $row; + } + } + } + + function getCampos(){ + return $this->campos; + } + + /** + * Inserta una nueva capacidad profesional a la lista de capacidades. + * @param campos - datos de la capacidad. + */ + function addCapacidad($campos) { + $inserto = "";//,id_solicitud,id_perfil_tecnico, id_perfil_funcional, meses_tecnico, meses_funcional, observaciones"; + $valores = ""; //, $fecha, $fecha"; + + //Procesamos los datos + $i=1; + foreach($campos as $key => $value){ + if ($i>1) { + $inserto .= ","; + $valores .= ","; + } + $inserto .= " $key"; + $valores .= " '$value'"; + $i++; + } + + //Insertamos en la BD + $consulta = "INSERT INTO capacidades ($inserto) VALUES ($valores)"; + + $bd = new BD(); + if(!$bd->execQuery($consulta)){ + $error = "Campos de la capacidad incorrectos. Por favor, avise al webmaster de este error."; + throw new Exception($error); + return false; + } + $id = mysql_insert_id(); + return $id; + } + + function getTecnologias(){ + return $this->tecnologias; + } + + + /** + * Asocia una nueva tecnolog�a en la base de datos. + */ + private function addTecnologia($id_tecnologia,$meses){ + $id_capacidad = $this->campos["id"]; + $id_perfil_tecnico = $this->campos["id_perfil_tecnico"]; + if(!in_array($id_tecnologia, $this->tecnologias)){ + $consulta = "DELETE FROM capacidades_perfil_tecnologias where id_capacidad='$id_capacidad' and id_tecnologia='$id_tecnologia'"; + $bd = new BD(); + $bd->execQuery($consulta); + $consulta = "INSERT INTO capacidades_perfil_tecnologias (id_capacidad, id_perfil_tecnico, id_tecnologia, meses) VALUES('$id_capacidad', '$id_perfil_tecnico', '$id_tecnologia', '$meses')"; + echo $consulta; + $bd = new BD(); + if($bd->execQuery($consulta)){ + $mensaje = "Nueva tecno: $nombre_tecno"; +// $this->actualizarHistorial($mensaje); + $this->_getTecnologias(); //Refrescamos la lista + $this->listaTecnologias[$nombre_tecno] = $id; + }else{ + return false; + } + }else{ + return false; + } + + return true; + } + + function addTecnologias($array){ + if(gettype($array) == "array"){ + foreach($array as $elem){ + $id=substr($elem, 0, stripos($elem, "-")); + $meses=substr($elem, (stripos($elem, "-")+1), strlen($elem)); + $this->addTecnologia($id,$meses); + } + } + } + + /** + * Elimina la asociaci�n entre una tecnolog�a y la capacidad profesional. + */ + function removeTecnologia($idCap,$idTec){ + $bd = new BD(); + $consulta = "DELETE FROM capacidades_perfil_tecnologias WHERE id_capacidad = '".$idCap."' and id_tecnologia = '".$idTec."'"; + if($bd->execQuery($consulta)){ + $this->_getTecnologias(); + }else{ + return false; + } + return true; + } + + /** + * Asigna nuevos campos a la persona. + * @param array - lista de campos a asignar de la forma campo => valor. + */ + function modificarCapacidad($array){ + $consulta = "UPDATE capacidades SET "; + $i = 0; + foreach($array as $key => $value){ + if ($i > 0) + $consulta .= ", "; + $consulta .= $key ."= '". $value ."'"; + $i++; + } +// $fecha = "'".date('Y'."-".'m'."-".'d')."'"; +// $consulta .= " fecha_modificacion = $fecha "; + $consulta .= " WHERE id=". $this->campos['id']; + + $bd = new BD(); + $bd->execQuery($consulta); + } + +} + + +?> diff --git a/Objects/ListaCapacidadesProfesionales.php b/Objects/ListaCapacidadesProfesionales.php new file mode 100644 index 0000000..890c296 --- /dev/null +++ b/Objects/ListaCapacidadesProfesionales.php @@ -0,0 +1,40 @@ +execQuery($consulta); + + //Procesamos las capacidades + if (mysql_num_rows($resultado) != 0) { + while ($row = mysql_fetch_array($resultado)) { + $this->capacidad[] = new CapacidadProfesional($row['id'], $tipo_capacidad); + } + } + return $this->capacidad; + } + + } + +?> diff --git a/Objects/ListaOfertas.php b/Objects/ListaOfertas.php index 775f5a4..441eade 100644 --- a/Objects/ListaOfertas.php +++ b/Objects/ListaOfertas.php @@ -126,7 +126,7 @@ class ListaOfertas { // Si viene ya el candidato indicado, hay que cambiarlo de estado if (array_key_exists("candidato", $campos)) { - $ofertaNueva->colocarCandidato($campos["candidato"]); + $ofertaNueva->asignarCandidato($campos["candidato"]); } } return $id; diff --git a/Objects/Oferta.php b/Objects/Oferta.php index bdba425..a3bfce0 100644 --- a/Objects/Oferta.php +++ b/Objects/Oferta.php @@ -31,14 +31,24 @@ class Oferta { } function eliminar() { - // eliminamos en la BD + //Antes de nada quitamos el candidato asociado a la oferta para que se haga la lógica que corresponda + $idCand = $this->getValor("candidato"); + if (!empty($idCand)) { + if (!$this->quitarCandidato()) { + return false; + } + } + + // eliminamos en la oferta de la BD $consulta = "DELETE FROM candidato_pedido WHERE oid = ".$this->campos['oid']; $bd = new BD(); if (!$bd->execQuery($consulta)) { return false; } else { - return true; + $mensaje = "Oferta eliminada"; + $this->actualizarHistorial($mensaje); + return true; } } @@ -220,7 +230,7 @@ class Oferta { * Devuelve una lista de candidatos disponibles para una oferta, que son todos menos los no disponibles #679 Peticion */ function getCandidatosDisponibles() { - return $this->getCandidatos("510,521,522,523,540,550"); + return $this->getCandidatos("510,521,522,523,540,550,560"); } /** @@ -249,22 +259,36 @@ class Oferta { return $historial; } + function getOfertasCandidato($oid) { + $consulta = "SELECT * FROM candidato_pedido WHERE candidato='$oid' ORDER BY fecha DESC"; + $bd = new BD(); + $resultado = $bd->execQuery($consulta); + return $resultado; + } + function quitarCandidato() { $idCand = $this->getValor("candidato"); if (!empty($idCand)) { $candidato = new Candidato($this->usuario, $idCand); $estadoCand = $candidato->getValor("estado"); - + $numOfertasCandidato = $this->getOfertasCandidato($idCand); + switch ($estadoCand) { + //Disponible asignado exclusivo, Disponible asignado, No disponible. + //El estado del candidato no cambia si está asociado a alguna otra oferta, sino pasará a Disponible case "560": - $candidato->transita("540", ""); - $nombre_candidato = $candidato->getValor("nombre") . " " . $candidato->getValor("apellidos"); - $mensaje = "Eliminado el candidato ".$nombre_candidato; - $this->actualizarHistorial($mensaje); - - return true; - break; - + case "550": + case "530": + if (count($numOfertasCandidato) <= 1) { + $candidato->transita("540", ""); + $nombre_candidato = $candidato->getValor("nombre") . " " . $candidato->getValor("apellidos"); + $mensaje = "El candidato ".$nombre_candidato." pasa a estado Disponible"; + $this->actualizarHistorial($mensaje); + } + return true; + break; + //Pendiente de clasificar, Rechazados tipo1, tipo2, tipo3, Disponible. + //No podrá darse el caso ya que todo candidato asociado a una oferta debe estar Disponible asignado, Disponible asignado exclusivo, o no disponible default: $error = "[quitarCandidato]. El candidato tiene un estado no permitido ('" . $estadoCand . "')"; throw new Exception($error); @@ -272,13 +296,8 @@ class Oferta { } } - function colocarCandidato($idCandidato) { + function asignarCandidato($idCandidato) { $idCand = $this->getValor("candidato"); - - dbug($idCand); - echo dbug('print'); - - if (!empty($idCand)) { if (!$this->quitarCandidato()) { return false; @@ -287,35 +306,38 @@ class Oferta { $candidato = new Candidato($this->usuario, $idCandidato); $estadoCand = $candidato->getValor("estado"); - - dbug($estadoCand); - echo dbug('print'); - + $numOfertasCandidato = $this->getOfertasCandidato($idCand); switch ($estadoCand) { + //Disponible asignado, el estado del candidato no cambia, solo se asigna a la oferta y ya está. + case "560": + $this->setCampo("candidato", $idCandidato); + return true; + 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": + case "521": + case "522": + case "523": case "540": - if ($candidato->transita("560", "")) { - $this->setCampo("candidato", $idCandidato); - - $nombre_candidato = $candidato->getValor("nombre") . " " . $candidato->getValor("apellidos"); - $mensaje = "Asignado el candidato ".$nombre_candidato; + $this->setCampo("candidato", $idCandidato); + if ($candidato->transita("560", "")){ + $nombre_candidato = $candidato->getValor("nombre") . " " . $candidato->getValor("apellidos"); + $mensaje = "Asignado el candidato ".$nombre_candidato. "-->".$candidato->getValor("estado"); $this->actualizarHistorial($mensaje); return true; - } - break; - - case "560": - $this->setCampo("candidato", $idCandidato); - - $nombre_candidato = $candidato->getValor("nombre") . " " . $candidato->getValor("apellidos"); - $mensaje = "Asignado el candidato ".$nombre_candidato; - $this->actualizarHistorial($mensaje); - return true; - break; - - default: - $error = "El candidato tiene un estado no permitido ('" . $candidato->getValor("estado") . "')"; - throw new Exception($error); + } + else { + $error = "ERROR: El candidato no ha podido cambiar de estado"; + throw new Exception($error); + } + break; + + //("550")Disponible asignado exclusivo,u otro que no exista + default: + $error = "El candidato tiene un estado no permitido ('" . $candidato->getValor("estado") . "')"; + throw new Exception($error); } } diff --git a/addCapacidadProfesional.php b/addCapacidadProfesional.php index a9c78a6..f521a2a 100644 --- a/addCapacidadProfesional.php +++ b/addCapacidadProfesional.php @@ -4,6 +4,7 @@ define("LOCALE", "idiomas/"); define("LOCALESET", "sp/"); include LOCALE.LOCALESET."lenguaje.php"; ?> + @@ -22,7 +23,6 @@ include LOCALE.LOCALESET."lenguaje.php"; * * Hay que tener cuidado porque todas las variables que se le pasan por post son agregadas. */ -include("seguridad.php"); include("functions.php"); include_once("Objects/HTML.php"); $html=new HTML($locale); @@ -42,11 +42,16 @@ if(stripinput($_POST['action'])=="add"){ $camposQuitar["action"]=stripinput($_POST['action']); $camposQuitar["id_candidato"]=stripinput($_POST['id_candidato']); $camposQuitar["id_perfil_tecnico"]=stripinput($_POST['id_perfil_tecnico']); - include_once("Objects/Capacidad_profesional.php"); - $Lista_capacidades = new Lista_capacidades_profesionales($id_candidato,"candidato"); + $camposQuitar["id_perfil_funcional"]=stripinput($_POST['id_perfil_funcional']); + $camposQuitar["tecnologia"]=$_POST['tecnologia']; $camposInsertar=array_diff_assoc($_POST,$camposQuitar); $camposInsertar["id_usuario"]=$_POST['id_candidato']; $camposInsertar["id_perfil_tecnico"]=$_POST['id_perfil_tecnico'][0]; //Sabemos que siempre va a tener un unico elemento el array ya que no le dejamos seleccionar mas de uno + $camposInsertar["id_perfil_funcional"]=$_POST['id_perfil_funcional'][0]; //Sabemos que siempre va a tener un unico elemento el array ya que no le dejamos seleccionar mas de uno + $vacio=array(); + $vacio['0']=""; + $_POST['tecnologia']=array_diff_assoc($_POST['tecnologia'],$vacio); + foreach($camposInsertar as $nombre_campo => $valor){ if($valor!="") $arrayInsert[$nombre_campo]=$valor; @@ -55,7 +60,16 @@ if(stripinput($_POST['action'])=="add"){ // Insertamos la nueva capacidad try{ $errorInsert=false; - $idCandidatoNew=$Lista_capacidades->addCapacidad($arrayInsert); + include_once("Objects/CapacidadProfesional.php"); + $CapacidadProfesional = new CapacidadProfesional(-1,"candidato"); + $idCapacidadNew= $CapacidadProfesional->addCapacidad($arrayInsert); + $CapacidadProfesional = new CapacidadProfesional($idCapacidadNew,"candidato"); + if($idCapacidadNew!="-1"){ + $CapacidadProfesional->addTecnologias($_POST['tecnologia']); + } else { + $tipomsg="error"; + $mensaje="No se ha podido insertar"; + } } catch (Exception $e){ $tipomsg="error"; $mensaje=$e->getMessage(); @@ -74,18 +88,41 @@ echo ''; echo ''; echo ''; +echo ''; + +//MESES_TECNICO +echo ''; + +echo ''; + -/* echo ''; -echo ''; -*/ + + +echo '
'.$locale['121'].' 
'; +echo ' textalign="right">
'.$locale['121'].' 
'; $auxiliar = ''; echo $html->listaSelect("perfil","oid","id","id_perfil_tecnico",array("",$locale['ns']),$_POST['id_perfil_tecnico'],true,false,"1"); -echo '
'.$locale['Capacidades008'].'

'.$locale['122'].'   
'; +echo '
'.$locale['122'].'   
'; $auxiliar = ''; echo $html->listaSelect("tecnologia","oid","id","tecnologia",array("",$locale['ns']),$_POST['tecnologia'],true,true,"15"); echo '
'; + +echo '
'.$locale['Capacidades007'].'
'; +echo ''; +echo ''; + +//MESES_FUNCIONAL +echo ''; + +echo ''; + +// CAMPO OBSERVACIONES +echo ''; + echo '
'.$locale['Capacidades002'].' 
'; + $auxiliar = ''; + echo $html->listaSelect("perfil_funcional","oid","id","id_perfil_funcional",array("",$locale['ns']),$_POST['id_perfil_funcional'],true,false,"1"); +echo '
'.$locale['Capacidades008'].'

'.$locale['135'].'
'; diff --git a/functions_capacidades.php b/functions_capacidades.php index ab30ab6..8d86e33 100644 --- a/functions_capacidades.php +++ b/functions_capacidades.php @@ -1,57 +1,46 @@ capacidad[0]->campos); -/* - if(count($lista_capacidades) > 0){ - echo ""; -//echo $lista_capacidad->capacidad[0]->getValor("meses_tecnico"); - echo ""; - -// for($i=1;$i<=count($lista_capacidades);$i++){ +/* Devuelve vista de la lista de capacidades profesionales pasada por parametro + */ -/* - echo ""; - echo ""; -echo ""; -echo ""; -echo ""; + +function VerListaCapacidadesProfesionales($ListaCapacidadesProfesionales){ +include LOCALE.LOCALESET."lenguaje.php"; - } - echo "
".$locale['2014']."".$locale['1524']."".$locale['203']."".$locale['Capacidades002']."".$locale['562']."
".$capacidad->getValor("perfil_tecnico")."   (".$capacidad->getValor("meses_tecnico")." meses)"; echo lista_tecnologias($capacidad->getValor("id"), $capacidad->getValor("id_perfil_tecnico")); -echo "".$capacidad->getValor("perfil_funcional")."   (".$capacidad->getValor("meses_funcional")." meses)".$capacidad->getValor("observaciones")."
"; - } else { - echo "

".$locale['138']."

"; - } -*/ -} + if(count($ListaCapacidadesProfesionales->capacidad) > 0){ + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; - -function lista_tecnologias($id_capacidad, $id_perfil_tecnico){ - include LOCALE.LOCALESET."lenguaje.php"; - - $consulta = "SELECT CPT.id_capacidad, CPT.id_perfil_tecnico, CPT.id_tecnologia, CPT.meses, T.id "; - $consulta = $consulta. "FROM capacidades_perfil_tecnologias as CPT "; - $consulta = $consulta. "left join tecnologia as T on (T.oid = CPT.id_tecnologia) "; - $consulta = $consulta. "where CPT.id_capacidad = ". $id_capacidad; - $consulta = $consulta. " and CPT.id_perfil_tecnico = ". $id_perfil_tecnico; - - $resultado = mysql_query($consulta); - $num = @mysql_num_rows($resultado); - - if($num > 0){ - while($rows = @mysql_fetch_array($resultado)){ - echo $rows["id"]. "   (". $rows["meses"]. " meses)
"; - } - } else { - echo "-"; - } + for($i=0;$icapacidad);$i++){ + $campos = $ListaCapacidadesProfesionales->capacidad[$i]->getCampos(); + $tecnologias = $ListaCapacidadesProfesionales->capacidad[$i]->getTecnologias(); + + echo ""; + echo ""; + + echo ""; + echo ""; + echo ""; + } + + echo "
".$locale['2014']."".$locale['1524']."".$locale['203']."".$locale['Capacidades002']."".$locale['562']."
"; + +// + echo "".$campos["perfil_tecnico"]."   (".$campos["meses_tecnico"]." meses)"; + for($j=0;$j"; + } + echo "".$campos["perfil_funcional"]."   "; + if ($campos["meses_funcional"] > 0) + echo "(".$campos["meses_funcional"]." meses)"; + echo "".$campos["observaciones"]."
"; + } else { + echo "

".$locale['Capacidades006']."

"; + } } ?> diff --git a/gestionCapacidadProfesional.php b/gestionCapacidadProfesional.php new file mode 100644 index 0000000..0183947 --- /dev/null +++ b/gestionCapacidadProfesional.php @@ -0,0 +1,222 @@ + + + + + + <?php echo $locale['Capacidades004'];?> + + + + + + + + +getCampos(); +//echo "0.clase> ".$id_capacidad ."id_perfil_funcional>".$camposCapacidad['id_perfil_funcional']; + +switch ($action) { + case "edit": +/*{ $perfil = stripinput($_POST["perfil"]); + $meses_tecnico = stripinput($_POST["meses_tecnico"]); + $tecnologia = $_POST["tecnologia"]; + $perfil_funcional = stripinput($_POST["perfil_funcional"]); + $meses_funcional = stripinput($_POST["meses_funcional"]); + $meses_observaciones = stripinput($_POST["observaciones"]); +*/ + //VERIFICAR + if(count($errores)==0){ + $arrayInsert=array(); + $camposQuitar=array(); + $camposQuitar["action"]=stripinput($_POST['action']); + $camposQuitar["id_perfil_tecnico"]=stripinput($_POST['id_perfil_tecnico']); + $camposQuitar["id_perfil_funcional"]=stripinput($_POST['id_perfil_funcional']); + $camposQuitar["tecnologia"]=$_POST['tecnologia']; + $camposInsertar=array_diff_assoc($_POST,$camposQuitar); + $camposInsertar["id_perfil_tecnico"]=$_POST['id_perfil_tecnico'][0]; //Sabemos que siempre va a tener un unico elemento el array ya que no le dejamos seleccionar mas de uno + $camposInsertar["id_perfil_funcional"]=$_POST['id_perfil_funcional'][0]; //Sabemos que siempre va a tener un unico elemento el array ya que no le dejamos seleccionar mas de uno + $vacio=array(); + $vacio['0']=""; + $_POST['tecnologia']=array_diff_assoc($_POST['tecnologia'],$vacio); + foreach($camposInsertar as $nombre_campo => $valor){ + if($valor!="") + $arrayInsert[$nombre_campo]=$valor; + } + + // Modificamos la capacidad profesional + try{ + $errorInsert=false; + $capacidad->modificarCapacidad($arrayInsert); + + $tec = array(); + $tec = $_POST['tecnologia']; + $tec_aux = $capacidad->getTecnologias(); + foreach ($tec_aux as $fila){ + $tec[]=$fila["id_tecnologia"]; + } + + for ($i=0; $i < count($tec); $i++){ + $caption="meses_".$tec[$i]; + $tec[$i]=$tec[$i]."-".$_POST[$caption]; + } + + print_r ($tec); + $capacidad->addTecnologias($tec); + + //Es para que refreque los datos ya que al asignar lo que hace es hacer una copia de la clase y no asignacion de punteros + $capacidad = new CapacidadProfesional($id_capacidad,"candidato"); + $camposCapacidad = $capacidad->getCampos(); + $mensaje=$locale['Capacidades010']; + $tipomsg="ok"; + } catch (Exception $e){ + $tipomsg="error"; + $mensaje=$e->getMessage(); + } + } else { + $tipomsg="error"; + $mensaje=$errores_persona; + } + break; + + case "dellTec": + echo ">>>>>ENTRO EN dellTEC"; + $idCap=$_GET['id_cap']; + $idTec=$_GET['id_tec']; + $capacidad->removeTecnologia($idCap, $idTec); + //Es para que refreque los datos ya que al asignar lo que hace es hacer una copia de la clase y no asignacion de punteros + $capacidad = new CapacidadProfesional($idCap,"candidato"); + $camposCapacidad = $capacidad->getCampos(); + $mensaje=$locale['1064']; + $tipomsg="ok"; + break; + + default: + break; +} + + +echo "

".$locale['Capacidades011']."

"; +if($mensaje!=""){ + // Mostramos el mensaje + echo "
".$mensaje."
"; +} +echo $locale['286']; + +echo "
"; +echo ""; +echo ""; + +echo '
'.$locale['Capacidades005'].'
'; +echo ''; + + +echo ''; +echo ''; + +//MESES_TECNICO +echo ''; + +echo ''; + + +echo ''; +echo ''; + + +/* +echo ' + + + + + '; + */ + + + +echo '
'.$locale['121'].' 
'; + echo $html->listaSelect("perfil","oid","id","id_perfil_tecnico",array("",$locale['ns']),array($camposCapacidad['id_perfil_tecnico'],""),true,false,"1"); +echo '
'.$locale['Capacidades008'].'

'.$locale['122'].'   
'; + $tecnologias=$capacidad->getTecnologias(); + $arrayseleccion=array(); + foreach ($tecnologias as $tecnologia) { + $arrayseleccion[] = array($tecnologia['id_tecnologia'], $tecnologia['id']); + echo $tecnologia['id']." Borrar
"; + echo ''; + } + echo $html->listaSelect("tecnologia","oid","id","tecnologia",array("",$locale['ns']),$arrayseleccion,true,true,"15"); +echo '
'.$locale['122'].''; + $tecnologias=$candidato->getTecnologias(); + $keytecnologias=array_values($tecnologias); + // Mostramos la lista para borrar + foreach ($tecnologias as $nombre =>$valor) { + echo $nombre." getValor("oid")."&action=dellTec&id=".$valor."\">Borrar
"; + } + + echo $html->listaSelect("tecnologia","oid","id","tecnologia",array("",$locale['ns']),$candidato->getTecnologias(),false,true,"15"); + + echo '
'; + +echo '
'.$locale['Capacidades007'].'
'; +echo ''; +echo ''; + +//MESES_FUNCIONAL +echo ''; + +echo ''; + +// CAMPO OBSERVACIONES +echo ''; + + +echo '
'.$locale['Capacidades002'].' 
'; + echo $html->listaSelect("perfil_funcional","oid","id","id_perfil_funcional",array("",$locale['ns']),array($camposCapacidad['id_perfil_funcional'],""),true,false,"1"); +echo '
'.$locale['Capacidades008'].'

'.$locale['135'].'
'; + +echo ''; +echo "
"; + + +?> + + + diff --git a/gestion_candidato.php b/gestion_candidato.php index f91539d..ad6f8ed 100644 --- a/gestion_candidato.php +++ b/gestion_candidato.php @@ -459,7 +459,8 @@ echo ''; /////////////////////////// echo ''; echo '
'.$locale['Capacidades001'].'
'; -lista_capacidades(8,'candidato'); +$CapacidadesProfesionales = $candidato->getCapacidadesProfesionales(); +VerListaCapacidadesProfesionales($CapacidadesProfesionales); @@ -476,40 +477,6 @@ echo ''; echo ''; -/* - echo '
'.$locale['121'].'
'; - $auxiliar = ''; - $perfiles=$candidato->getPerfiles(); -$keyidiomas=array_values($perfiles); -// Mostramos la lista para borrar -foreach ($perfiles as $nombre =>$valor) { - echo $nombre." getValor("oid")."&action=dellPer&id=".$valor."\">Borrar
"; -} - - echo $html->listaSelect("perfil","oid","id","perfil",array("",$locale['ns']),$candidato->getPerfiles(),false,true,"15"); - - echo '
'; -*/ -/* -echo ' - '.$locale['122'].''; - $tecnologias=$candidato->getTecnologias(); - $keytecnologias=array_values($tecnologias); - // Mostramos la lista para borrar - foreach ($tecnologias as $nombre =>$valor) { - echo $nombre." getValor("oid")."&action=dellTec&id=".$valor."\">Borrar
"; - } - - echo $html->listaSelect("tecnologia","oid","id","tecnologia",array("",$locale['ns']),$candidato->getTecnologias(),false,true,"15"); - - echo ' - - - - '; - */ echo '
'.$locale['1552'].'
'; ?> diff --git a/idiomas/sp/lenguaje.php b/idiomas/sp/lenguaje.php index 5ef1436..a098cee 100644 --- a/idiomas/sp/lenguaje.php +++ b/idiomas/sp/lenguaje.php @@ -152,6 +152,12 @@ $locale['Capacidades002'] = "Perfil funcional"; $locale['Capacidades003'] = "Nueva capacidad profesional"; $locale['Capacidades004'] = "CAPACIDAD PROFESIONAL"; $locale['Capacidades005'] = "CAPACIDAD TÉCNICA"; +$locale['Capacidades006'] = "No tiene capacidades profesionales"; +$locale['Capacidades007'] = "CAPACIDAD FUNCIONAL"; +$locale['Capacidades008'] = "meses"; +$locale['Capacidades009'] = "Editar capacidad"; +$locale['Capacidades010'] = "Se ha modificado el candidato correctamente"; +$locale['Capacidades011'] = "Editando Capacidad Profesional"; //Historial: $locale['150'] = "Modificados: "; diff --git a/ver_lista_candidatos.php b/ver_lista_candidatos.php index 047030b..68b39d2 100644 --- a/ver_lista_candidatos.php +++ b/ver_lista_candidatos.php @@ -143,9 +143,9 @@ echo '
'; ?> "> tieneRol("1") || $usuario->tieneRol("4")) && (in_array($pedidoAct->getValor("estado"),$estadoSiEliminar))){ + // Sólo se puede eliminar candidatos en los siguientes estados + $estadoSiEliminar=array("510","521","522","523","540"); + if(in_array($pedidoAct->getValor("estado"),$estadoSiEliminar)){ ?> &byEstado=')" > colocarCandidato($idCand); + $estado = $oferta->asignarCandidato($idCand); if ($estado) { $tipo = "ok";