Incam_Intranet/gestion_empleado.php
2011-04-04 15:16:10 +00:00

353 lines
16 KiB
PHP
Raw Permalink Blame History

<?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>";
?>