]> git.llucax.com Git - mecon/yatta.git/blobdiff - lib/YATTA/ProcesoDB.php
BugFix.
[mecon/yatta.git] / lib / YATTA / ProcesoDB.php
index 962cd80073f8c72ec3d95da82b54bf232df857ae..3f7b51a317f4634c92ab8e7f44712a0189fa148c 100644 (file)
@@ -188,6 +188,14 @@ class YATTA_ProcesoDB extends MECON_DBO {
      * @access public
      */
     var $icono = null;
+
+    /**
+     * Indica si el proceso esta activo (No fue borrado por el usuario).
+     *
+     * @var    int $activo
+     * @access public
+     */
+    var $activo = null;
     
     /**
      * Carga el objeto con los datos que se pasan por parametro.
@@ -228,6 +236,7 @@ class YATTA_ProcesoDB extends MECON_DBO {
             $this->archivo          = $res['archivo'];
             $this->nota             = $res['nota'];
             $this->icono            = $res['icono'];
+            $this->activo           = $res['activo'];
             return true;
         }
         return false; 
@@ -243,7 +252,25 @@ class YATTA_ProcesoDB extends MECON_DBO {
      */
     function borrar($db = null)
     {
-        trigger_error('Not implemented!', E_USER_WARNING); 
+        if (!is_null($this->id)) {
+            $res = $this->buscar($db);
+            if (DB::isError($res)) {
+                return $res;
+            }
+            $this->cargar($res);
+
+            if (is_null($this->archivo) || is_null($this->resultado)) {
+                return $db->query('DELETE FROM yatta.procesos WHERE id = '.
+                        $this->id);
+            }
+            else {
+                return $db->query ('UPDATE yatta.procesos SET activo = 0'.
+                        ' WHERE id = '. $this->id);
+            }
+        }
+        else {
+            return new PEAR_Error('Debe definirse el id del proceso a borrar.');
+        }
     }
 
     /**
@@ -322,6 +349,9 @@ class YATTA_ProcesoDB extends MECON_DBO {
         if (!is_null($this->nota)) {
             $where[] = 'p.nota LIKE '. $db->quote("%$this->nota%");
         } 
+        if (!is_null($this->activo)) {
+            $where[] = 'p.activo =  '. $this->activo;
+        } 
         if ($where) {
             $where = 'WHERE p.owner = '. $db->quote("$this->owner").
                 'AND p.id_sistema = s.id_sistema AND ('. join ("$operador
@@ -368,7 +398,7 @@ class YATTA_ProcesoDB extends MECON_DBO {
                 ")".
                 ")".
                 ")".
-                ") AS icono               
+                ") AS icono, p.activo AS activo 
                 FROM yatta.procesos AS p, samurai.sistema AS s
                 $where
                 $orden");
@@ -415,6 +445,7 @@ class YATTA_ProcesoDB extends MECON_DBO {
         $this->archivo = null;
         $this->nota = null;
         $this->icono = null;
+        $this->activo = null;
     }
     
     /**
@@ -434,6 +465,7 @@ class YATTA_ProcesoDB extends MECON_DBO {
                         'scheduling'    => $this->scheduling,
                         'notificar'     => $this->notificar,
                         'resultado'     => $this->resultado,
+                        'activo'        => $this->activo,
                 );
     }
 }