git-svn-id: https://192.168.0.254/svn/Proyectos.Incam_Intranet/trunk/src@1 e2b1556b-49f8-d141-9351-52d6861a72d9
353 lines
16 KiB
PHP
353 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;
|
||
}
|
||
$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/Empleado.php");
|
||
$candidato=new Empleado($usuario,$_GET ['oid']);
|
||
$html=new HTML($locale);
|
||
$html->menuEmpleados();
|
||
$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";
|
||
}
|
||
|
||
if((((count($perfil)==1) && $perfil["0"]==""))
|
||
&& (count($candidato->getPerfiles())==0)){
|
||
$errores_persona .= $locale['1705']."<br />";
|
||
$errores[]="23";
|
||
}
|
||
include_once("verificar_usuario.php");
|
||
if(count($errores)==0){
|
||
$arrayInsert=array();
|
||
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["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["perfil"]=$_POST['perfil'];
|
||
$camposQuitar["historial"]=$_POST['historial'];
|
||
|
||
|
||
if(!$usuario->tieneRol("1"))
|
||
$camposQuitar["rol"]=$_POST['rol'];
|
||
|
||
$camposInsertar=array_diff_assoc($_POST,$camposQuitar);
|
||
$camposInsertar["fecha_nacimiento"]=$fecha_nacimiento_ini;
|
||
$camposInsertar["fecha_alta"]=$fecha_alta;
|
||
//$camposInsertar["fecha_entrevista"]=$fecha_entre;
|
||
$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']);
|
||
$candidato->addPerfiles($_POST['perfil']);
|
||
$candidato->addCurriculum($_FILES['userfile']);
|
||
$mensaje=$locale['1591'];
|
||
$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 "dellPer":$idAction=$_GET['id'];
|
||
$candidato->removePerfil($idAction);
|
||
$mensaje=$locale['1090'];
|
||
$tipomsg="ok";
|
||
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_empleado.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="9" 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>'.$locale['102candidato'].'<input type="password" name="password" size="9"/></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 'textalign="right" '.$el.'>'.$locale['114'.$tipo.''].'';
|
||
rellena_desplegable_localidad($candidato->getValor("localidad"), "localidad");
|
||
echo '</td>';
|
||
?>
|
||
<td colspan="3"><?php echo $locale['1905']; ?>: <input type="text" name="extension" value="<?php echo $candidato->getValor("extension"); ?>"></td>
|
||
<?php
|
||
echo '</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></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 width="33%" textalign="right">';
|
||
echo $locale['015'];
|
||
?>
|
||
<input type="text" name="dias_vacaciones" value="<?php echo $candidato->getValor("dias_vacaciones"); ?>" size="3" />
|
||
<?php
|
||
|
||
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 '</tr>';
|
||
echo '<tr>';
|
||
echo '<td width="33%" textalign="right" >';
|
||
if ($candidato->getValor("fecha_alta")!="0000-00-00"){
|
||
echo $locale['1589'];?> : <?php echo rellena_fecha_select($candidato->getValor("fecha_alta"),"alta"); ?>
|
||
<?php
|
||
}
|
||
echo '</td><td width="33%" textalign="right">';
|
||
echo $locale['1800']." ".$locale['1091']." : ";
|
||
rellena_desplegable_select_oidCol("procedencia_cv","id","nombre","procedenciaCV",$auxiliar,$candidato->getValor("procedenciaCV"));
|
||
echo '</td>';
|
||
echo '<td ';
|
||
if(in_array("14",$errores)) echo " class=\"errorcampo\"";
|
||
echo ' textalign="right">'.$locale['509'].'*<input type="text" name="salario" value="'.$candidato->getValor("salario").'" />';
|
||
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_empleado.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>';
|
||
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 para borrar
|
||
foreach ($localidadesDeseadas as $nombre =>$valor) {
|
||
echo $nombre." <a href=\"gestion_empleado.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(),false,true,"15");
|
||
echo '</div></td>';
|
||
echo '<td>';
|
||
if($usuario->tieneRol("1")){
|
||
echo $locale['216'].':';
|
||
rellena_desplegable_select_oidCol("rol","oid","id","rol","",$candidato->getValor("rol"));
|
||
}
|
||
echo '</td>';
|
||
|
||
echo '</tr>';
|
||
echo '<tr>
|
||
<td colspan="3" align="center">'.$locale['135'].'<br><textarea name="observaciones" style="overflow: auto; width:100%; height:150px">'.$_POST['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_empleado.php?oid=".$candidato->getValor("oid")."&action=dellTec&id=".$valor."\">Borrar</a><br />";
|
||
}
|
||
$auxiliar = '<option selected value="">'.$locale['ns'].'</option>';
|
||
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_empleado.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_empleado.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>";
|
||
?>
|