git-svn-id: https://192.168.0.254/svn/Proyectos.Incam_Intranet/trunk/src@74 e2b1556b-49f8-d141-9351-52d6861a72d9
391 lines
17 KiB
PHP
391 lines
17 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");
|
|
if((count($provincia_deseada)==0)
|
|
&& (count($candidato->getProvinciasDeseadas())==0)){
|
|
$errores_persona .= $locale['1708']."<br />";
|
|
$errores[]="22";
|
|
}
|
|
|
|
/*Solo se valida el perfil técnico en el caso de que el candidato este en el estado (540 - Disponible sin asignar)*/
|
|
if($estado == 540){
|
|
if((((count($perfil)==1) && $perfil["0"]==""))
|
|
&& (count($candidato->getPerfiles())==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");
|
|
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();
|
|
$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";
|
|
|
|
} 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\">";
|
|
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>
|
|
<td ';
|
|
if(in_array("1",$errores)) echo " class=\"errorcampo\"";
|
|
echo ' width="25%" textalign="right">'.$locale['100'].'<br><input type="text" name="nombre" value="'.$candidato->getValor("nombre").'" size="20" maxlength="50"><br></td>
|
|
<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>
|
|
<td width="25%" textalign="right">'.$locale['116'].'<br>';
|
|
rellena_fecha_select($candidato->getValor("fecha_nacimiento"), "nac");
|
|
echo '</td>';
|
|
echo '<td';
|
|
if(in_array("4",$errores)) echo " class=\"errorcampo\"";
|
|
echo ' width="25%" '.$edni.' textalign="right">'.$locale['1539'].'<br><input type="text" name="dni" value="'.$candidato->getValor("dni").'" size="12" maxlength="9"></td></tr>';
|
|
echo '<tr>
|
|
<td ';
|
|
if(in_array("5",$errores)) echo " class=\"errorcampo\"";
|
|
echo 'width="25%">'.$locale['103'].'<input type="text" name="email" value="'.$candidato->getValor("email").'" size="30" maxlength="50"></td>
|
|
<td ';
|
|
if(in_array("6",$errores)) echo " class=\"errorcampo\"";
|
|
echo ' width="25%" '.$etm.' textalign="right" width=20%>'.$locale['107'].'<input type="text" name="t_movil" value="'.$candidato->getValor("t_movil").'" size="9" maxlength="9"></td>
|
|
<td ';
|
|
if(in_array("7",$errores)) echo " class=\"errorcampo\"";
|
|
echo 'width="25%" '.$etc.' textalign="right" width=20%>'.$locale['108'].'<input type="text" name="t_casa" value="'.$candidato->getValor("t_casa").'" size="9" maxlength="9"></td>
|
|
<td ';
|
|
if(in_array("8",$errores)) echo " class=\"errorcampo\"";
|
|
echo 'width="25%" '.$ett.' textalign="right" width=20%>'.$locale['109'].'<input type="text" name="t_trabajo" value="'.$candidato->getValor("t_trabajo").'" size="9" maxlength="9"></td>
|
|
</tr>';
|
|
/*echo '<tr>
|
|
<td></td>
|
|
<td '.$dir.' textalign="right">'.$locale['128'].'';
|
|
$auxiliar = '<option value="">-</option>';
|
|
rellena_desplegable_select("tipo_via","tipo_via",$auxiliar,$candidato->getValor("tipo_via"));
|
|
echo '<br>'.$locale['110'].'<input type="text" name="direccion" value="'.$candidato->getValor("direccion").'" size="20" maxlength="50"></td>
|
|
<td textalign="right" '.$enum.'>'.$locale['111'].'
|
|
<input type="text" name="numero" value="'.$candidato->getValor("numero").'" size="5" maxlength="25"><br>
|
|
'.$locale['112'].'
|
|
<input type="text" name="piso" value="'.$candidato->getValor("piso").'" size="5" maxlength="25"><br>
|
|
'.$locale['113'].'
|
|
<input type="text" name="puerta" value="'.$candidato->getValor("puerta").'" size="5" maxlength="25">
|
|
</td>
|
|
<td ';
|
|
if(in_array("12",$errores)) echo " class=\"errorcampo\"";
|
|
echo ' textalign="right" '.$ecp.'>'.$locale['115'].'
|
|
<input type="text" name="cp" value="'.$candidato->getValor("cp").'" size="3" maxlength="5">
|
|
</td>
|
|
</tr>';*/
|
|
|
|
echo '<tr>
|
|
<td ';
|
|
if(in_array("13",$errores)) echo " class=\"errorcampo\"";
|
|
echo 'colspan="18" textalign="right" '.$el.'>'.$locale['114'.$tipo.''].'';
|
|
rellena_desplegable_localidad($candidato->getValor("localidad"), "localidad");
|
|
echo '</td></tr>';
|
|
// echo '<tr>
|
|
// <td colspan="4" align="center">'.$locale['126'].'<br><textarea name="descripcion" rows="4" cols="40" style="overflow: auto; width:100%; height:150px">'.$candidato->getValor("descripcion").'</textarea></td></tr>';
|
|
echo '</table>';
|
|
|
|
//Datos laborales:
|
|
echo '<input type="submit" value="'.$locale['1580'].'" class="button">';
|
|
echo '<div class="encabezado">'.$locale['1550'].'</div>';
|
|
echo '<table align="center" width="100%">';
|
|
echo '<tr>';
|
|
echo '<td ';
|
|
if(in_array("20",$errores)) echo " class=\"errorcampo\"";
|
|
echo ' width="33%" textalign="right">'.$locale['1800'].'* : ';
|
|
$auxiliar = '<option selected value="">'.$locale['ns'].'</option>';
|
|
rellena_procedencias("procedencia",$auxiliar,$candidato->getValor("procedencia"));
|
|
echo '</td>';
|
|
|
|
|
|
|
|
echo '<td>'.$locale['1576']." ";
|
|
$auxiliar = '<option selected value="">'.$locale['ns'].'</option>';
|
|
rellena_desplegable_select_oid("incorporaciones","incorporacion","",$candidato->getValor("incorporacion"));
|
|
echo '</td>';
|
|
echo "<td></td>";
|
|
echo '</tr>';
|
|
echo '<tr>';
|
|
echo '<td width="33%" textalign="right">';
|
|
if ($candidato->getValor("fecha_entrevista")!="0000-00-00"){
|
|
echo $locale['1095']." : ";
|
|
echo rellena_fecha_select($candidato->getValor("fecha_entrevista"),"entre");
|
|
}
|
|
echo '</td><td width="33%" textalign="right">';
|
|
echo $locale['1800']." ".$locale['1091'].":";
|
|
echo $html->listaSelect("procedencia_cv","id","nombre","procedenciaCV",array("","-"),array($candidato->getValor("procedenciaCV")),true,false,"1");
|
|
|
|
|
|
echo '</td>';
|
|
|
|
echo '<td textalign="right">'.$locale['129'];
|
|
$auxiliar = '<option value="">'.$locale['ns'].'</option>';
|
|
rellena_desplegable_select_oidCol("salario","id","nombre","salario_min",$auxiliar,$candidato->getValor("salario_min"));
|
|
echo "<br />".$locale['130'];
|
|
$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>';
|
|
echo '<td ';
|
|
if(in_array("23",$errores)) echo " class=\"errorcampo\"";
|
|
echo ' textalign="right" '.$eper.'><div style="float:left ">'.$locale['121'].'</div><div style="float:left ">';
|
|
$auxiliar = '<option selected value="">'.$locale['ns'].'</option>';
|
|
$perfiles=$candidato->getPerfiles();
|
|
$keyidiomas=array_values($perfiles);
|
|
// Mostramos la lista para borrar
|
|
foreach ($perfiles as $nombre =>$valor) {
|
|
echo $nombre." <a href=\"gestion_candidato.php?oid=".$candidato->getValor("oid")."&action=dellPer&id=".$valor."\">Borrar</a><br />";
|
|
}
|
|
|
|
echo $html->listaSelect("perfil","oid","id","perfil",array("",$locale['ns']),$candidato->getPerfiles(),false,true,"15");
|
|
|
|
echo '</div></td>';
|
|
|
|
// Provincia deseada
|
|
echo '<td ';
|
|
if(in_array("22",$errores)) echo " class=\"errorcampo\"";
|
|
echo ' width="33%" valign="top" textalign="right" '.$ldes.'>' .
|
|
'<div style="float:left ">'.$locale['1561'].'</div><div style="float:left ">';
|
|
$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 />";
|
|
}
|
|
//rellena_desplegable_localidad_mult($candidato->getProvinciasDeseadas(), "provincia_deseada");
|
|
echo $html->listaSelect("provincias","oid","id","provincia_deseada",array("",$locale['ns']),$candidato->getProvinciasDeseadas(),false,true,"15");
|
|
|
|
|
|
echo '</div></td>';
|
|
|
|
// Provincia no deseada
|
|
echo '<td ';
|
|
if(in_array("22",$errores)) echo " class=\"errorcampo\"";
|
|
echo ' width="33%" valign="top" textalign="right" '.$ldes.'>' .
|
|
'<div style="float:left ">'.$locale['5001'].' </div><div style="float:left ">';
|
|
$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 />";
|
|
}
|
|
//rellena_desplegable_localidad_mult($candidato->getProvinciasNoDeseadas(), "provincia_no_deseada");
|
|
echo $html->listaSelect("provincias","oid","id","provincias_no_deseadas",array("",$locale['ns']),$candidato->getProvinciasNoDeseadas(),false,true,"15");
|
|
|
|
|
|
echo '</div></td>';
|
|
|
|
|
|
|
|
echo ' </tr>';
|
|
echo '<tr>
|
|
<td colspan="3" align="center">'.$locale['135'].'<br><textarea name="observaciones" rows="7" cols="50" style="overflow: auto; width:100%; height:150px">'.$candidato->getValor("observaciones").'</textarea></td></tr><tr>';
|
|
echo '</tr></table>';
|
|
echo '<input type="submit" value="'.$locale['1580'].'" class="button">';
|
|
echo '<div class="encabezado">'.$locale['1549'].'</div>';
|
|
echo '<table align="center" width="100%">';
|
|
echo '<tr align="center">
|
|
<td textalign="right">'.$locale['122'].'</td><td align="left">';
|
|
$tecnologias=$candidato->getTecnologias();
|
|
$keytecnologias=array_values($tecnologias);
|
|
// Mostramos la lista para borrar
|
|
foreach ($tecnologias as $nombre =>$valor) {
|
|
echo $nombre." <a href=\"gestion_candidato.php?oid=".$candidato->getValor("oid")."&action=dellTec&id=".$valor."\">Borrar</a><br />";
|
|
}
|
|
|
|
echo $html->listaSelect("tecnologia","oid","id","tecnologia",array("",$locale['ns']),$candidato->getTecnologias(),false,true,"15");
|
|
|
|
echo '</td>
|
|
|
|
<td align="right">'.$locale['123'].'</td><td align="left">';
|
|
$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>
|
|
|
|
<td align="right">'.$locale['124'].'</td><td align="left"> ';
|
|
$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,"15");
|
|
|
|
echo '</td>
|
|
|
|
</tr>';
|
|
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 '</td></tr></table>';
|
|
|
|
echo '</table>';
|
|
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>";
|
|
?>
|