Incam_Intranet/ver_pedido.php

384 lines
16 KiB
PHP
Raw Blame History

<?php
include_once("Objects/Pedido.php");
include_once("Objects/ListaOfertas.php");
include_once("seguridad.php");
$usuario = $_SESSION['usuario'];
//$pedido=new Pedido($idPedido,$usuario);
$pedido = new Pedido($idPedido, $usuario);
if (($pedido->getValor("gerente") != $usuario->getValor("oid"))
&& !$usuario->tieneRol("4")
&& !$usuario->tieneRol("1")) {
header("Location: aplicacion.php?e=permiso");
exit;
}
include_once("html/cabecera.php");
include_once("Objects/Administracion.php");
$administracion = new Administracion($usuario, $locale);
$constantes = $administracion->getItem("constantes");
$mostrarTabla = $constantes['candPagina'];
$altoScroll = 83 / 2 * $mostrarTabla;
?>
<style type="text/css">
.listaPropuestos{
border-collapse:separate;
}
.listaPropuestos tbody{
overflow-y:auto;
overflow-x:hidden;
}
</style>
<?php
include_once("Objects/HTML.php");
$html = new HTML($locale);
// Constantes para la p<>gina
$pagAcept = isset($_GET["pagAcept"]) && ($_GET["pagAcept"] != "") ? $_GET["pagAcept"] : "1";
$pagProp = isset($_GET["pagProp"]) && ($_GET["pagProp"] != "") ? $_GET["pagProp"] : "1";
$pagRech = isset($_GET["pagRech"]) && ($_GET["pagRech"] != "") ? $_GET["pagRech"] : "1";
// Comprogamos si hay error de semaforo activo
if (isset($_GET["msgSem"]) && ($_GET["msgSem"] != "")) {
$mensajeSemaforo = $semaforo->getMensaje($_GET["msgSem"]);
echo "<div class=\"aviso semaforo\">" . $mensajeSemaforo . "</div>";
}
?>
<?php
// Comprobamos si tenemos que aceptar o rechazar un candidato
$action = (isset($_GET['action']) && ($_GET['action'] != "")) ? $_GET['action'] : "";
//$action = (isset($_POST['action']) && ($_POST['action']!="")) ? $_POST['action'] : "";
if ($action != "") {
$error = false;
$mensaje = "";
switch ($action) {
case "aceptar": if ($_GET['idCand'] != "") {
try {
$estado = $pedido->aceptarCandidato($_GET['idCand']);
if ($estado) {
$tipo = "ok";
$mensaje = $locale['1055'];
} else {
$tipo = "error";
$mensaje = $locale['1053'];
}
} catch (Exception $e) {
$mensaje = $e->getMessage();
$tipo = "error";
}
} else {
$tipo = "error";
$mensaje = $locale['1053'];
}
break;
case "dell": if ($_GET['idCand'] != "") {
try {
$estado = $pedido->rechazarCandidato($_GET['idCand']);
if ($estado) {
$tipo = "ok";
$mensaje = $locale['1056'];
} else {
$tipo = "error";
$mensaje = $locale['1054'];
}
} catch (Exception $e) {
$mensaje = $e->getMessage();
$tipo = "error";
}
} else {
$tipo = "error";
$mensaje = $locale['1053'];
}
break;
case "cambEst": if ($_GET['idEst'] != "") {
try {
$camb = $pedido->transita($_GET['idEst'], "");
if ($camb) {
$tipo = "ok";
$mensaje = $locale['1072'];
} else {
$tipo = "error";
$mensaje = $locale['1073'];
}
} catch (Exception $e) {
$mensaje = $e->getMessage();
$tipo = "error";
}
}
break;
case "cambEstObs": if ($_POST['idEstado'] != "") {
try {
$camb = $pedido->transita($_POST['idEstado'], $_POST['txtObsCamb']);
if ($camb) {
$tipo = "ok";
$mensaje = $locale['1087'];
} else {
$tipo = "error";
$mensaje = $locale['1088'];
}
} catch (Exception $e) {
$mensaje = $e->getMessage();
$tipo = "error";
}
}
break;
case "addComent": if (($_POST['obs'] != "") && ($_POST['idCandidato'] != "")) {
// Agregamso comentario al candidato sobre el pedido
try {
$pedido->addComentarioPropuesta($_POST['idCandidato'], $_POST['obs']);
$mensaje = $locale['4047'];
$tipo = "ok";
} catch (Exception $e) {
$mensaje = $e->getMessage();
$tipo = "error";
}
}
break;
default: $error = true;
$mensaje = $locale['1057'];
break;
}
if ($mensaje != "") {
// Mostramos el mensaje
echo "<div class=\"aviso " . $tipo . "\">" . $mensaje . "</div>";
}
}
?>
<?php
//menu_pedidos("");
// MEN<45>
if ($pedido->getValor("estado") == 130) {
echo $html->menuPedidos($usuario, array("gestionar", "nueva_oferta"));
} elseif (!$usuario->tieneRol("3")) {
echo $html->menuPedidos($usuario, array("gestionar"));
} else
echo $html->menuPedidos($usuario, "");
?>
<h2><?php echo $pedido->getValor("nombre"); ?></h2>
<?php
// Comprobamos mensajes que pueden llegar hasta aqui
if (isset($_GET["msg"])) {
switch ($_GET['msg']) {
case "1": $mensaje = "<div class=\"aviso ok\">" . $locale['1061'] . "</div>";
break;
default:
break;
}
} else {
$mensaje = "";
}
echo $mensaje;
?>
<table width="100%">
<tr><td>
<table width="100%">
<tr>
<td class="nombre"><?php echo $locale['1010']; ?></td>
<td><?php echo ver_fecha_larga($pedido->getValor("fecha")); ?></td>
<td class="nombre"><?php echo $locale['1011']; ?></td>
<td><?php echo discretiza_prioridad($pedido->getValor("prioridad")); ?></td>
<td class="nombre"><?php echo $locale['1012']; ?></td>
<td>
<?php
$perfiles = $pedido->getPerfiles();
if (count($perfiles) > 0) {
foreach ($perfiles as $nombre => $codigo) {
echo $nombre . "<br />";
}
} else {
?>
<span class="errorcampo"><?php echo $locale['1097']; ?></span>
<?php
}
?>
</td>
<td class="nombre"><?php echo $locale['1013']; ?></td>
<td><?php echo $pedido->getValor("nombre_cliente"); ?></td>
</tr>
<tr>
<td class="nombre"><?php echo $locale['1026']; ?></td>
<td><?php echo $pedido->getValor("duracion"); ?></td>
<td class="nombre"><?php echo $locale['1014']; ?></td>
<td><?php echo $pedido->getValor("empleados"); ?></td>
<td class="nombre"><?php echo $locale['1027']; ?></td>
<td><?php echo $pedido->getValor("nombre_gerente"); ?></td>
<td class="nombre"><?php echo $locale['261']; ?></td>
<td><?php echo $pedido->getValor("nombre_salario_min") . " - " . $pedido->getValor("nombre_salario_max"); ?></td>
</tr>
<tr>
<td class="nombre"><?php echo $locale['1527']; ?></td>
<td><?php echo $pedido->getValor("nombre_estado"); ?>
<div id="obsCambioEst" class="obsCambioEst">
<form id="formCambEst" action="pedido.php?idPedido=<?php echo $pedido->getValor("oid"); ?>&action=cambEstObs" method="post" >
<input type="hidden" name="action" value="cambEstObs" />
<input type="hidden" name="idEstado" id="idEstado" />
</form>
</div>
<?php
if ($pedido->getValor("msgEstado") != "") {
echo " -> " . $pedido->getValor("msgEstado");
}
echo "<br />";
$estadosSiguientes = $pedido->getSiguientes();
foreach ($estadosSiguientes as $codEstado => $nombreEstado) {
// En estados 50 se necesita mensaj obs
if ($codEstado == "50") {
?>
<input class="button" name="cambEstado" type="button" value="<?php echo $locale['2104'] . $nombreEstado; ?>" onClick="mostrarObs('<?php echo $pedido->getValor("oid"); ?>','<?php echo $codEstado; ?>','txt')" style="margin-bottom:5px">
<?php
} else {
?>
<input class="button" name="cambEstado" type="button" value="<?php echo $locale['2104'] . $nombreEstado; ?>" onClick="javascript:document.location='pedido.php?idPedido=<?php echo $pedido->getValor("oid"); ?>&action=cambEst&idEst=<?php echo $codEstado; ?>'" style="width:200px; margin-bottom:5px"><br />
<?php
}
}
?>
</td>
<td class="nombre"><?php echo $locale['123']; ?></td>
<td><?php
$idiomas = $pedido->getIdiomas();
if (count($idiomas) > 0) {
foreach ($idiomas as $nombre => $codigo) {
echo $nombre . "<br />";
}
} else {
?>
<span class="errorcampo"><?php if ($pedido->getValor("pesoIdioma") > 0)
echo $locale['1097']; ?></span><br />
<?php
}
?></td>
<td class="nombre"><?php echo $locale['122']; ?></td>
<td><?php
$tecnologias = $pedido->getTecnologias();
if (count($tecnologias) > 0) {
foreach ($tecnologias as $nombre => $codigo) {
echo $nombre . "<br />";
}
} else {
?>
<span class="errorcampo"><?php if ($pedido->getValor("pesoTecno") > 0)
echo $locale['1097']; ?></span><br />
<?php
}
?></td>
<td class="nombre"><?php echo $locale['209']; ?></td>
<td><?php
$tecnologias = $pedido->getProvincias();
if (count($tecnologias) > 0) {
foreach ($tecnologias as $nombre => $codigo) {
echo $nombre . "<br />";
}
} else {
?>
<span class="errorcampo"><?php echo $locale['1097']; ?></span>
<?php
}
?></td>
</tr>
<!--BORRAR-->
<!--tr>
<td class="nombre"><?php echo $locale['1082']; ?></td>
<td colspan="7">
<?php
echo $locale['1078'] . "( " . $pedido->getValor("pesoTecno") . "% ) - ";
echo $locale['1079'] . "( " . $pedido->getValor("pesoIdioma") . "% ) - ";
echo $locale['1080'] . "( " . $pedido->getValor("pesoPerfil") . "% )";
?></td>
</tr-->
<tr>
<td class="nombre"><?php echo $locale['135']; ?></td>
<td colspan="7"><?php echo nl2br($pedido->getValor("observaciones")); ?></td>
</tr>
</table>
</td></tr>
</table>
<br/>
<h3><span class="nombre"><?php echo $locale['5100']; ?></span></h3>
<table width="100%">
<thead>
<tr class="nombre">
<th><?php echo $locale['2014']; ?></th>
<th><?php echo $locale['5106']; ?></th>
<th><?php echo $locale['1021']; ?></th>
<th><?php echo $locale['1102']; ?></th>
<th><?php echo $locale['5107']; ?></th>
</tr>
</thead>
<?php
$oidPedido = $pedido->getValor("oid");
// sacado de http://patrickallaert.blogspot.com/2007/09/building-dynamic-sql-queries-elegant.html
$cond = array();
$cond[] = "pedido = '$oidPedido'";
$orden = array();
$orden[] = "referencia";
$listaOfertas = new ListaOfertas($usuario, $cond, $orden);
$ofertas = $listaOfertas->getOfertas();
// Vemos si tiene ofertas
$totalOfertas = count($ofertas);
if ($totalOfertas == 0) {
echo "<tr><td colspan=\"11\" align=\"center\">Esta solicitud no tiene ofertas</td></tr>";
} else {
for ($i = 0; $i < $totalOfertas; $i++) {
$ofertaAct = $ofertas[$i];
echo "<tr>";
/*if (($ofertaAct->getValor("gerente") == $usuario->getValor("oid")) || $usuario->tieneRol("1")) {
// Es el gerente de ese pedido, puede editarlo y eliminarlo
echo '<td align="center"><a href="gestion_pedido.php?idPedido=' . $ofertaAct->getValor("oid") . '"><img src="css/edit.png" title="' . $locale['2017'] . '"/></a></td>';
echo "<td align=\"center\"><a href=\"#\" onclick=eliminarPedido('" . $ofertaAct->getValor("oid") . "') ><img src=\"css/eliminar.png\" title=\"" . $locale['2016'] . "\"/></a></td>";
} else {
// No es el gerente no puede ni editarlo ni eliminarlo
echo '<td></td><td></td>';
}*/
echo '<td align="center"><a href="oferta.php?idOferta=' . $ofertaAct->getValor("oid") . '"><img src="css/brick_go.png" title="' . $locale['2015'] . '" /></a></td>';
echo '<td align="center"><a href="oferta.php?idOferta=' . $ofertaAct->getValor("referencia") . '">'.$ofertaAct->getValor("referencia").'</a></td>';
echo '<td align="center">' . $ofertaAct->getValor("fecha") . '</td>';
echo '<td align="center">' . $ofertaAct->getValor("nombre_estado") . '</td>';
echo '<td align="center"><a href="/detalle_candidato.php?oid=' . $ofertaAct->getValor("candidato") . '">' . $ofertaAct->getValor("nombre_candidato") . '</td>';
echo "</tr>";
}
}
?>
</table>
<br/>
<table>
<tr align="center"> <!-- HISTORIAL -->
<td ><a name="historial"><?php echo $locale['127']; ?></a><br />
<textarea name="historial" readonly rows="8" cols="90" maxlength="300" style="overflow: auto;width:100%"><?php echo $pedido->getHistorial(); ?></textarea>
</td>
</tr>
</table>
<?php include_once("html/pie.php"); ?>