Incam_Intranet/addCandidato.php

400 lines
16 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;
}
$errores=array();
if(stripinput($_POST['action'])=="add"){
$errores_persona = "";
$mensaje = "";
include_once("campos_persona.php");
if(count($provincia_deseada)==0){
$errores_persona .= $locale['1708']."<br />";
$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){
$arrayInsert=array();
include_once("Objects/ListaCandidatos.php");
$listaCandidatos=new ListaCandidatos($usuario,"","","10");
$fecha_nacimiento_ini = stripinput($_POST['anyonac'])."-".stripinput($_POST['mesnac'])."-".stripinput($_POST['dianac']);
$fecha_entrevista = stripinput($_POST['anyoentre'])."-".stripinput($_POST['mesentre'])."-".stripinput($_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"]=stripinput($_POST['dianac']);
$camposQuitar["mesnac"]=stripinput($_POST['mesnac']);
$camposQuitar["anyonac"]=stripinput($_POST['anyonac']);
$camposQuitar["diaalta"]=stripinput($_POST['diaalta']);
$camposQuitar["mesalta"]=stripinput($_POST['mesalta']);
$camposQuitar["anyoalta"]=stripinput($_POST['anyoalta']);
$camposQuitar["MAX_FILE_SIZE"]=stripinput($_POST['MAX_FILE_SIZE']);
$camposQuitar["tecnologia"]=$_POST['tecnologia'];
$camposQuitar["idiomas"]=$_POST['idiomas'];
$camposQuitar["titulaciones"]=$_POST['titulaciones'];
$camposQuitar["provincia_deseada"]=$_POST['provincia_deseada'];
$camposQuitar["provincias_no_deseadas"]=$_POST['provincias_no_deseadas'];
$camposQuitar["perfil"]=$_POST['perfil'];
$camposQuitar["action"]=stripinput($_POST['action']);
$camposQuitar["diaentre"]=stripinput($_POST['diaentre']);
$camposQuitar["mesentre"]=stripinput($_POST['mesentre']);
$camposQuitar["anyoentre"]=stripinput($_POST['anyoentre']);
$camposInsertar=array_diff_assoc($_POST,$camposQuitar);
$camposInsertar["fecha_nacimiento"]=$fecha_nacimiento_ini;
$camposInsertar["procedenciaCV"]=$_POST['procedenciaCV'][0];
if($fecha_entrevista!="2008-1-1")
$camposInsertar["fecha_entrevista"]=$fecha_entrevista;
$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);
$_POST['perfil']=array_diff_assoc($_POST['perfil'],$vacio);
foreach($camposInsertar as $nombre_campo => $valor){
if($valor!="")
$arrayInsert[$nombre_campo]=$valor;
}
// Insertamos el nuevo candidato
try{
$errorInsert=false;
$idCandidatoNew=$listaCandidatos->addCandidato($arrayInsert);
if($idCandidatoNew!="-1"){
include_once("Objects/Candidato.php");
$candidatoNew=new Candidato($usuario,$idCandidatoNew);
$candidatoNew->addTecnologias($_POST['tecnologia']);
$candidatoNew->addIdiomas($_POST['idiomas']);
$candidatoNew->addTitulaciones($_POST['titulaciones']);
if(Empty($_POST['provincia_deseada'])){
$_POST['provincia_deseada']=array();
}
$candidatoNew->addProvinciasDeseadas($_POST['provincia_deseada']);
if(Empty($_POST['provincias_no_deseadas'])){
$_POST['provincias_no_deseadas']=array();
}
$candidatoNew->addProvinciasNoDeseadas($_POST['provincias_no_deseadas']);
$candidatoNew->addPerfiles($_POST['perfil']);
$candidatoNew->addCurriculum($_FILES['userfile']);
header("Location: detalle_candidato.php?oid=".$idCandidatoNew);
} else {
$tipomsg="error";
$mensaje="No se ha podido insertar";
}
} catch (Exception $e){
$tipomsg="error";
$mensaje=$e->getMessage();
}
} else {
$tipomsg="error";
$mensaje=$errores_persona;
}
}
include_once("html/cabecera.php");
include_once("Objects/HTML.php");
$html=new HTML($locale);
$html->menuCandidatos();
echo "<h2>".$locale['802']."</h2>";
if($mensaje!=""){
// Mostramos el mensaje
echo "<div class=\"aviso ".$tipomsg."\">".$mensaje."</div>";
}
echo $locale['286'];
$tipo="usuario";
if($errorInsert){
}
echo "<form action=\"addCandidato.php\" method=\"POST\" enctype=\"multipart/form-data\">";
echo "<input type=\"hidden\" name=\"action\" value=\"add\" />";
///////////////////
//DATOS PERSONALES:
///////////////////
echo '<input type="submit" value="'.$locale['802'].'" 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="'.$_POST['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="'.$_POST['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="'.$_POST['dni'].'" size="15" maxlength="9"></td>';
//CAMPO FECHA NACIMIENTO
echo '<td width="35%" textalign="right">'.$locale['116'].'<br>';
rellena_fecha_select($fecha_nacimiento, "nac");
//CAMPO SEXO
echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'.$locale['100119'].'<select name="sexo">';
if ($_POST['sexo'] == "" || $_POST['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="'.$_POST['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="'.$_POST['t_movil'].'" size="20" 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="'.$_POST['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="'.$_POST['lugar_nacimiento'].'" size="50" maxlength="100"> </td>';
echo '</tr>';
echo '<tr>';
//CAMPO IDIOMAS
echo '<td ';
echo ' width="25%" '.$ett.' textalign="right">'.$locale['123'].'<br>';
$auxiliar = '<option selected value="">'.$locale['ns'].'</option>';
echo $html->listaSelect("idiomas","oid","id","idiomas",array("",$locale['ns']),$_POST['idiomas'],true,true,"15");
echo '</td>';
//CAMPO TITULACIONES
echo '<td ';
echo ' width="25%" '.$ett.' textalign="right">'.$locale['124'].'<br>';
$auxiliar = '<option selected value="">'.$locale['ns'].'</option>';
echo $html->listaSelect("titulaciones","oid","id","titulaciones",array("",$locale['ns']),$_POST['titulaciones'],true,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($_POST['localidad'], "localidad");
echo '</td>';
//CAMPO FOTO
echo '<td ';
echo ' width="25%" '.$ett.' textalign="right">';
echo'</td>';
echo '</tr>';
echo '</tr></table>';
/////////////////////
//DATOS ADICIONALES
/////////////////////
echo '<input type="submit" value="'.$locale['802'].'" 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,$_POST['procedencia']);
//CAMPO PROCEDENCIA CV
echo '<br>'.$locale['1800']." ".$locale['1091'].":<br>";
echo $html->listaSelect("procedencia_cv","id","nombre","procedenciaCV",array("","-"),array($_POST['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","",$_POST['incorporacion']);
echo '</td>';
//CAMPO TARIFA
echo '<td width="25%">'.$locale['100118'].'<br><input type="text" name="tarifa" value="'.$_POST['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,$_POST['salario_min']);
echo "<br/>".$locale['130'].'<br>';
$auxiliar = '<option value="">'.$locale['ns'].'</option>';
rellena_desplegable_select_oidCol("salario","id","nombre","salario_max",$auxiliar,$_POST['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 ($_POST['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="'.$_POST['entrevistas'].'" size="40" maxlength="200"';
if ($_POST['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 ($_POST['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="'.$_POST['guardias'].'" size="40" maxlength="200"';
if ($_POST['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 ($_POST['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="'.$_POST['viajar'].'" size="40" maxlength="200"';
if ($_POST['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 ($_POST['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="'.$_POST['internacional'].'" size="40" maxlength="200"';
if ($_POST['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 ($_POST['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="'.$_POST['carnet'].'" size="40" maxlength="20"';
if ($_POST['carnet'] != "")
echo '>';
else
echo 'disabled>';
echo '</td>';
// CAMPO PROVINCIA DESEADA
echo '<td ';
echo ' width="25%" '.$ett.' textalign="right">'.$locale['1561'].'<br>';
echo $html->listaSelect("provincias","oid","id","provincia_deseada",array("",$locale['ns']),$_POST['provincia_deseada'],true,true,"7");
echo '&nbsp;&nbsp;<textarea name="observaciones_prov_deseada" rows="6" cols="30" style="overflow: auto;">'.$_POST['observaciones_prov_deseada'].'</textarea>';
echo '</td>';
// CAMPO PROVINCIA NO DESEADA
echo '<td ';
echo ' width="25%" '.$ett.' colspan="2" textalign="right">'.$locale['5001'].'<br>';
echo $html->listaSelect("provincias","oid","id","provincias_no_deseadas",array("",$locale['ns']),$_POST['provincias_no_deseadas'],true,true,"7");
echo '&nbsp;&nbsp;<textarea name="observaciones_prov_nodeseada" rows="6" cols="30" style="overflow: auto;">'.$_POST['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"">'.$_POST['observaciones'].'</textarea></td>';
echo '</tr></table>';
echo '<input type="submit" value="'.$locale['802'].'" class="button">';
/////////////////////
//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['802'].'" class="button">';
echo "</form>";
include_once("html/pie.php");
?>