2011-04-04 15:16:10 +00:00
|
|
|
|
<?php
|
|
|
|
|
|
include("seguridad.php");
|
|
|
|
|
|
include("functions.php");
|
|
|
|
|
|
include_once("Objects/Pedido.php");
|
|
|
|
|
|
include_once("Objects/HTML.php");
|
|
|
|
|
|
|
|
|
|
|
|
$html=new HTML($locale);
|
|
|
|
|
|
// Comprobamos los permisos
|
|
|
|
|
|
// S<>lo los gerentes y administradores puede a<>adir pedidos
|
|
|
|
|
|
if(!$usuario->tieneRol("3")&&!$usuario->tieneRol("1")){
|
|
|
|
|
|
header("Location: aplicacion.php?e=permiso");
|
|
|
|
|
|
exit;
|
|
|
|
|
|
}
|
|
|
|
|
|
$errores = array();
|
|
|
|
|
|
|
|
|
|
|
|
// Todas las variables
|
2011-04-06 12:07:57 +00:00
|
|
|
|
if(!empty($_POST)) {
|
|
|
|
|
|
$nombre=$_POST['nombre'];
|
|
|
|
|
|
$prioridad=$_POST['prioridad'];
|
|
|
|
|
|
$empleados=$_POST['empleados'];
|
|
|
|
|
|
$duracion=$_POST['duracion'];
|
|
|
|
|
|
$clientes=$_POST['clientes'];
|
|
|
|
|
|
$perfiles=$_POST['perfil'];
|
|
|
|
|
|
$salario_min=$_POST['salario_min'];
|
|
|
|
|
|
$salario_max=$_POST['salario_max'];
|
|
|
|
|
|
$procedencia=$_POST['procedencia'];
|
|
|
|
|
|
$tecnologias=$_POST['tecnologia'];
|
|
|
|
|
|
$idiomas=$_POST['idiomas'];
|
|
|
|
|
|
$provincias=$_POST['provincias'];
|
|
|
|
|
|
$observaciones=$_POST['observaciones'];
|
|
|
|
|
|
$pesoTec=$_POST['pesoTec'];
|
|
|
|
|
|
$pesoIdi=$_POST['pesoIdi'];
|
|
|
|
|
|
$pesoPer=$_POST['pesoPer'];
|
2011-04-04 15:16:10 +00:00
|
|
|
|
|
2011-04-06 12:07:57 +00:00
|
|
|
|
|
|
|
|
|
|
if($usuario->tieneRol("1")){
|
|
|
|
|
|
$gerente=$_POST['gerente'];
|
|
|
|
|
|
} else {
|
|
|
|
|
|
$gerente=$usuario->getValor("oid");
|
2011-04-04 15:16:10 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
2011-04-06 12:07:57 +00:00
|
|
|
|
if($_POST['action']=="add"){
|
|
|
|
|
|
// Comprobamos campos obligatorios
|
|
|
|
|
|
if($nombre==""){
|
|
|
|
|
|
$errores[]= "1";
|
2011-04-04 15:16:10 +00:00
|
|
|
|
}
|
2011-04-06 12:07:57 +00:00
|
|
|
|
if(($prioridad=="") ||($empleados=="") || ($duracion=="") || (!($empleados>0)) ||(!($duracion>0))){
|
|
|
|
|
|
$errores[]= "2";
|
|
|
|
|
|
}
|
|
|
|
|
|
if($gerente==""){
|
|
|
|
|
|
$errores[]= "3";
|
|
|
|
|
|
}
|
|
|
|
|
|
if($clientes==""){
|
|
|
|
|
|
$errores[]= "4";
|
|
|
|
|
|
}
|
|
|
|
|
|
if($perfiles==""){
|
|
|
|
|
|
$errores[]= "5";
|
|
|
|
|
|
}
|
|
|
|
|
|
if(($salario_min=="") ||($salario_max=="") || ($salario_min>$salario_max)){
|
|
|
|
|
|
$errores[]= "6";
|
|
|
|
|
|
}
|
|
|
|
|
|
if($procedencia==""){
|
|
|
|
|
|
$errores[]= "7";
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if(($pesoTec=="") ||($pesoIdi=="") || ($pesoPer=="")
|
|
|
|
|
|
|| !is_numeric($pesoTec) || !is_numeric($pesoIdi) || !is_numeric($pesoPer)
|
|
|
|
|
|
|| (!($pesoTec>=0)) ||(!($pesoIdi>=0)) || (!($pesoPer>=0))
|
|
|
|
|
|
|| ($pesoTec + $pesoIdi + $pesoPer != 100)){
|
|
|
|
|
|
$errores[]="8";
|
|
|
|
|
|
}
|
|
|
|
|
|
// Si no hay errores insertamos el pedido
|
|
|
|
|
|
if(count($errores)==0){
|
|
|
|
|
|
include_once("Objects/ListaPedido.php");
|
|
|
|
|
|
$listaPedidos=new ListaPedido($usuario,"","","0");
|
|
|
|
|
|
$arrayInsert=array();
|
|
|
|
|
|
$arrayInsert["nombre"]=$nombre;
|
|
|
|
|
|
$arrayInsert["prioridad"]= $prioridad;
|
|
|
|
|
|
$arrayInsert["empleados"]=$empleados;
|
|
|
|
|
|
$arrayInsert["duracion"]=$duracion;
|
|
|
|
|
|
$arrayInsert["gerente"]=$gerente;
|
|
|
|
|
|
$arrayInsert["cliente"]=$clientes;
|
|
|
|
|
|
$arrayInsert["salario_min"]=$salario_min;
|
|
|
|
|
|
$arrayInsert["salario_max"]=$salario_max;
|
|
|
|
|
|
$arrayInsert["procedencia"]=$procedencia;
|
|
|
|
|
|
$arrayInsert["observaciones"]=$observaciones;
|
|
|
|
|
|
$arrayInsert["estado"]="10";
|
|
|
|
|
|
$arrayInsert["pesoIdioma"]=$pesoIdi;
|
|
|
|
|
|
$arrayInsert["pesoPerfil"]=$pesoPer;
|
|
|
|
|
|
$arrayInsert["pesoTecno"]=$pesoTec;
|
|
|
|
|
|
$idPedido=$listaPedidos->addPedido($arrayInsert);
|
|
|
|
|
|
if($idPedido=="-1"){
|
|
|
|
|
|
// Se he producido un fallo al insertar
|
|
|
|
|
|
$errores[]= "0";
|
|
|
|
|
|
$msg="No se ha podido agregar el pedido";
|
|
|
|
|
|
$tipo="error";
|
|
|
|
|
|
} else {
|
|
|
|
|
|
$pedido=$listaPedidos->buscarPedido($idPedido);
|
|
|
|
|
|
print_r($perfiles);
|
|
|
|
|
|
$pedido->addPerfiles($perfiles);
|
|
|
|
|
|
$pedido->addTecnologias($tecnologias);
|
|
|
|
|
|
$pedido->addIdiomas($idiomas);
|
|
|
|
|
|
$pedido->addProvincias($provincias);
|
|
|
|
|
|
header("Location: pedido.php?idPedido=".$idPedido."&msg=1");
|
|
|
|
|
|
}
|
2011-04-04 15:16:10 +00:00
|
|
|
|
}
|
|
|
|
|
|
}
|
2011-04-06 12:07:57 +00:00
|
|
|
|
} else {
|
|
|
|
|
|
$nombre="";
|
|
|
|
|
|
$prioridad="";
|
|
|
|
|
|
$empleados="";
|
|
|
|
|
|
$duracion="";
|
|
|
|
|
|
$clientes="";
|
|
|
|
|
|
$perfiles=array();
|
|
|
|
|
|
$salario_min="";
|
|
|
|
|
|
$salario_max="";
|
|
|
|
|
|
$procedencia="";
|
|
|
|
|
|
$tecnologias=array();
|
|
|
|
|
|
$idiomas=array();
|
|
|
|
|
|
$provincias=array();
|
|
|
|
|
|
$observaciones="";
|
|
|
|
|
|
$pesoTec="";
|
|
|
|
|
|
$pesoIdi="";
|
|
|
|
|
|
$pesoPer="";
|
2011-04-04 15:16:10 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
include("html/cabecera.php");
|
|
|
|
|
|
|
2011-04-06 12:07:57 +00:00
|
|
|
|
if ((isset($pesoTec)) && ($pesoTec=="")) $pesoTec="40";
|
|
|
|
|
|
if ((isset($pesoIdi)) && ($pesoIdi=="")) $pesoIdi="10";
|
|
|
|
|
|
if ((isset($pesoPer)) && ($pesoPer=="")) $pesoPer="50";
|
2011-04-04 15:16:10 +00:00
|
|
|
|
|
|
|
|
|
|
echo $html->menuPedidos($usuario,"");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
echo "<h2>".$locale['1058']."</h2>";
|
2011-04-06 12:07:57 +00:00
|
|
|
|
|
|
|
|
|
|
if (isset($msg) && ($msg != "")) {
|
2011-04-04 15:16:10 +00:00
|
|
|
|
echo "<div class=\"aviso ".$tipo."\">".$msg."</div>";
|
|
|
|
|
|
}
|
|
|
|
|
|
echo '<form method="POST" action="addPedido.php" name="form_registro" enctype="multipart/form-data">';
|
|
|
|
|
|
echo "<input type=\"hidden\" name=\"action\" value=\"add\" />";
|
|
|
|
|
|
echo "<table id=\"addPedido\">" .
|
|
|
|
|
|
"<tr>" .
|
|
|
|
|
|
" <td";
|
|
|
|
|
|
if(in_array("1",$errores)) echo " class=\"errorcampo\"";
|
|
|
|
|
|
echo ">".$locale['1043']."<input type=\"text\" name=\"nombre\" value=\"".$nombre."\" size=\"30\" maxlength=\"30\" ></td>" .
|
|
|
|
|
|
" <td";
|
|
|
|
|
|
if(in_array("2",$errores)) echo " class=\"errorcampo\"";
|
|
|
|
|
|
echo ">" .$locale['1022'].":";
|
|
|
|
|
|
rellena_prioridad_select("prioridad",$prioridad);
|
|
|
|
|
|
echo " - ".$locale['1024'].": <input type=\"text\" name=\"empleados\" value=\"".$empleados."\" maxlenght=\"3\" size=\"2\"" .
|
|
|
|
|
|
"<br />".$locale['1026'].": <input type=\"text\" name=\"duracion\" value=\"".$duracion."\" maxlenght=\"3\" size=\"2\" />" .
|
|
|
|
|
|
"</td>";
|
|
|
|
|
|
echo "<td";
|
|
|
|
|
|
if(in_array("3",$errores)) echo " class=\"errorcampo\"";
|
|
|
|
|
|
echo ">".$locale['1027'];
|
|
|
|
|
|
// Si es Admin puede asignar un gerente, si no, s<>lo a <20>l
|
|
|
|
|
|
if($usuario->tieneRol("1")){
|
|
|
|
|
|
$auxiliar = "";
|
|
|
|
|
|
rellena_personal_permiso("gerente","GP",$auxiliar,$usuario->getValor("oid"));
|
|
|
|
|
|
} else {
|
|
|
|
|
|
echo "<input type=\"text\" readonly value=\"".$usuario->getValor("nombre")." ".$usuario->getValor("apellidos")."\" />";
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
echo "</td></tr>" .
|
|
|
|
|
|
" <tr><td";
|
|
|
|
|
|
if(in_array("4",$errores)) echo " class=\"errorcampo\"";
|
|
|
|
|
|
echo ">".$locale['1504'];
|
|
|
|
|
|
$auxiliar = '<option selected value="">'.$locale['ns'].'</option>';
|
|
|
|
|
|
rellena_desplegable_select_oid("clientes","clientes",$auxiliar,$clientes);
|
|
|
|
|
|
echo "</td><td";
|
|
|
|
|
|
if(in_array("5",$errores)) echo " class=\"errorcampo\"";
|
2011-04-06 12:07:57 +00:00
|
|
|
|
echo ">".$locale['121']."<br/>";
|
|
|
|
|
|
// Ticket #565 -> En una solicitud de oferta, se deben poder indicar varios perfiles t<>cnicos
|
|
|
|
|
|
echo $html->listaSelect("perfil","oid","id","perfil",array("",$locale['ns']),$tecnologias,true,true,"15");
|
2011-04-04 15:16:10 +00:00
|
|
|
|
echo "</td><td>".$locale['132'].": ".$locale['2100'];
|
|
|
|
|
|
|
|
|
|
|
|
echo "</td></tr>";
|
|
|
|
|
|
|
|
|
|
|
|
echo "<tr><td colspan=\"2\"";
|
|
|
|
|
|
if(in_array("6",$errores)) echo " class=\"errorcampo\"";
|
|
|
|
|
|
echo ">";
|
|
|
|
|
|
echo $locale['129'];
|
|
|
|
|
|
rellena_desplegable_select_oidCol("salario","id","nombre","salario_min",$auxiliar,$salario_min);
|
|
|
|
|
|
echo ' - '.$locale['130'].'';
|
|
|
|
|
|
rellena_desplegable_select_oidCol("salario","id","nombre","salario_max",$auxiliar,$salario_max);
|
|
|
|
|
|
|
|
|
|
|
|
echo "</td><td";
|
|
|
|
|
|
if(in_array("7",$errores)) echo " class=\"errorcampo\"";
|
|
|
|
|
|
echo ">".$locale['1800'];
|
|
|
|
|
|
rellena_procedencias("procedencia",$auxiliar,$procedencia);
|
|
|
|
|
|
echo "</td></tr>";
|
|
|
|
|
|
echo "<tr><td colspan=\"3\">" .
|
|
|
|
|
|
"<table><tr><td>".$locale['122']."</td><td>";
|
|
|
|
|
|
|
|
|
|
|
|
echo $html->listaSelect("tecnologia","oid","id","tecnologia",array("",$locale['ns']),$tecnologias,true,true,"15");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
echo "</td><td>".$locale['123']."</td><td>";
|
|
|
|
|
|
echo $html->listaSelect("idiomas","oid","id","idiomas",array("",$locale['ns']),$idiomas,true,true,"15");
|
|
|
|
|
|
|
|
|
|
|
|
echo "</td><td>".$locale['209']."</td><td>";
|
|
|
|
|
|
echo $html->listaSelect("provincias","oid","id","provincias",array("",$locale['ns']),$provincias,true,true,"15");
|
|
|
|
|
|
|
|
|
|
|
|
echo "</td>";
|
|
|
|
|
|
?>
|
|
|
|
|
|
<td <?php if(in_array("8",$errores)) echo " class=\"errorcampo\""; ?> width="200px">
|
|
|
|
|
|
<?php echo $locale['1078']; ?>: <input name="pesoTec" type="text" size="5" align="right" value="<?php echo $pesoTec; ?>" <?php if((!is_numeric($pesoTec))&& ($pesoTec!="")) echo " class=\"errorcampo\""; ?>> %<br />
|
|
|
|
|
|
<?php echo $locale['1079']; ?>: <input name="pesoIdi" type="text" size="5" value="<?php echo $pesoIdi; ?>" <?php if((!is_numeric($pesoIdi)) && ($pesoIdi!="")) echo " class=\"errorcampo\""; ?>> %<br />
|
|
|
|
|
|
<?php echo $locale['1080']; ?>: <input name="pesoPer" type="text" size="5" value="<?php echo $pesoPer; ?>" <?php if((!is_numeric($pesoPer))&& ($pesoPer!="")) echo " class=\"errorcampo\""; ?>> %<br />
|
|
|
|
|
|
<?php echo $locale['1081']; ?>
|
|
|
|
|
|
</td>
|
|
|
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
|
|
echo "</tr></table></td></tr>";
|
|
|
|
|
|
echo '<tr>' .
|
|
|
|
|
|
'<td colspan="3" align="center">'.$locale['135'].'<br><textarea name="observaciones" rows="4" cols="40" maxlength="300" style="overflow: auto;">'.$observaciones.'</textarea></td>' .
|
|
|
|
|
|
'</tr>';
|
|
|
|
|
|
|
|
|
|
|
|
// Botones de guardar y restablecer
|
|
|
|
|
|
echo "<tr><td colspan=\"3\" align=\"center\">";
|
|
|
|
|
|
echo '<input type="submit" value="'.$locale['gu'].'" onclick="return comprobar_registro(this)" class="button">';
|
|
|
|
|
|
echo '<input type="reset" value="'.$locale['res'].'" class="button"></td>';
|
|
|
|
|
|
echo "</tr></table>";
|
|
|
|
|
|
echo "</form>";
|
|
|
|
|
|
include_once("html/pie.php");
|
|
|
|
|
|
|
|
|
|
|
|
?>
|