Ticket #563 -> En la pantalla de búsqueda de pedidos (solicitudes), se debe poder elegir varios perfiles técnicos

Ticket #565 -> En una solicitud de oferta, se deben poder indicar varios perfiles técnicos

git-svn-id: https://192.168.0.254/svn/Proyectos.Incam_Intranet/trunk@21 e2b1556b-49f8-d141-9351-52d6861a72d9
This commit is contained in:
David Arranz 2011-04-06 12:07:57 +00:00
parent 3ddc27061a
commit feb9b6f4b1
12 changed files with 353 additions and 156 deletions

View File

@ -26,10 +26,10 @@
private $tecnologiasUsuario;
/* Perfil que requiere el pedido. */
private $perfilPedido;
private $perfilesPedido;
/* Perfiles que posee el usuario. */
private $perfilUsuario;
private $perfilesUsuario;
/* Provincias donde se desarrollará el proyecto del pedido. */
private $provinciasPedido;
@ -39,13 +39,13 @@
//Constructores
function Afinidad($idiomasPedido, $idiomasUsuario, $tecnologiasPedido,
$tecnologiasUsuario, $perfilPedido, $perfilUsuario, $provinciasPedido, $provinciaDeseada){
$tecnologiasUsuario, $perfilesPedido, $perfilesUsuario, $provinciasPedido, $provinciaDeseada){
$this->idiomasPedido = $idiomasPedido;
$this->idiomasUsuario = $idiomasUsuario;
$this->tecnologiasPedido = $tecnologiasPedido;
$this->tecnologiasUsuario = $tecnologiasUsuario;
$this->perfilPedido = $perfilPedido;
$this->perfilUsuario = $perfilUsuario;
$this->perfilesPedido = $perfilesPedido;
$this->perfilesUsuario = $perfilesUsuario;
$this->provinciasPedido = $provinciasPedido;
$this->provinciaDeseada = $provinciaDeseada;
@ -59,7 +59,11 @@
* @param pedido - pedido para el que calcular la afinidad.
*/
function calculaAfinidad($pI, $pP, $pT){
$vL = 0;
$vI = 0;
$vP = 0;
$vT = 0;
//Si no coincide alguna provincia deseada no nos vale.
if($this->provinciasPedido != ""){
foreach($this->provinciasPedido as $provincia){
@ -74,8 +78,8 @@
$afi = 0;
//Afinidad con los perfiles:
if(count($this->perfilUsuario) > 0){
if(in_array($this->perfilPedido, $this->perfilUsuario)){
if(count($this->perfilesUsuario) > 0){
if(in_array($this->perfilesPedido, $this->perfilesUsuario)){
$vP = 1;
}
}

View File

@ -177,7 +177,7 @@ include_once("Objects/Pedido.php");
//Calculamos el id
$id = $this->calculaIdProyecto($campos["procedencia"], $campos["cliente"]);
$inserto = "oid, fecha";
$fecha = "'".date(Y."-".m."-".d)."'";
$fecha = "'".date("Y-m-d")."'";
$valores = "$id, $fecha";
//Procesamos los datos

View File

@ -33,6 +33,9 @@ include_once("Automata.php");
/* Lista de candidatos rechazados*/
private $listaRechazados = null;
/* Lista de perfiles*/
private $listaPerfiles = null;
/* Lista de tecnologías*/
private $listaTecnologias = null;
@ -306,6 +309,8 @@ include_once("Automata.php");
* Calcula una lista de candidatos de un estado.
*/
private function getCandidatos($estado){
$lista = array();
$pedido = $this->getValor("oid");
$consulta = "SELECT A.*,B.*,C.email,C.oid,C.nombre,C.apellidos,C.fecha_alta, D.nombre as estado_usuario FROM candidato_pedido as A, candidaturas_estado as B, usuarios as C, candidatos_estados as D WHERE A.pedido = '$pedido' and A.estado = B.cod and B.cod='$estado' and C.oid=A.candidato and D.cod = C.estado ORDER BY A.afinidad DESC";
$bd = new BD();
@ -660,18 +665,32 @@ include_once("Automata.php");
return $this->listaIdiomas;
}
/**
* Devuelve una lista de perfiles asociados al pedido.
*/
function getPerfiles(){
if($this->listaPerfiles == null){
$oid = $this->getValor("oid");
$consulta = "SELECT perfil, id FROM perfil_pedido, perfil WHERE oid_i = '$oid' and perfil_pedido.perfil = perfil.oid";
$bd = new BD();
$this->listaPerfiles = $bd->keyValueQuery($consulta, "id", "perfil");
}
return $this->listaPerfiles;
}
/**
* Devuelve una lista de provincias asociadas al pedido.
*/
function getProvincias(){
if($this->listasProvincias == null){
if($this->listaProvincias == null){
$oid = $this->getValor("oid");
$consulta = "SELECT provincia, id FROM provincia_pedido, provincias WHERE oid_i = '$oid' and provincia_pedido.provincia = provincias.oid";
$bd = new BD();
$this->listasProvincias = $bd->keyValueQuery($consulta, "id", "provincia");
$this->listaProvincias = $bd->keyValueQuery($consulta, "id", "provincia");
}
return $this->listasProvincias;
return $this->listaProvincias;
}
function addTecnologias($array){
@ -696,6 +715,15 @@ include_once("Automata.php");
$this->calculaAfinidad();
}
function addPerfiles($array){
if(gettype($array) == "array"){
foreach($array as $elem){
$this->addPerfil($elem);
}
$this->calculaAfinidad();
}
}
/**
* Asocia una nueva tecnología en la base de datos.
*/
@ -748,6 +776,32 @@ include_once("Automata.php");
return true;
}
/**
* Asocia un nuevo perfil en la base de datos.
*/
private function addPerfil($id){
$oid = $this->getValor("oid");
$this->getPerfiles();
if(!in_array($id, $this->listaPerfiles)){
$consulta = "SELECT id FROM perfil WHERE oid='$id'";
$bd = new BD();
$nombre_perfil = $bd->getCampo($consulta);
$consulta = "INSERT INTO perfil_pedido VALUES('$id', '$oid')";
$bd = new BD();
if($bd->execQuery($consulta)){
$mensaje = "Nuevo perfil: $nombre_perfil";
$this->actualizarHistorial($mensaje);
$this->listaPerfiles[$nombre_perfil] = $id;
}else{
return false;
}
}else{
return false;
}
return true;
}
/**
* Asocia una nueva provincia en la base de datos.
*/
@ -873,6 +927,40 @@ include_once("Automata.php");
return true;
}
/**
* Elimina la asociación entre un perfil y un pedido.
*/
function removePerfil($id){
$oid = $this->getValor("oid");
$this->getPerfiles();
if(in_array($id, $this->listaPerfiles)){
$consulta = "SELECT id FROM perfil WHERE oid='$id'";
$bd = new BD();
$nombre_perfil = $bd->getCampo($consulta);
$consulta = "DELETE FROM perfil_pedido WHERE perfil='$id' and oid_i='$oid'";
$bd = new BD();
if($bd->execQuery($consulta)){
$mensaje = "Eliminado perfil: $nombre_perfil";
$this->actualizarHistorial($mensaje);
$lista = $this->listaPerfiles;
$this->listaPerfiles = null;
foreach($lista as $key => $value){
if($value != $id){
$this->listaPerfiles[$key] = $value;
}
}
}else{
return false;
}
}else{
return false;
}
$this->calculaAfinidad();
return true;
}
/**
* Calcula la afinidad del pedido con todos los candidatos del sistema.
* @param id - identificador del usuario.
@ -904,12 +992,12 @@ include_once("Automata.php");
$idiomasUsuario = $usuario->getidiomas();
$tecnologiasPedido = $this->getTecnologias();
$tecnologiasUsuario = $usuario->getTecnologias();
$perfilPedido = $this->getValor("perfil");
$perfilUsuario = $usuario->getPerfiles();
$perfilesPedido = $this->getPerfiles();
$perfilesUsuario = $usuario->getPerfiles();
$provinciasPedido = $this->getProvincias();
$provinciasDeseadas = $usuario->getProvinciasDeseadas();
$afinidad = new Afinidad($idiomasPedido, $idiomasUsuario, $tecnologiasPedido,
$tecnologiasUsuario, $perfilPedido, $perfilUsuario, $provinciasPedido, $provinciasDeseadas);
$tecnologiasUsuario, $perfilesPedido, $perfilesUsuario, $provinciasPedido, $provinciasDeseadas);
$afi = $afinidad->calculaAfinidad($pesoIdioma, $pesoPerfil, $pesoTecno);
if($afi >= 0){
$consulta = "INSERT INTO candidato_pedido (candidato, pedido, afinidad, estado, fecha) VALUES('$idUsuario', '$id', '$afi', '30', curdate())";

View File

@ -14,105 +14,128 @@ if(!$usuario->tieneRol("3")&&!$usuario->tieneRol("1")){
$errores = array();
// Todas las variables
$nombre=$_POST['nombre'];
$prioridad=$_POST['prioridad'];
$empleados=$_POST['empleados'];
$duracion=$_POST['duracion'];
$clientes=$_POST['clientes'];
$perfil=$_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'];
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'];
if($usuario->tieneRol("1")){
$gerente=$_POST['gerente'];
if($usuario->tieneRol("1")){
$gerente=$_POST['gerente'];
} else {
$gerente=$usuario->getValor("oid");
}
if($_POST['action']=="add"){
// Comprobamos campos obligatorios
if($nombre==""){
$errores[]= "1";
}
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");
}
}
}
} else {
$gerente=$usuario->getValor("oid");
}
if($_POST['action']=="add"){
// Comprobamos campos obligatorios
if($nombre==""){
$errores[]= "1";
}
if(($prioridad=="") ||($empleados=="") || ($duracion=="") || (!($empleados>0)) ||(!($duracion>0))){
$errores[]= "2";
}
if($gerente==""){
$errores[]= "3";
}
if($clientes==""){
$errores[]= "4";
}
if($perfil==""){
$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["perfil"]=$perfil;
$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);
$pedido->addTecnologias($tecnologias);
$pedido->addIdiomas($idiomas);
$pedido->addProvincias($provincias);
header("Location: pedido.php?idPedido=".$idPedido."&msg=1");
}
}
$nombre="";
$prioridad="";
$empleados="";
$duracion="";
$clientes="";
$perfiles=array();
$salario_min="";
$salario_max="";
$procedencia="";
$tecnologias=array();
$idiomas=array();
$provincias=array();
$observaciones="";
$pesoTec="";
$pesoIdi="";
$pesoPer="";
}
include("html/cabecera.php");
if($pesoTec=="") $pesoTec="40";
if($pesoIdi=="") $pesoIdi="10";
if($pesoPer=="") $pesoPer="50";
if ((isset($pesoTec)) && ($pesoTec=="")) $pesoTec="40";
if ((isset($pesoIdi)) && ($pesoIdi=="")) $pesoIdi="10";
if ((isset($pesoPer)) && ($pesoPer=="")) $pesoPer="50";
echo $html->menuPedidos($usuario,"");
echo "<h2>".$locale['1058']."</h2>";
if($msg!=""){
if (isset($msg) && ($msg != "")) {
echo "<div class=\"aviso ".$tipo."\">".$msg."</div>";
}
echo '<form method="POST" action="addPedido.php" name="form_registro" enctype="multipart/form-data">';
@ -148,8 +171,9 @@ echo ">".$locale['1504'];
rellena_desplegable_select_oid("clientes","clientes",$auxiliar,$clientes);
echo "</td><td";
if(in_array("5",$errores)) echo " class=\"errorcampo\"";
echo ">".$locale['121'];
rellena_desplegable_select_oid("perfil","perfil",$auxiliar,$perfil);
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");
echo "</td><td>".$locale['132'].": ".$locale['2100'];
echo "</td></tr>";

View File

@ -83,4 +83,4 @@ echo $html->menuPedidos($usuario,"");
</form>
<?php
include_once("html/pie.php");
?>
?>

View File

@ -674,7 +674,6 @@ CREATE TABLE `pedidos` (
`fecha` date NOT NULL,
`nombre` varchar(30) COLLATE latin1_spanish_ci NOT NULL,
`cliente` int(10) unsigned NOT NULL,
`perfil` int(10) unsigned NOT NULL,
`duracion` int(11) NOT NULL,
`empleados` tinyint(3) unsigned NOT NULL,
`observaciones` text COLLATE latin1_spanish_ci NOT NULL,
@ -691,14 +690,12 @@ CREATE TABLE `pedidos` (
`msgEstado` text COLLATE latin1_spanish_ci NOT NULL,
PRIMARY KEY (`oid`),
KEY `cliente` (`cliente`),
KEY `perfil` (`perfil`),
KEY `gerente` (`gerente`),
KEY `salario_min` (`salario_min`),
KEY `salario_max` (`salario_max`),
KEY `estado` (`estado`),
KEY `procedencia` (`procedencia`),
CONSTRAINT `pedidos_ibfk_1` FOREIGN KEY (`cliente`) REFERENCES `clientes` (`oid`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `pedidos_ibfk_29` FOREIGN KEY (`perfil`) REFERENCES `perfil` (`oid`) ON UPDATE CASCADE,
CONSTRAINT `pedidos_ibfk_30` FOREIGN KEY (`gerente`) REFERENCES `usuarios` (`oid`) ON UPDATE CASCADE,
CONSTRAINT `pedidos_ibfk_31` FOREIGN KEY (`estado`) REFERENCES `pedidos_estados` (`cod`),
CONSTRAINT `pedidos_ibfk_32` FOREIGN KEY (`procedencia`) REFERENCES `procedencia` (`num`) ON UPDATE CASCADE
@ -794,6 +791,23 @@ INSERT INTO `perfil` VALUES (1,'Administrador de Sistemas','ADMIN. SIST.'),(2,'A
/*!40000 ALTER TABLE `perfil` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `perfil_pedido`
--
DROP TABLE IF EXISTS `perfil_pedido`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `perfil_pedido` (
`perfil` int(10) unsigned NOT NULL,
`oid_i` varchar(8) COLLATE latin1_spanish_ci NOT NULL,
PRIMARY KEY (`perfil`,`oid_i`),
KEY `oid_i` (`oid_i`),
CONSTRAINT `perfil_pedido_ibfk_1` FOREIGN KEY (`perfil`) REFERENCES `perfil` (`oid`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `perfil_pedido_ibfk_2` FOREIGN KEY (`oid_i`) REFERENCES `pedidos` (`oid`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `perfil_usuario`
--

View File

@ -14,10 +14,15 @@ if(!$usuario->tieneRol("4")
include_once("Objects/Candidato.php");
try{
$persona=new Candidato($usuario,stripinput($_GET['oid']));
try {
$oid = "";
if (isset($_GET['oid'])) {
$oid = stripinput($_GET['oid']);
}
$persona = new Candidato($usuario, $oid);
$mensaje="";
$mensaje = "";
// Comprobamos mensajes que pueden llegar hasta aqui
switch ($_GET['msg']) {
case "1":$mensaje="<div class=\"aviso ok\">".$locale['1085']."</div>";

View File

@ -17,13 +17,16 @@ if(($pedido->getValor("gerente")!=$usuario->getValor("oid"))
// Comprobamos si estamos haciendo algo
$action="";
if($_POST['action']!=""){
$action=$_POST['action'];
} else {
if($_GET['action']!=""){
$action=$_GET['action'];
if (isset($_POST['action']) || isset($_GET['action'])) {
if (isset($_POST['action']) && ($_POST['action']!="")) {
$action = $_POST['action'];
} else {
if (isset($_GET['action']) && ($_GET['action']!="")) {
$action = $_GET['action'];
}
}
}
$errores = array();
$mensaje="";
@ -55,7 +58,6 @@ switch ($action) {
$pedido->setCampo("duracion",$_POST['duracion']);
$pedido->setCampo("gerente",$_POST['gerente']);
$pedido->setCampo("cliente",$_POST['clientes']);
$pedido->setCampo("perfil",$_POST['perfil']);
$pedido->setCampo("salario_min",$_POST['salario_min']);
$pedido->setCampo("salario_max",$_POST['salario_max']);
$pedido->setCampo("procedencia",$_POST['procedencia']);
@ -63,6 +65,7 @@ switch ($action) {
$pedido->setCampo("pesoPerfil",$pesoPer);
$pedido->setCampo("pesoTecno",$pesoTec);
$pedido->addPerfiles($_POST['perfil']);
$pedido->addTecnologias($_POST['tecnologia']);
$pedido->addIdiomas($_POST['idiomas']);
$pedido->addProvincias($_POST['provincias']);
@ -86,6 +89,10 @@ switch ($action) {
$pedido->removeProvincia($idAction);
$mensaje=$locale['1089'];
break;
case "dellPer": $idAction=$_GET['id'];
$pedido->removePerfil($idAction);
$mensaje=$locale['1090'];
break;
default:
break;
}
@ -121,8 +128,28 @@ echo "</td></tr>" .
" <tr><td>".$locale['1504'];
$auxiliar = '<option selected value="">'.$locale['ns'].'</option>';
rellena_desplegable_select_oid("clientes","clientes",$auxiliar,$pedido->getValor("cliente"));
echo "</td><td>".$locale['121'];
rellena_desplegable_select_oid("perfil","perfil",$auxiliar,$pedido->getValor("perfil"));
echo "</td><td>".$locale['121']."<br/>";
$perfiles=$pedido->getPerfiles();
$keyperfiles=array_values($perfiles);
// Mostramos la lista para borrar
if(count($perfiles)>0){
foreach ($perfiles as $nombre =>$valor) {
echo $nombre." <a href=\"gestion_pedido.php?idPedido=".$pedido->getValor("oid")."&action=dellPer&id=".$valor."\">Borrar</a><br />";
}
} else {
?>
<span class="errorcampo"><?php if($pedido->getValor("pesoPerfil") > 0) echo $locale['1097'];?></span><br />
<?php
}
echo $html->listaSelect("perfil","oid","id","perfil",array("",$locale['ns']),$keyperfiles,false,true,"15");
//rellena_desplegable_select_oid("perfil","perfil",$auxiliar,$pedido->getValor("perfil"));
echo "</td><td>".$locale['132'].$pedido->getValor("nombre_estado");
echo "</td></tr>";

View File

@ -23,15 +23,15 @@ echo "<h2>".$locale['1006']."</h2>";
// Recuperamos la lista de los pedidos
// Variables por si es una ordenacion
$order_by="";
if($_GET["order"]!=""){
if (isset($_GET["order"]) && ($_GET["order"]!="")) {
$order_by = " ORDER by ".stripinput($_GET["order"])." ".$_GET["modo"];
}
$modo = stripinput($_GET["modo"]);
if($_GET['byEstado']!=""){
$tipoPedidos=$_GET['byEstado'];
} else {
$tipoPedidos="10";
}
$modo = (isset($_GET["modo"])) ? stripinput($_GET["modo"]) : "";
$tipoPedidos = (isset($_GET["byEstado"]) && ($_GET['byEstado'] != "")) ? $_GET['byEstado'] : "10";
$listaPedidos=new ListaPedido($usuario,$order_by,"",$tipoPedidos);

View File

@ -3,7 +3,7 @@
include("seguridad.php");
include("functions.php");
$idPedido = stripinput($_GET["idPedido"]);
$idPedido = isset($_GET["idPedido"]) ? stripinput($_GET["idPedido"]) : "";
if(!isset($tabla)) $tabla = stripinput($_POST["tabla"]);
if(!isset($where)) $where = stripinput($_POST["where"]);
if(!isset($condicion)) $condicion = stripinput($_POST["condicion"]);

View File

@ -13,16 +13,22 @@ if(stripos($destinoURL,"?")>0){
}
// Comprobamos mensajes que pueden llegar hasta aqui
switch ($_GET['msg']) {
case "1":$mensaje="<div class=\"aviso ok\">".$locale['1059']."</div>";
break;
case "2":$mensaje="<div class=\"aviso error\">".$locale['1060']."</div>";
break;
default:
break;
if (isset($_GET['msg'])) {
switch ($_GET['msg']) {
case "1":$mensaje="<div class=\"aviso ok\">".$locale['1059']."</div>";
break;
case "2":$mensaje="<div class=\"aviso error\">".$locale['1060']."</div>";
break;
default:
break;
}
}
echo $mensaje;
if (isset($mensaje)) echo $mensaje;
if (!isset($variablesExtra)) $variablesExtra = "";
?>
<div style="float:left; padding-top:10px; border-top:1px solid #CCC; border-left:1px solid #CCC; border-right:1px solid #CCC;background-color:#F0F0F0">
<ul id="tabnav">
@ -155,7 +161,16 @@ if(count($listadePedidos)==0){
echo '<td align="center">'.$pedidoAct->getValor("nombre").'</td>';
echo '<td align="center">'.$pedidoAct->getValor("nombre_estado").'</td>';
echo '<td align="center">'.nombre_cliente($pedidoAct->getValor("cliente")).'</td>';
echo '<td align="center">'.nombre_perfil($pedidoAct->getValor("perfil")).'</td>';
echo '<td align="center">';
$perfiles=$pedidoAct->getPerfiles();
$keyperfiles=array_values($perfiles);
// Mostramos la lista para borrar
foreach ($perfiles as $nombre =>$valor) {
echo $nombre.", ";
}
echo '</td>';
echo '<td align="center">'.$pedidoAct->getValor("empleados").'</td>';
echo '<td align="center">'.$pedidoAct->dameNumCand("Aceptado").'</td>';
echo "</tr>";
@ -163,7 +178,7 @@ if(count($listadePedidos)==0){
// Comprobamos si tenemos que mostar una paginación
$numPaginas=ceil(count($listadePedidos)/constante("lista"));
echo "<td colspan=\"11\"><div id=\"cronopaginacion\">";
if($_GET["order"]!=""){
if (isset($_GET["order"]) && ($_GET["order"] != "")) {
if($variablesExtra!=""){
$variablesExtra="&".$variablesExtra;
}

View File

@ -31,14 +31,15 @@ $altoScroll=83/2 * $mostrarTabla;
include_once("Objects/HTML.php");
$html=new HTML($locale);
// Constantes para la p<>gina
if($_GET["pagAcept"]=="") $pagAcept="1"; else $pagAcept=$_GET['pagAcept'];
if($_GET["pagProp"]=="") $pagProp="1"; else $pagProp=$_GET['pagProp'];
if($_GET["pagRech"]=="") $pagRech="1"; else $pagRech=$_GET['pagRech'];
$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($_GET['msgSem']!=""){
$mensajeSemaforo=$semaforo->getMensaje($_GET['msgSem']);
if (isset($_GET["msgSem"]) && ($_GET["msgSem"]!="")) {
$mensajeSemaforo=$semaforo->getMensaje($_GET["msgSem"]);
echo "<div class=\"aviso semaforo\">".$mensajeSemaforo."</div>";
}
@ -54,25 +55,28 @@ if($pedido->getValor("estado")==40){
echo $html->menuPedidos($usuario,"");
// Comprobamos mensajes que pueden llegar hasta aqui
switch ($_GET['msg']) {
case "1":$mensaje="<div class=\"aviso ok\">".$locale['1061']."</div>";
break;
default:
break;
if (isset($_GET["msg"])) {
switch ($_GET['msg']) {
case "1": $mensaje="<div class=\"aviso ok\">".$locale['1061']."</div>";
break;
default:
break;
}
} else {
$mensaje = "";
}
?>
<link href="css/tablas.css" rel="stylesheet" type="text/css">
<h2><?php echo $pedido->getValor("nombre"); ?></h2>
<?php echo $mensaje;
// Comprobamos si tenemos que aceptar o rechazar un candidato
$action="";
if($_GET['action']!="") $action= $_GET['action'];
if($_POST['action']!="") $action= $_POST['action'];
if($action!=""){
$action = (isset($_GET['action']) && ($_GET['action']!="")) ? $_GET['action'] : "";
$action = (isset($_POST['action']) && ($_POST['action']!="")) ? $_POST['action'] : "";
if($action != "") {
$error=false;
$mensaje="";
switch ($action) {
@ -178,7 +182,23 @@ if($mensaje!=""){
<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 echo nombre_perfil($pedido->getValor("perfil"));?></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>
@ -377,7 +397,7 @@ if($mensaje!=""){
?>
</tbody>
</table>
<div id="cronopaginacion"><?php echo $html->paginacion($numPaginas,$pagAcept,"pedido.php","idPedido=".$pedido->getValor("oid"),"pagAcept"); ?></div>
<div id="cronopaginacion"><?php echo $html->paginacion($numPaginas, $pagAcept,"pedido.php","idPedido=".$pedido->getValor("oid"),"pagAcept"); ?></div>
</td>
</tr>
<tr>
@ -708,4 +728,4 @@ if($mensaje!=""){
</table>
<?php include_once("html/pie.php"); ?>
<?php include_once("html/pie.php"); ?>