]> git.llucax.com Git - mecon/yatta.git/blobdiff - lib/YATTA/Controlador.php
Saco las constantes del svn.
[mecon/yatta.git] / lib / YATTA / Controlador.php
index dbd5b16c156713571b38da396206712bebe448cf..5a76d87dd98e08e7a0cb41bab6dd81dac7263953 100644 (file)
@@ -28,7 +28,7 @@ require_once 'YATTA/Proceso.php';
 require_once 'YATTA/ProcesoDB.php';
 require_once 'YATTA/Servidor.php';
 
-define ('PATH_TACHO', '/var/www/yatta/tacho/');
+define ('PATH_TACHO', '/var/www/sistemas/yatta/tacho/');
 
 /**
  * Clase para el manejo centralizado de toda la informacion de YATTA.
@@ -59,11 +59,12 @@ class YATTA_Controlador {
  
     /**
      * Agrega un proceso a la base de datos
-     * Los datos a pasar son: 
+     * Recibe un array asociativo con:
      *  Obligatorios
      *   script     : Path completo para el require_once.
-     *   id_sistema : Identificador del sistema al que pertenece .
-     *   descripcion: Es lo que permite al usuario identificar al proecso.
+     *   id_sistema : Identificador del sistema al que pertenece. (Es el id que
+     *                asigna SAMURAI)
+     *   descripcion: Es lo que permite al usuario identificar al proceso.
      *   owner      : Login@Organismo de la persona responsable del proceso.
      *
      *  Opcionales
@@ -81,6 +82,7 @@ class YATTA_Controlador {
      *
      * @return mixed
      * @access public
+     * @static
      */
     function agregarProceso($db, $datos) {
         //XXX Dentro de los datos puede estar el tiempo estimado de ejecucion
@@ -94,7 +96,7 @@ class YATTA_Controlador {
         elseif (!is_array($datos)) {
             return new PEAR_Error ("Error con los datos pasados. El segundo".
                     " parametro debe ser un array asociativo o una instancia".
-                    " del objeto YATTA_Proceso.");
+                    " del objeto YATTA_ProcesoDB.");
         }
         $res = $this->_obtenerServidor($db);
 
@@ -251,6 +253,9 @@ class YATTA_Controlador {
             return $res;
         }
         $res = $res->fetchRow(DB_FETCHMODE_ASSOC);
+
+//@FIXME El email se lo envio al owner y a los destinos, o al owner solamente?
+        
         $dest = split (',', @$res['destinos']);
         $to = $owner.'.gov.ar';
         foreach ($dest as $d) {
@@ -259,7 +264,7 @@ class YATTA_Controlador {
         $headers = "From: Intranet - YATTA <intranet2@mecon.gov.ar>\r\n";
         $subject = "INTRANET - YATTA - Proceso Finalizado";
 
-        $body = "El proceso {$res['descripcion']} ha finalizado ".
+        $body = "El proceso {$res['descripcion']} ha finalizado ";
 
         switch ($status) {
             case 2:
@@ -301,5 +306,55 @@ class YATTA_Controlador {
         mail($to, $subject, $body, $headers);
     }
 
+    /**
+     * Verifica si un usuario tiene alguna informacion en la base de yatta para
+     * mostrarle el icono en la lista de sistemas de la intranet.
+     *
+     * @param DB $db Conexion a la base de datos.
+     * @param string $login Usuario que se esta verificando
+     *
+     * @return bool
+     * @access public
+     * @static
+     */
+    function visible($DB, $login) {
+        $res = $db->query('SELECT count (p.id) AS id FROM yatta.procesos AS p'.
+            ' WHERE (p.owner LIKE \'%'. $login .'%\') OR'.
+            ' (p.destinos LIKE \'%'. $login .'%\')');
+                
+        if (DB::isError($res)) {
+            return $res;
+        }
+        $res = $res->fetchRow(DB_FETCHMODE_ASSOC);
+
+        return $res['id'];
+    }
+
+    /**
+     * Busca los usuarios que tienen al menos una entrada en el mysql como
+     * owners.
+     *
+     * @param DB $db Conexion a la base de datos.
+     *
+     * @return mixed
+     * @access public
+     */
+    function obtenerListaOwners($db) {
+        return $db->query('SELECT DISTINCT p.owner AS owner
+                FROM yatta.procesos As p');
+    }
+
+    /**
+     * Obtiene las cuotas especiales de los usuarios.
+     *
+     * @param DB $db Conexion a la base de datos.
+     *
+     * @return mixed
+     * @access public
+     */
+    function obtenerListaCuotas($db) {
+        return $db->query('SELECT login, cuota
+                FROM yatta.cuotas');
+    }
 }
 ?>
\ No newline at end of file