]> git.llucax.com Git - mecon/ai.git/blobdiff - lib/AI/GrupoSecciones.php
Se hace required el sistema.
[mecon/ai.git] / lib / AI / GrupoSecciones.php
index 5914549768e53218991e2388e657588a92a6e404..c7d54d93d712844906c5b00e8356edce29fa2471 100644 (file)
@@ -1,5 +1,5 @@
 <?php
-// vim: set expandtab tabstop=4 shiftwidth=4:
+// vim: set expandtab tabstop=4 shiftwidth=4 binary:
 // +--------------------------------------------------------------------+
 // |                      Ministerio de Economía                        |
 // |                  AI (Administrador de Intranet)                    |
@@ -184,11 +184,12 @@ class AI_GrupoSecciones {
     // +X2C Operation 497
     /**
      * @param  DB $db DB donde guardar.
+     * @param  bool $nuevo Si es true, se fuerza a guardar el Grupo de Secciones como nuevo.
      *
      * @return PEAR_Error
      * @access public
      */
-    function guardar($db) // ~X2C
+    function guardar($db, $nuevo = false) // ~X2C
     {
         $grupo = intval($this->grupo);
         $where = '';
@@ -199,17 +200,19 @@ class AI_GrupoSecciones {
             'antiguedad'    => intval($this->antiguedad),
             'mostrar_hijos' => $this->mostrar_hijos ? 1 : 0,
         );
-        if ($grupo) {
+        if ($grupo and !$nuevo) {
             $accion = DB_AUTOQUERY_UPDATE;
             $where  = "grupo = $grupo";
         } else {
             $accion = DB_AUTOQUERY_INSERT;
-            $grupo  = $db->nextId('grupo_secciones');
-            if (DB::isError($grupo)) {
-                return $grupo;
+            // Si no tiene ID, le asigno uno nuevo.
+            if (!$grupo) {
+                $grupo = $db->nextId('grupo_secciones');
+                if (DB::isError($grupo)) {
+                    return $grupo;
+                }
+                $this->grupo = $grupo;
             }
-            // Asigno el nuevo id de grupo.
-            $this->grupo = $grupo;
             $datos['grupo'] = $grupo;
         }
         $res = $db->autoExecute('grupo_secciones', $datos, $accion, $where);
@@ -291,6 +294,32 @@ class AI_GrupoSecciones {
     }
     // -X2C
 
+    // +X2C Operation 512
+    /**
+     * Obtiene un array con una lista de secciones.
+     *
+     * @param  DB $db Base de datos a usar para obtener los datos.
+     *
+     * @return array
+     * @access public
+     * @static
+     */
+    function getSeccionesArray($db = null) // ~X2C
+    {
+               if ($db === null) {
+                       $db =& DB::connect('mysql://mark:mark@intranet-db.mecon.ar/MEconDAV',
+                               array('persistent' => true));
+               }
+               if (DB::isError($db)) {
+                       return $db;
+               }
+               return $db->getAssoc('
+            SELECT   S.section_id, S.description
+            FROM     MEconDAV.Sections as S
+            ORDER BY description');
+    }
+    // -X2C
+
     // +X2C Operation 500
     /**
      * @return GrupoSecciones