コード例 #1
0
 public function ingresoProyectos()
 {
     require_once 'lib/model/base/Proyecto.class.php';
     require_once 'lib/model/base/Usuario.class.php';
     require_once 'lib/model/base/Inbox.class.php';
     require_once 'lib/model/base/Moneda.class.php';
     require_once 'lib/model/base/AmbitoTematico.class.php';
     require_once 'lib/model/base/Accion.class.php';
     require_once 'lib/model/base/TipoMovimiento.class.php';
     $editable = isset($_REQUEST['editable']) ? $_REQUEST['editable'] : 1;
     $idProyecto = isset($_REQUEST['id_proyecto']) ? $_REQUEST['id_proyecto'] : null;
     $listaProyectoAmbito = null;
     $permisosUsuario = Usuario::getPermisos($_SESSION['usuario']);
     if (isset($_GET['tq'])) {
         $var = $_GET['tq'];
         if ($var == 'u') {
             $alertaSuccess = "El Proyecto ha sido actualizado!";
         } elseif ($var == 'i') {
             $alertaSuccess = "El Proyecto ha sido creado!";
         }
         $data['alertaSuccess'] = $alertaSuccess;
     }
     if ($idProyecto) {
         $bind = Proyecto::find($idProyecto);
         $proyecto = new Proyecto($bind);
         $proyecto->getFechasAvance();
         $listaProyectoAmbito = $proyecto->listaProyectoAmbito;
         $data['listaProyectoAmbito'] = $listaProyectoAmbito;
         $data['tieneMovimientos'] = $proyecto->tieneMovimientos();
     } else {
         $proyecto = new Proyecto();
     }
     if ($_POST) {
         $_POST['id_creador'] = $_SESSION['usuario'];
         $proyecto->setValores($_POST);
         $save = $proyecto->save();
         $idProyecto = $_POST['id_proyecto'] ? $_POST['id_proyecto'] : $save;
         //****
         if (isset($_POST['id_destinatario'])) {
             if (isset($_POST['id_inbox'])) {
                 $bind = Inbox::find($_POST['id_inbox']);
                 $inbox = new Inbox($bind);
             } else {
                 $inbox = new Inbox();
             }
             $inbox->idProyecto = $idProyecto;
             $inbox->fechaDespacho = date('Y-m-d');
             $inbox->idEmisor = $_SESSION['usuario'];
             $inbox->idDestinatario = $_POST['id_destinatario'];
             if (isset($_POST['id_accion'])) {
                 $inbox->idAccion = $_POST['id_accion'];
             }
             $inbox->save();
         }
         //**
         if ($save) {
             if (isset($_POST['id_proyecto']) && $_POST['id_proyecto'] != "") {
                 $tipoQuery = "u";
             } else {
                 $tipoQuery = "i";
             }
             header("Location: frontend.php?accion=ingresoProyectos&id_proyecto={$idProyecto}&tq={$tipoQuery}&ib=" . $_POST['id_inbox']);
             die;
         }
     } else {
         $idInbox = isset($_GET['ib']) ? $_GET['ib'] : null;
         $data['idInbox'] = $idInbox;
         if ($idInbox) {
             $bind = Inbox::find($idInbox);
             $inbox = new Inbox($bind);
             if (isset($inbox->idAccion)) {
                 $bindAccion = Accion::find($inbox->idAccion);
                 $accion = new Accion($bindAccion);
                 $data['accionUsuario'] = $accion->idAccion;
                 if (in_array($accion->idAccion, $permisosUsuario)) {
                     $data['permiso'] = true;
                 } else {
                     $data['permiso'] = false;
                     $data['alerta'] = "No posee los privilegios para la acción que desea realizar, favor ponerse en contacto con el administrador.";
                 }
                 $data['accionUsuarioPregunta'] = isset($accion->pregunta) ? utf8_encode($accion->pregunta) : null;
                 $data['lblAccion'] = $accion->nombre;
                 $data['accionEstadoFinal'] = $accion->idEstadoFinal;
             }
             if (!isset($inbox->fechaRecepcion) || $inbox->fechaRecepcion == "0000-00-00") {
                 $inbox->fechaRecepcion = date('Y-m-d');
                 $inbox->save();
             }
         } else {
             $data['accionUsuario'] = Accion::CREAR;
             if (in_array(Accion::CREAR, $permisosUsuario) || isset($idProyecto)) {
                 $data['permiso'] = true;
             } else {
                 $data['permiso'] = false;
                 $data['alerta'] = "No posee los privilegios para crear un proyecto, favor ponerse en contacto con el administrador.";
             }
         }
     }
     $data['listaUsuarios'] = Usuario::getListaUsuarios();
     $data['listaMoneda'] = Moneda::getListaMonedas();
     $data['listaAmbitosTematicos'] = AmbitoTematico::getListaAmbitosTematicos();
     $data['proyecto'] = $proyecto;
     $data['listaTipoMovimiento'] = TipoMovimiento::getListTipoMovimiento();
     $data['editable'] = $editable;
     $this->pintar("ingresoProyectos.php", $data);
 }