Incam_Intranet/gestion_candidato.php

481 lines
20 KiB
PHP

<?php
/**
* Página que ofrece un formulario para agregar candidatos y contiene la lógica
* para agregar un candidato
*
* Hay que tener cuidado porque todas las variables que se le pasan por post son agregadas.
*/
include("seguridad.php");
include("functions.php");
if(!$usuario->tieneRol("4")
&& !$usuario->tieneRol("1")){
header("Location: aplicacion.php?e=permiso");
exit;
}
$action="";
if($_POST['action']!=""){
$action=$_POST['action'];
} else {
if($_GET['action']!=""){
$action=$_GET['action'];
}
}
include_once("html/cabecera.php");
include_once("Objects/HTML.php");
include_once("Objects/Candidato.php");
$candidato=new Candidato($usuario,$_GET ['oid']);
$html=new HTML($locale);
$html->menuCandidatos();
$errores=array();
switch ($action) {
case "edit":
$errores_persona = "";
include_once("campos_persona.php");
/*Apartado en el que se limpiaran los campos observacion de los si/no */
if($_POST['disp_entrevistas']=="n"){
$_POST['entrevistas'] = "";
}
if($_POST['disp_guardias']=="n"){
$_POST['guardias'] = "";
}
if($_POST['disp_viajar']=="n"){
$_POST['viajar'] = "";
}
if($_POST['disp_internacional']=="n"){
$_POST['internacional'] = "";
}
if($_POST['disp_carnet']=="n"){
$_POST['carnet'] = "";
}
if((count($provincia_deseada)==0)
&& (count($candidato->getProvinciasDeseadas())==0)){
$errores_persona .= $locale['1708']."<br />";
$errores[]="22";
}
include_once("verificar_candidato.php");
if(count($errores)==0){
$arrayInsert=array();
include_once("Objects/ListaCandidatos.php");
$listaCandidatos=new ListaCandidatos($usuario,"","","10");
if($_POST['dianac']<10) $_POST['dianac']="0".$_POST['dianac'];
if($_POST['mesnac']<10) $_POST['mesnac']="0".$_POST['mesnac'];
if($_POST['diaalta']<10) $_POST['diaalta']="0".$_POST['diaalta'];
if($_POST['mesalta']<10) $_POST['mesalta']="0".$_POST['mesalta'];
if($_POST['diaentre']<10) $_POST['diaentre']="0".$_POST['diaentre'];
if($_POST['mesentre']<10) $_POST['mesentre']="0".$_POST['mesentre'];
$fecha_nacimiento_ini = $_POST['anyonac']."-".$_POST['mesnac']."-".$_POST['dianac'];
//$fecha_alta = $_POST['anyoalta']."-".$_POST['mesalta']."-".$_POST['diaalta'];
$fecha_entre = $_POST['anyoentre']."-".$_POST['mesentre']."-".$_POST['diaentre'];
$camposQuitar=array();
/*Apartado en el que se quitan los campos si/no que no existen en la BD*/
$camposQuitar["disp_entrevistas"]=stripinput($_POST['disp_entrevistas']);
$camposQuitar["disp_guardias"]=stripinput($_POST['disp_guardias']);
$camposQuitar["disp_viajar"]=stripinput($_POST['disp_viajar']);
$camposQuitar["disp_internacional"]=stripinput($_POST['disp_internacional']);
$camposQuitar["disp_carnet"]=stripinput($_POST['disp_carnet']);
$camposQuitar["dianac"]=$_POST['dianac'];
$camposQuitar["mesnac"]=$_POST['mesnac'];
$camposQuitar["anyonac"]=$_POST['anyonac'];
$camposQuitar["diaalta"]=$_POST['diaalta'];
$camposQuitar["mesalta"]=$_POST['mesalta'];
$camposQuitar["anyoalta"]=$_POST['anyoalta'];
$camposQuitar["diaentre"]=$_POST['diaentre'];
$camposQuitar["mesentre"]=$_POST['mesentre'];
$camposQuitar["anyoentre"]=$_POST['anyoentre'];
$camposQuitar["fecha_alta"]=$_POST['fecha_alta'];
$camposQuitar["MAX_FILE_SIZE"]=$_POST['MAX_FILE_SIZE'];
$camposQuitar["tecnologia"]=$_POST['tecnologia'];
$camposQuitar["idiomas"]=$_POST['idiomas'];
$camposQuitar["titulaciones"]=$_POST['titulaciones'];
$camposQuitar["action"]=$_POST['action'];
$camposQuitar["userfile"]=$_POST['userfile'];
$camposQuitar["provincia_deseada"]=$_POST['provincia_deseada'];
$camposQuitar["provincias_no_deseadas"]=$_POST['provincias_no_deseadas'];
$camposQuitar["perfil"]=$_POST['perfil'];
$camposQuitar["historial"]=$_POST['historial'];
$camposQuitar["procedenciaCV"]=$_POST['procedenciaCV'];
$camposInsertar=array_diff_assoc($_POST,$camposQuitar);
$camposInsertar["fecha_nacimiento"]=$fecha_nacimiento_ini;
$camposInsertar["fecha_entrevista"]=$fecha_entre;
$camposInsertar["procedenciaCV"]=$_POST['procedenciaCV'][0];
$vacio=array();
$vacio['0']="";
$_POST['tecnologia']=array_diff_assoc($_POST['tecnologia'],$vacio);
$_POST['idiomas']=array_diff_assoc($_POST['idiomas'],$vacio);
$_POST['titulaciones']=array_diff_assoc($_POST['titulaciones'],$vacio);
foreach($camposInsertar as $nombre_campo => $valor){
$arrayInsert[$nombre_campo]=$valor;
}
// Insertamos el nuevo candidato
try{
$errorInsert=false;
$candidato->setCampos($arrayInsert);
$candidato->addTecnologias($_POST['tecnologia']);
$candidato->addIdiomas($_POST['idiomas']);
$candidato->addTitulaciones($_POST['titulaciones']);
if($_POST['provincia_deseada']==""){
$_POST['provincia_deseada']=array();
}
$candidato->addProvinciasDeseadas($_POST['provincia_deseada']);
if($_POST['provincias_no_deseadas']==""){
$_POST['provincias_no_deseadas']=array();
}
$candidato->addProvinciasNoDeseadas($_POST['provincias_no_deseadas']);
$candidato->addPerfiles($_POST['perfil']);
$candidato->addCurriculum($_FILES['userfile']);
$mensaje=$locale['1583'];
$tipomsg="ok";
$candidato=new Candidato($usuario,$_GET ['oid']);
} catch (Exception $e){
$tipomsg="error";
$mensaje=$e->getMessage();
}
} else {
$tipomsg="error";
$mensaje=$errores_persona;
}
break;
case "dellTec": $idAction=$_GET['id'];
$candidato->removeTecnologia($idAction);
$mensaje=$locale['1064'];
$tipomsg="ok";
break;
case "dellIdi": $idAction=$_GET['id'];
$candidato->removeIdioma($idAction);
$mensaje=$locale['1065'];
$tipomsg="ok";
break;
case "dellTit": $idAction=$_GET['id'];
$candidato->removeTitulacion($idAction);
$mensaje=$locale['1086'];
$tipomsg="ok";
break;
case "dellLocDes":$idAction=$_GET['id'];
$candidato->removeProvinciaDeseada($idAction);
$mensaje=$locale['1089'];
$tipomsg="ok";
break;
case "dellLocNoDes":$idAction=$_GET['id'];
$candidato->removeProvinciaNoDeseada($idAction);
$mensaje=$locale['5002'];
$tipomsg="ok";
break;
case "dellPer":$idAction=$_GET['id'];
$candidato->removePerfil($idAction);
$mensaje=$locale['1090'];
$tipomsg="ok";
break;
default:
break;
}
echo "<h2>".$locale['1588'].$candidato->getValor("nombre")." ".$candidato->getValor("apellidos")."</h2>";
if($mensaje!=""){
// Mostramos el mensaje
echo "<div class=\"aviso ".$tipomsg."\">".$mensaje."</div>";
}
echo $locale['286'];
$tipo="usuario";
echo "<form action=\"gestion_candidato.php?oid=".$candidato->getValor("oid")."\" method=\"POST\" enctype=\"multipart/form-data\" target=\"_self\">";
echo "<input type=\"hidden\" name=\"action\" value=\"edit\" />";
///////////////////
//DATOS PERSONALES:
///////////////////
echo '<input type="submit" value="'.$locale['1580'].'" class="button">';
echo '<div class="encabezado">'.$locale['1548'].'</div>';
echo '<table align="center" width="100%">';
echo '<tr>';
//CAMPO NOMBRE
echo '<td ';
if(in_array("1",$errores)) echo " class=\"errorcampo\"";
echo $en.' width="25%" textalign="right">'.$locale['100'].'<br><input type="text" name="nombre" value="'.$candidato->getValor("nombre").'" size="30" maxlength="50"><br></td>';
//CAMPO APELLIDOS
echo '<td ';
if(in_array("2",$errores)) echo " class=\"errorcampo\"";
echo ' width="25%" textalign="right">'.$locale['101'].'<br><input type="text" name="apellidos" value="'.$candidato->getValor("apellidos").'" size="30" maxlength="150"></td>';
//CAMPO DNI
echo '<td ';
if(in_array("4",$errores)) echo " class=\"errorcampo\"";
echo ' width="15%" '.$edni.' textalign="right">'.$locale['1539'].'<br><input type="text" name="dni" value="'.$candidato->getValor("dni").'" size="15" maxlength="9"></td>';
//CAMPO FECHA NACIMIENTO
echo '<td width="35%" textalign="right">'.$locale['116'].'<br>';
rellena_fecha_select($candidato->getValor("fecha_nacimiento"), "nac");
//CAMPO SEXO
echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'.$locale['100119'].'<select name="sexo">';
if ($candidato->getValor("sexo") == "" || $candidato->getValor("sexo") == "h")
echo '<option value="h" selected>hombre</option><option value="m">mujer</option></select>';
else
echo '<option value="h">hombre</option><option value="m" selected>mujer</option></select>';
echo '</td>';
echo '</tr>';
echo '<tr>';
//CAMPO EMAIL
echo '<td ';
if(in_array("5",$errores)) echo ' class="errorcampo"';
echo ' >'.$locale['103'].'<br><input type="text" name="email" value="'.$candidato->getValor("email").'" size="30" maxlength="50"></td>';
//CAMPO MOVIL
echo '<td ';
if(in_array("6",$errores)) echo " class=\"errorcampo\"";
echo $etm.' textalign="right">'.$locale['107'].'<br><input type="text" name="t_movil" value="'.$candidato->getValor("t_movil").'" size="15" maxlength="9"></td>';
//CAMPO TELEFONO
echo '<td ';
if(in_array("7",$errores)) echo " class=\"errorcampo\"";
echo $etc.' textalign="right">'.$locale['108'].'<br><input type="text" name="t_casa" value="'.$candidato->getValor("t_casa").'" size="15" maxlength="9"></td>';
//CAMPO LUGAR NACIMIENTO
echo '<td ';
echo $ett.' textalign="right">'.$locale['100117'].'<br><input type="text" name="lugar_nacimiento" value="'.$candidato->getValor("lugar_nacimiento").'" size="50" maxlength="100"> </td>';
echo '</tr>';
echo '<tr>';
//CAMPO IDIOMAS
echo '<td ';
echo ' width="25%" '.$ett.' textalign="right">'.$locale['123'].'<br>';
$idiomas=$candidato->getIdiomas();
$keyidiomas=array_values($idiomas);
// Mostramos la lista para borrar
foreach ($idiomas as $nombre =>$valor) {
echo $nombre." <a href=\"gestion_candidato.php?oid=".$candidato->getValor("oid")."&action=dellIdi&id=".$valor."\">Borrar</a><br />";
}
$auxiliar = '<option selected value="">'.$locale['ns'].'</option>';
echo $html->listaSelect("idiomas","oid","id","idiomas",array("",$locale['ns']),$candidato->getIdiomas(),false,true,"15");
echo '</td>';
//CAMPO TITULACIONES
echo '<td width="25%" '.$ett.' textalign="right">'.$locale['124'].'<br>';
$titulaciones=$candidato->getTitulaciones();
$keylocalidades=array_values($titulaciones);
// Mostramos la lista para borrar
foreach ($titulaciones as $nombre =>$valor) {
echo $nombre." <a href=\"gestion_candidato.php?oid=".$candidato->getValor("oid")."&action=dellTit&id=".$valor."\">Borrar</a><br />";
}
$auxiliar = '<option selected value="">'.$locale['ns'].'</option>';
echo $html->listaSelect("titulaciones","oid","id","titulaciones",array("",$locale['ns']),$candidato->getTitulaciones(),false,true,"11");
echo '</td>';
//CAMPO LOCALIDAD
echo '<td ';
if(in_array("13",$errores)) echo " class=\"errorcampo\"";
echo $em.' textalign="right">'.$locale['114'.$tipo.''].'<br>';
rellena_desplegable_localidad($candidato->getValor("localidad"), "localidad");
echo '</td>';
//CAMPO FOTO
echo '<td ';
echo ' width="25%" '.$ett.' textalign="right" width=20%>';
echo'</td>';
echo '</tr>';
echo '</table>';
/////////////////////
//DATOS ADICIONALES
/////////////////////
echo '<input type="submit" value="'.$locale['1580'].'" class="button">';
echo '<div class="encabezado">'.$locale['1550'].'</div>';
echo '<table align="center" width="100%">';
echo '<tr>';
//CAMPO PROCEDENCIA
echo '<td ';
if(in_array("20",$errores)) echo ' class="errorcampo"';
echo ' width="25%">'.$locale['1800'].':<br>';
$auxiliar = '<option value="">'.$locale['ns'].'</option>';
rellena_procedencias("procedencia",$auxiliar,$candidato->getValor("procedencia"));
//CAMPO PROCEDENCIA CV
echo '<br>'.$locale['1800']." ".$locale['1091'].":<br>";
echo $html->listaSelect("procedencia_cv","id","nombre","procedenciaCV",array("","-"),array($candidato->getValor("procedenciaCV")),true,false,"1");
echo '</td>';
//CAMPO INCORPORACION
echo '<td ';
if(in_array("20",$errores)) echo ' class="errorcampo"';
echo ' width="25%">'.$locale['1576'].'<br>';
$auxiliar = '<option selected value="">'.$locale['ns'].'</option>';
rellena_desplegable_select_oid("incorporaciones","incorporacion","",$candidato->getValor("incorporacion"));
echo '</td>';
//CAMPO TARIFA
echo '<td width="25%">'.$locale['100118'].'<br><input type="text" name="tarifa" value="'.$candidato->getValor("tarifa").'" size="15" maxlength="20"></td>';
//CAMPO SALARIO
echo '<td width="25%" textalign="right">'.$locale['129'].'<br>';
$auxiliar = '<option value="">'.$locale['ns'].'</option>';
rellena_desplegable_select_oidCol("salario","id","nombre","salario_min",$auxiliar,$candidato->getValor("salario_min"));
echo "<br/>".$locale['130'].'<br>';
$auxiliar = '<option value="">'.$locale['ns'].'</option>';
rellena_desplegable_select_oidCol("salario","id","nombre","salario_max",$auxiliar,$candidato->getValor("salario_max"));
echo '</td>';
echo '</tr>';
echo '<tr>';
//CAMPO DISPONIBILIDAD ENTREVISTAS
echo '<td width="25%">'.$locale['Candidato001'].'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
echo '<select name="disp_entrevistas" onchange="javascript:if(this.options[this.selectedIndex].value == \'n\') {disable(\'entrevistas\');}else{enable(\'entrevistas\')}">';
if ($candidato->getValor("entrevistas") != "")
echo '<option value="s" selected>SI</option><option value="n">NO</option>';
else
echo '<option value="s" >SI</option><option value="n" selected>NO</option>';
echo '</select>';
echo '<br><input type="text" id="entrevistas" name="entrevistas" value="'.$candidato->getValor("entrevistas").'" size="40" maxlength="200"';
if ($candidato->getValor("entrevistas") != "")
echo '>';
else
echo 'disabled>';
echo '</td>';
//CAMPO DISPONIBILIDAD GUARDIAS
echo '<td width="25%">'.$locale['Candidato002'].'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
echo '<select name="disp_guardias" onchange="javascript:if(this.options[this.selectedIndex].value == \'n\') {disable(\'guardias\');}else{enable(\'guardias\')}">';
if ($candidato->getValor("guardias") != "")
echo '<option value="s" selected>SI</option><option value="n">NO</option>';
else
echo '<option value="s" >SI</option><option value="n" selected>NO</option>';
echo '</select>';
echo '<br><input type="text" id="guardias" name="guardias" value="'.$candidato->getValor("guardias").'" size="40" maxlength="200"';
if ($candidato->getValor("guardias") != "")
echo '>';
else
echo 'disabled>';
echo '</td>';
//CAMPO DISPONIBILIDAD VIAJAR
echo '<td width="25%">'.$locale['Candidato003'].'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
echo '<select name="disp_viajar" onchange="javascript:if(this.options[this.selectedIndex].value == \'n\') {disable(\'viajar\');}else{enable(\'viajar\')}">';
if ($candidato->getValor("viajar") != "")
echo '<option value="s" selected>SI</option><option value="n">NO</option>';
else
echo '<option value="s" >SI</option><option value="n" selected>NO</option>';
echo '</select>';
echo '<br><input type="text" id="viajar" name="viajar" value="'.$candidato->getValor("viajar").'" size="40" maxlength="200"';
if ($candidato->getValor("viajar") != "")
echo '>';
else
echo 'disabled>';
echo '</td>';
//CAMPO DISPONIBILIDAD INTERNACIONAL
echo '<td width="25%">'.$locale['Candidato004'].'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
echo '<select name="disp_internacional" onchange="javascript:if(this.options[this.selectedIndex].value == \'n\') {disable(\'internacional\');}else{enable(\'internacional\')}">';
if ($candidato->getValor("internacional") != "")
echo '<option value="s" selected>SI</option><option value="n">NO</option>';
else
echo '<option value="s" >SI</option><option value="n" selected>NO</option>';
echo '</select>';
echo '<br><input type="text" id="internacional" name="internacional" value="'.$candidato->getValor("internacional").'" size="40" maxlength="200"';
if ($candidato->getValor("internacional") != "")
echo '>';
else
echo 'disabled>';
echo '</td>';
echo '</tr>';
echo '<tr>';
//CAMPO CARNET DE CONDUCIR
echo '<td width="25%">'.$locale['Candidato005'].'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
echo '<select name="disp_carnet" onchange="javascript:if(this.options[this.selectedIndex].value == \'n\') {disable(\'carnet\');}else{enable(\'carnet\')}">';
if ($candidato->getValor("carnet") != "")
echo '<option value="s" selected>SI</option><option value="n">NO</option>';
else
echo '<option value="s" >SI</option><option value="n" selected>NO</option>';
echo '</select>';
echo '<br><input type="text" id="carnet" name="carnet" value="'.$candidato->getValor("carnet").'" size="40" maxlength="20"';
if ($candidato->getValor("carnet") != "")
echo '>';
else
echo 'disabled>';
echo '</td>';
// CAMPO PROVINCIA DESEADA
echo '<td ';
echo ' width="25%" '.$ett.' textalign="right">'.$locale['1561'].'<br>';
$localidadesDeseadas=$candidato->getProvinciasDeseadas();
$keylocalidades=array_values($localidadesDeseadas);
// Mostramos la lista
foreach ($localidadesDeseadas as $nombre =>$valor) {
echo $nombre." <a href=\"gestion_candidato.php?oid=".$candidato->getValor("oid")."&action=dellLocDes&id=".$valor."\">Borrar</a><br />";
}
echo $html->listaSelect("provincias","oid","id","provincia_deseada",array("",$locale['ns']),$candidato->getProvinciasDeseadas(),true,true,"7");
echo '&nbsp;&nbsp;<textarea name="observaciones_prov_deseada" rows="6" cols="30" style="overflow: auto;">'.$candidato->getValor("observaciones_prov_deseada").'</textarea>';
echo '</td>';
// CAMPO PROVINCIA NO DESEADA
echo '<td ';
echo ' width="25%" '.$ett.' colspan="2" textalign="right">'.$locale['5001'].'<br>';
$localidadesNoDeseadas=$candidato->getProvinciasNoDeseadas();
$keylocalidades=array_values($localidadesNoDeseadas);
// Mostramos la lista
foreach ($localidadesNoDeseadas as $nombre =>$valor) {
echo $nombre." <a href=\"gestion_candidato.php?oid=".$candidato->getValor("oid")."&action=dellLocNoDes&id=".$valor."\">Borrar</a><br />";
}
echo $html->listaSelect("provincias","oid","id","provincias_no_deseadas",array("",$locale['ns']),$candidato->getProvinciasNoDeseadas(),true,true,"7");
echo '&nbsp;&nbsp;<textarea name="observaciones_prov_nodeseada" rows="6" cols="30" style="overflow: auto;">'.$candidato->getValor("observaciones_prov_nodeseada").'</textarea>';
echo '</td>';
echo '<td></td>';
echo '</tr>';
echo '<tr>';
// CAMPO OBSERVACIONES
echo '<td colspan="4" align="center">'.$locale['135'].'<br><textarea name="observaciones" rows="7" cols="50" style="overflow: auto;width:100%; height:100px"">'.$candidato->getValor("observaciones").'</textarea></td>';
echo '</tr></table>';
///////////////////////////
//CAPACIDADES PROFESIONALES
///////////////////////////
echo '<div id="capacidades" name="capacidades" class="encabezado">'.$locale['Capacidades001'].'</div>';
echo '<input language="javascript" type="button" value="'.$locale['Capacidades003'].'" class="button" onclick="if(popup(\'addCapacidadProfesional.php?id_candidato='.$candidato->getValor("oid").'&entidad=candidato\', \'notes\')) window.location.reload()">';
$CapacidadesProfesionales = $candidato->getCapacidadesProfesionales();
VerListaCapacidadesProfesionales($CapacidadesProfesionales, "gestion_candidato");
///////////////////////////
//CURRICULUM
///////////////////////////
echo '<div class="encabezado">'.$locale['1549'].'</div>';
echo '<table align="center" width="100%">';
echo '<tr><td colspan="6">';
menu_curriculums($_GET['oid'], "candidato");
echo '</td></tr><tr>';
echo '<input type="hidden" name="MAX_FILE_SIZE" value="10000000"><td colspan="6" textalign="right">'.$locale['125'].'<br>';
echo '<input name="userfile" type="file">';
echo '<input value="Subir" type="submit">';
echo '</td></tr></table>';
echo '<input type="submit" value="'.$locale['1580'].'" class="button">';
echo '<div class="encabezado">'.$locale['1552'].'</div>';
?>
<textarea name="historial" style="width:100%; height:200px;overflow: auto;" readonly><?php echo $candidato->getHistorial();?></textarea>
<?php
echo '<input type="submit" value="'.$locale['1580'].'" class="button">';
echo "</form>";
?>