]> git.llucax.com Git - mecon/ai.git/commitdiff
Grupo de noticias:
authorLeandro Lucarella <llucax@gmail.com>
Fri, 19 Sep 2003 17:17:19 +0000 (17:17 +0000)
committerLeandro Lucarella <llucax@gmail.com>
Fri, 19 Sep 2003 17:17:19 +0000 (17:17 +0000)
- Ahora una sección puede pertenecer sólo a un grupo.
- Al agregar un grupo se muestran sólo las secciones que todavía no están
  en ningún grupo. Al modificar se muestran las que no están en ningún
  grupo más las que están en el grupo a modificar.
Arbol:
- Se arreglan los árboles para que funcione con la última versión.
- Los árboles aparecen sin expandir en el menú y expandido en los select
  para elegir el padre.

TODO
doc/local_lib/uml.xmi
doc/uml.xmi
lib/AI/GrupoSecciones.php
sistema/local_lib/AI/Arbol.php
sistema/local_lib/AI/DB.php
sistema/local_lib/AI/Form.php
sistema/www/index.php
sql/grupo_secciones_seccion.sql

diff --git a/TODO b/TODO
index 93b6bbcedcd667f91d5833feb904bfa1012ee23f..c08185b59a38e8037d3d63eba14339153e7ef3e3 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,5 +1,5 @@
 $Id$
 
-- Ver que se hace con sistemas borrados de SAMURAI con baja lógica.
-- Resolver tema de JOIN con SAMURAI.
+- Ver que se hace con sistemas borrados de SAMURAI con baja lógica. No se
+  muestran en AI y quedan como 'basura'.
 
index 9b4ab1951394a08b71b2691699b9253e95f8259f..48a487474eef22f6686c1565343070a9ef015470 100644 (file)
@@ -6,7 +6,7 @@
    <XMI.exporterVersion>1.1.5</XMI.exporterVersion>
    <XMI.exporterEncoding>UnicodeUTF8</XMI.exporterEncoding>
   </XMI.documentation>
-  <XMI.model xmi.name="uml" href="/home/martin/mecon/proyectos/ai/doc/local_lib/uml.xmi" />
+  <XMI.model xmi.name="uml" href="/home/luca/public_html/ai/doc/local_lib/uml.xmi" />
   <XMI.metamodel xmi.name="UML" href="UML.xml" xmi.version="1.3" />
  </XMI.header>
  <XMI.content>
@@ -22,8 +22,7 @@
     <UML:Operation stereotype="" package="" xmi.id="509" type="void" abstract="0" documentation="Construye un formulario para el objecto especificado." name="iniciar" static="0" scope="200" >
      <UML:Parameter stereotype="" package="" xmi.id="4" value="" type="&amp;object" abstract="0" documentation="Objeto con el cual rellenar el formulario. Puede ser GrupoSecciones, Servicio o Sistema." name="obj" static="0" scope="200" />
      <UML:Parameter stereotype="" package="" xmi.id="5" value="" type="int" abstract="0" documentation="Accion que realizará el formulario a crear. Puede ser AI_ALTA, AI_BAJA o AI_MODIFICACION." name="accion" static="0" scope="200" />
-     <UML:Parameter stereotype="" package="" xmi.id="6" value="" type="MECON_HTML_Arbol" abstract="0" documentation="Árbol de donde sacar los padres." name="arbol" static="0" scope="200" />
-     <UML:Parameter stereotype="" package="" xmi.id="7" value="" type="DB" abstract="0" documentation="Base de datos." name="db" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="8" value="" type="DB" abstract="0" documentation="Base de datos a usar." name="db" static="0" scope="201" />
     </UML:Operation>
     <UML:Operation stereotype="" package="" xmi.id="510" type="void" abstract="0" documentation="Llena un objeto con los datos del formulario." name="llenarObjeto" static="0" scope="200" >
      <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&amp;mixed" abstract="0" documentation="Objeto a llenar con los datos del formulario. Puede ser GrupoSecciones, Servicio o Sistema." name="obj" static="0" scope="200" />
@@ -44,6 +43,7 @@ x2c:noclass" name="general" static="0" scope="200" >
     <UML:Operation stereotype="" package="" xmi.id="536" type="void" abstract="0" documentation="Constructor." name="AI_Arbol" static="0" scope="200" >
      <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="mixed" abstract="0" documentation="Objeto del cual generar el árbol. Puede ser AI_GrupoSecciones, AI_Servicio o AI_Sistema." name="objeto" static="0" scope="200" />
      <UML:Parameter stereotype="" package="" xmi.id="3" value="" type="&amp;DB" abstract="0" documentation="Base de datos de donde sacar los datos para el árbol." name="db" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="4" value="true" type="bool" abstract="0" documentation="Indica si debe expandirse el árbol." name="expandir" static="0" scope="201" />
     </UML:Operation>
    </UML:Class>
    <UML:Association nameb="" stereotype="" visibilitya="200" visibilityb="200" assoctype="500" rolea="507" roleb="508" multia="" doca="" multib="" docb="" package="" xmi.id="-1" abstract="0" documentation="" name="" static="0" scope="200" changeabilitya="900" changeabilityb="900" namea="" />
@@ -51,51 +51,51 @@ x2c:noclass" name="general" static="0" scope="200" >
    <UML:Association nameb="" stereotype="" visibilitya="200" visibilityb="200" assoctype="500" rolea="535" roleb="534" multia="" doca="" multib="" docb="" package="" xmi.id="-1" abstract="0" documentation="" name="" static="0" scope="200" changeabilitya="900" changeabilityb="900" namea="" />
   </umlobjects>
   <diagrams>
-   <diagram snapgrid="0" showattsig="1" fillcolor="#ffffc0" zoom="100" showgrid="1" showopsig="1" usefillcolor="1" snapx="10" canvaswidth="771" snapy="10" showatts="1" xmi.id="412" documentation="" type="402" showops="1" showpackage="0" name="Clases" localid="30000" showstereotype="0" showscope="1" snapcsgrid="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" linecolor="#ff0000" canvasheight="626" >
+   <diagram snapgrid="1" showattsig="1" fillcolor="#ffffc0" zoom="100" showgrid="1" showopsig="1" usefillcolor="1" snapx="10" canvaswidth="733" snapy="10" showatts="1" xmi.id="412" documentation="" type="402" showops="1" showpackage="0" name="Clases" localid="30000" showstereotype="0" showscope="1" snapcsgrid="0" font="Helvetica,12,-1,5,48,0,0,0,0,0" linecolor="#ff0000" canvasheight="619" >
     <widgets>
-     <UML:ClassWidget usesdiagramfillcolour="0" width="195" showattsigs="601" usesdiagramusefillcolour="0" x="20" linecolour="#ff0000" y="109" showopsigs="601" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="35" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="503" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
-     <UML:ClassWidget usesdiagramfillcolour="0" width="35" showattsigs="601" usesdiagramusefillcolour="0" x="98" linecolour="#ff0000" y="26" showopsigs="601" instancename="" usesdiagramlinecolour="0" fillcolour="#dcdcdc" height="24" usefillcolor="1" showattributes="0" isinstance="0" xmi.id="504" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
-     <UML:ClassWidget usesdiagramfillcolour="0" width="382" showattsigs="601" usesdiagramusefillcolour="0" x="263" linecolour="#ff0000" y="96" showopsigs="601" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="49" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="507" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
-     <UML:ClassWidget usesdiagramfillcolour="0" width="144" showattsigs="601" usesdiagramusefillcolour="0" x="378" linecolour="#ff0000" y="30" showopsigs="601" instancename="" usesdiagramlinecolour="0" fillcolour="#dcdcdc" height="24" usefillcolor="1" showattributes="0" isinstance="0" xmi.id="508" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
-     <UML:ClassWidget usesdiagramfillcolour="0" width="374" showattsigs="601" usesdiagramusefillcolour="0" x="211" linecolour="#ff0000" y="170" showopsigs="601" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="35" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="532" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
-     <UML:ClassWidget usesdiagramfillcolour="0" width="132" showattsigs="601" usesdiagramusefillcolour="0" x="50" linecolour="#ff0000" y="177" showopsigs="601" instancename="" usesdiagramlinecolour="0" fillcolour="#dcdcdc" height="24" usefillcolor="1" showattributes="0" isinstance="0" xmi.id="534" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
-     <UML:ClassWidget usesdiagramfillcolour="0" width="212" showattsigs="601" usesdiagramusefillcolour="0" x="20" linecolour="#ff0000" y="240" showopsigs="601" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="35" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="535" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
+     <UML:ClassWidget usesdiagramfillcolour="0" width="194" showattsigs="601" usesdiagramusefillcolour="0" x="20" linecolour="#ff0000" y="100" showopsigs="601" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="32" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="503" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
+     <UML:ClassWidget usesdiagramfillcolour="0" width="35" showattsigs="601" usesdiagramusefillcolour="0" x="100" linecolour="#ff0000" y="20" showopsigs="601" instancename="" usesdiagramlinecolour="0" fillcolour="#dcdcdc" height="23" usefillcolor="1" showattributes="0" isinstance="0" xmi.id="504" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
+     <UML:ClassWidget usesdiagramfillcolour="0" width="238" showattsigs="601" usesdiagramusefillcolour="0" x="370" linecolour="#ff0000" y="100" showopsigs="601" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="45" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="507" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
+     <UML:ClassWidget usesdiagramfillcolour="0" width="144" showattsigs="601" usesdiagramusefillcolour="0" x="410" linecolour="#ff0000" y="20" showopsigs="601" instancename="" usesdiagramlinecolour="0" fillcolour="#dcdcdc" height="23" usefillcolor="1" showattributes="0" isinstance="0" xmi.id="508" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
+     <UML:ClassWidget usesdiagramfillcolour="0" width="373" showattsigs="601" usesdiagramusefillcolour="0" x="290" linecolour="#ff0000" y="170" showopsigs="601" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="32" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="532" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
+     <UML:ClassWidget usesdiagramfillcolour="0" width="132" showattsigs="601" usesdiagramusefillcolour="0" x="110" linecolour="#ff0000" y="170" showopsigs="601" instancename="" usesdiagramlinecolour="0" fillcolour="#dcdcdc" height="23" usefillcolor="1" showattributes="0" isinstance="0" xmi.id="534" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
+     <UML:ClassWidget usesdiagramfillcolour="0" width="315" showattsigs="601" usesdiagramusefillcolour="0" x="20" linecolour="#ff0000" y="240" showopsigs="601" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="32" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="535" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
     </widgets>
     <messages/>
     <associations>
      <UML:AssocWidget totalcounta="2" indexa="1" visibilityB="200" totalcountb="2" indexb="1" widgetbid="508" roleBdoc="" widgetaid="507" roleAdoc="" documentation="" type="500" changeabilityA="900" changeabilityB="900" visibilityA="200" >
-      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="16" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="703" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,0,50,0,0,0,0,0" />
-      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="11" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="711" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,0,50,0,0,0,0,0" />
-      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="21" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="712" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,0,50,0,0,0,0,0" />
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="30" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="703" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,0,50,0,0,0,0,0" />
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="20" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="711" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,0,50,0,0,0,0,0" />
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="20" linecolour="none" y="-10" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="712" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,0,50,0,0,0,0,0" />
       <linepath>
-       <startpoint startx="454" starty="96" />
-       <endpoint endx="450" endy="54" />
+       <startpoint startx="489" starty="100" />
+       <endpoint endx="482" endy="43" />
       </linepath>
      </UML:AssocWidget>
      <UML:AssocWidget totalcounta="2" indexa="1" visibilityB="200" totalcountb="2" indexb="1" widgetbid="504" roleBdoc="" widgetaid="503" roleAdoc="" documentation="" type="500" changeabilityA="900" changeabilityB="900" visibilityA="200" >
-      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="7" linecolour="none" y="4" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="703" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,0,50,0,0,0,0,0" />
-      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="711" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,0,50,0,0,0,0,0" />
-      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="13" linecolour="none" y="8" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="712" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,0,50,0,0,0,0,0" />
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="10" linecolour="none" y="10" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="703" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,0,50,0,0,0,0,0" />
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="-10" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="711" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,0,50,0,0,0,0,0" />
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="10" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="712" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,0,50,0,0,0,0,0" />
       <linepath>
-       <startpoint startx="117" starty="109" />
-       <endpoint endx="115" endy="50" />
+       <startpoint startx="117" starty="100" />
+       <endpoint endx="117" endy="43" />
       </linepath>
      </UML:AssocWidget>
      <UML:AssocWidget totalcounta="2" indexa="1" visibilityB="200" totalcountb="2" indexb="1" widgetbid="534" roleBdoc="" widgetaid="535" roleAdoc="" documentation="" type="500" changeabilityA="900" changeabilityB="900" visibilityA="200" >
-      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="-7" linecolour="none" y="3" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="703" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,0,50,0,0,0,0,0" />
-      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="-12" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="711" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,0,50,0,0,0,0,0" />
-      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="-3" linecolour="none" y="7" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="712" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,0,50,0,0,0,0,0" />
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="60" linecolour="none" y="20" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="703" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,0,50,0,0,0,0,0" />
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="40" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="711" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,0,50,0,0,0,0,0" />
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="60" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="712" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,0,50,0,0,0,0,0" />
       <linepath>
-       <startpoint startx="126" starty="240" />
-       <endpoint endx="116" endy="201" />
+       <startpoint startx="177" starty="240" />
+       <endpoint endx="176" endy="193" />
       </linepath>
      </UML:AssocWidget>
     </associations>
    </diagram>
   </diagrams>
   <listview>
-   <listitem open="1" type="800" id="-1" label="Views" >
-    <listitem open="1" type="801" id="-1" label="Logical View" >
+   <listitem open="1" type="800" id="-1" label="Vistas" >
+    <listitem open="1" type="801" id="-1" label="Vista lógica" >
      <listitem open="1" type="803" id="-1" label="AI Local" >
       <listitem open="0" type="813" id="535" label="AI_Arbol" >
        <listitem open="0" type="815" id="536" label="AI_Arbol" />
@@ -118,7 +118,7 @@ x2c:noclass" name="general" static="0" scope="200" >
      </listitem>
      <listitem open="0" type="807" id="412" label="Clases" />
     </listitem>
-    <listitem open="1" type="802" id="-1" label="Use Case View" />
+    <listitem open="1" type="802" id="-1" label="Vista de caso de uso" />
     <listitem open="1" type="821" id="-1" label="Component View" />
     <listitem open="0" type="823" id="-1" label="Diagrams" />
     <listitem open="1" type="827" id="-1" label="Deployment View" />
index effbf5e45e75306ecfe8bbee0d19066f66649af7..d6351ef12c314e066a9d433c2d9f554e26d12acb 100644 (file)
@@ -4,12 +4,13 @@
   <XMI.documentation>
    <XMI.exporter>umbrello uml modeller http://uml.sf.net</XMI.exporter>
    <XMI.exporterVersion>1.1.5</XMI.exporterVersion>
+   <XMI.exporterEncoding>UnicodeUTF8</XMI.exporterEncoding>
   </XMI.documentation>
   <XMI.model xmi.name="uml" href="/home/luca/public_html/ai/doc/uml.xmi" />
   <XMI.metamodel xmi.name="UML" href="UML.xml" xmi.version="1.3" />
  </XMI.header>
  <XMI.content>
-  <docsettings viewid="412" documentation="" uniqueid="536" />
+  <docsettings viewid="412" documentation="" uniqueid="537" />
   <umlobjects>
    <UML:Class stereotype="" package="AI" xmi.id="413" abstract="0" documentation="Servicio." name="AI_Servicio" static="0" scope="200" >
     <UML:Operation stereotype="" package="" xmi.id="465" type="void" abstract="0" documentation="" name="AI_Servicio" static="0" scope="200" >
@@ -22,8 +23,8 @@
     <UML:Attribute stereotype="" package="" xmi.id="428" value="0" type="int" abstract="0" documentation="ID del servicio." name="servicio" static="0" scope="200" />
     <UML:Attribute stereotype="" package="" xmi.id="452" value="0" type="int" abstract="0" documentation="" name="servicio_padre" static="0" scope="200" />
     <UML:Attribute stereotype="" package="" xmi.id="429" value="''" type="string" abstract="0" documentation="Nombre del servicio." name="nombre" static="0" scope="200" />
-    <UML:Attribute stereotype="" package="" xmi.id="433" value="''" type="string" abstract="0" documentation="Descripción del servicio." name="descripcion" static="0" scope="200" />
-    <UML:Attribute stereotype="" package="" xmi.id="430" value="''" type="string" abstract="0" documentation="Ícono del servicio." name="icono" static="0" scope="200" />
+    <UML:Attribute stereotype="" package="" xmi.id="433" value="''" type="string" abstract="0" documentation="Descripción del servicio." name="descripcion" static="0" scope="200" />
+    <UML:Attribute stereotype="" package="" xmi.id="430" value="''" type="string" abstract="0" documentation="Ícono del servicio." name="icono" static="0" scope="200" />
     <UML:Attribute stereotype="" package="" xmi.id="431" value="''" type="string" abstract="0" documentation="Enlace a donde el este servicio." name="link" static="0" scope="200" />
     <UML:Attribute stereotype="" package="" xmi.id="432" value="''" type="string" abstract="0" documentation="Enlace a donde se encuentra la ayuda del servicio." name="link_ayuda" static="0" scope="200" />
     <UML:Attribute stereotype="" package="" xmi.id="434" value="false" type="bool" abstract="0" documentation="True si es necesario que el usuario se loguee para usar el servicio." name="necesita_logueo" static="0" scope="200" />
     </UML:Operation>
     <UML:Operation stereotype="" package="" xmi.id="531" type="array" abstract="0" documentation="" name="getSistemas" static="1" scope="200" >
      <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="DB" abstract="0" documentation="Base de datos de donde obtener los sistemas." name="db" static="0" scope="200" />
-     <UML:Parameter stereotype="" package="" xmi.id="2" value="true" type="bool" abstract="0" documentation="Clausula WHERE para filtrar la búsqueda." name="soloHabilitados" static="0" scope="200" />
-     <UML:Parameter stereotype="" package="" xmi.id="3" value="''" type="string" abstract="0" documentation="Clausula WHERE para filtrar la búsqueda." name="where" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="2" value="true" type="bool" abstract="0" documentation="Clausula WHERE para filtrar la búsqueda." name="soloHabilitados" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="3" value="''" type="string" abstract="0" documentation="Clausula WHERE para filtrar la búsqueda." name="where" static="0" scope="200" />
     </UML:Operation>
     <UML:Operation stereotype="" package="" xmi.id="528" type="array" abstract="0" documentation="Obtiene un array con los identificadores de los sistemas cargados." name="getSistemasArray" static="1" scope="200" >
      <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="DB" abstract="0" documentation="Base de datos de la cual obtener los sistemas." name="db" static="0" scope="200" />
-     <UML:Parameter stereotype="" package="" xmi.id="3" value="''" type="string" abstract="0" documentation="Clausula WHERE para filtrar la búsqueda." name="where" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="3" value="''" type="string" abstract="0" documentation="Clausula WHERE para filtrar la búsqueda." name="where" static="0" scope="200" />
     </UML:Operation>
     <UML:Attribute stereotype="" package="" xmi.id="437" value="0" type="int" abstract="0" documentation="ID del sistema (ID en SAMURAI)." name="sistema" static="0" scope="200" />
-    <UML:Attribute stereotype="" package="" xmi.id="513" value="''" type="string" abstract="0" documentation="Nombre del sistema (sólo de lectura, extraído de SAMURAI)." name="nombre" static="0" scope="200" />
-    <UML:Attribute stereotype="" package="" xmi.id="514" value="''" type="string" abstract="0" documentation="Descripción del sistema (sólo de lectura, extraído de SAMURAI)." name="descripcion" static="0" scope="200" />
-    <UML:Attribute stereotype="" package="" xmi.id="438" value="''" type="string" abstract="0" documentation="Ícono del sistema." name="icono" static="0" scope="200" />
+    <UML:Attribute stereotype="" package="" xmi.id="513" value="''" type="string" abstract="0" documentation="Nombre del sistema (sólo de lectura, extraído de SAMURAI)." name="nombre" static="0" scope="200" />
+    <UML:Attribute stereotype="" package="" xmi.id="514" value="''" type="string" abstract="0" documentation="Descripción del sistema (sólo de lectura, extraído de SAMURAI)." name="descripcion" static="0" scope="200" />
+    <UML:Attribute stereotype="" package="" xmi.id="438" value="''" type="string" abstract="0" documentation="Ícono del sistema." name="icono" static="0" scope="200" />
     <UML:Attribute stereotype="" package="" xmi.id="439" value="''" type="string" abstract="0" documentation="Enlace a donde se encuentra el sistema." name="link" static="0" scope="200" />
     <UML:Attribute stereotype="" package="" xmi.id="440" value="''" type="string" abstract="0" documentation="Enlace a la ayuda del sistema." name="link_ayuda" static="0" scope="200" />
     <UML:Attribute stereotype="" package="" xmi.id="533" value="true" type="bool" abstract="0" documentation="Indica si esta habilitado." name="habilitado" static="0" scope="200" />
    </UML:Class>
    <UML:Class stereotype="" package="AI" xmi.id="469" abstract="0" documentation="" name="AI_Error" static="0" scope="200" >
     <UML:Operation stereotype="" package="" xmi.id="470" type="void" abstract="0" documentation="" name="AI_Error" static="0" scope="200" >
-     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="int" abstract="0" documentation="Código de error." name="codigo" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="int" abstract="0" documentation="Código de error." name="codigo" static="0" scope="200" />
      <UML:Parameter stereotype="" package="" xmi.id="2" value="''" type="string" abstract="0" documentation="Mensaje para mostrar" name="mensaje" static="0" scope="200" />
     </UML:Operation>
     <UML:Operation stereotype="" package="" xmi.id="530" type="bool" abstract="0" documentation="" name="isError" static="1" scope="200" >
@@ -82,21 +83,27 @@ x2c:include: PEAR.php" name="PEAR_Error" static="0" scope="200" />
     <UML:Operation stereotype="" package="" xmi.id="498" type="PEAR_Error" abstract="0" documentation="" name="borrar" static="0" scope="200" >
      <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="DB" abstract="0" documentation="DB de donde borrar." name="db" static="0" scope="200" />
     </UML:Operation>
-    <UML:Operation stereotype="" package="" xmi.id="512" type="array" abstract="0" documentation="Obtiene un array con una lista de secciones." name="getSeccionesArray" static="1" scope="200" >
+    <UML:Operation stereotype="" package="" xmi.id="512" type="array" abstract="0" documentation="Obtiene un array con una lista de secciones.
+Sólo se obtienen las secciones que todavía no pertenecen a ningún grupo. Si se especifica un grupo, se agregan las secciones de ese grupo al &lt;em>array&lt;/em> resultante." name="getSeccionesArray" static="1" scope="200" >
      <UML:Parameter stereotype="" package="" xmi.id="1" value="null" type="DB" abstract="0" documentation="Base de datos a usar para obtener los datos." name="db" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="2" value="0" type="int" abstract="0" documentation="Grupo del cual obtener las secciones." name="grupo" static="0" scope="201" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="537" type="AI_GrupoSecciones" abstract="0" documentation="Obtiene el grupo al que pertenece una sección." name="getGrupo" static="1" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="int" abstract="0" documentation="Sección a buscar." name="seccion" static="0" scope="201" />
+     <UML:Parameter stereotype="" package="" xmi.id="2" value="null" type="DB" abstract="0" documentation="DB a usar." name="db" static="0" scope="201" />
     </UML:Operation>
     <UML:Attribute stereotype="" package="" xmi.id="487" value="0" type="int" abstract="0" documentation="ID del grupo de secciones." name="grupo" static="0" scope="200" />
     <UML:Attribute stereotype="" package="" xmi.id="488" value="''" type="string" abstract="0" documentation="Nombre." name="nombre" static="0" scope="200" />
     <UML:Attribute stereotype="" package="" xmi.id="489" value="0" type="int" abstract="0" documentation="" name="grupo_padre" static="0" scope="200" />
     <UML:Attribute stereotype="" package="" xmi.id="491" value="array()" type="array" abstract="0" documentation="Secciones que pertenecen a este grupo." name="secciones" static="0" scope="200" />
-    <UML:Attribute stereotype="" package="" xmi.id="492" value="0" type="int" abstract="0" documentation="Antigüedad (en días) de las noticias a mostrar." name="antiguedad" static="0" scope="200" />
+    <UML:Attribute stereotype="" package="" xmi.id="492" value="0" type="int" abstract="0" documentation="Antigüedad (en días) de las noticias a mostrar." name="antiguedad" static="0" scope="200" />
     <UML:Attribute stereotype="" package="" xmi.id="493" value="false" type="bool" abstract="0" documentation="True si hay que mostrar los grupos hijos (?? FIXME)." name="mostrar_hijos" static="0" scope="200" />
     <UML:Attribute stereotype="" package="" xmi.id="535" value="true" type="bool" abstract="0" documentation="Indica si esta habilitado." name="habilitado" static="0" scope="200" />
    </UML:Class>
    <UML:Class stereotype="" package="AI" xmi.id="516" abstract="1" documentation="Objecto con capacidad de guardarse, cargarse y borrarse de una base de datos." name="AI_DBObject" static="0" scope="200" >
     <UML:Operation stereotype="" package="" xmi.id="519" type="void" abstract="0" documentation="" name="AI_DBObject" static="0" scope="200" >
      <UML:Parameter stereotype="" package="" xmi.id="1" value="0" type="int" abstract="0" documentation="Identificador del objeto a cargar." name="id" static="0" scope="200" />
-     <UML:Parameter stereotype="" package="" xmi.id="2" value="''" type="string" abstract="0" documentation="Archivo de configuración del objeto." name="confFile" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="2" value="''" type="string" abstract="0" documentation="Archivo de configuración del objeto." name="confFile" static="0" scope="200" />
     </UML:Operation>
     <UML:Operation stereotype="" package="" xmi.id="520" type="PEAR_Error" abstract="0" documentation="" name="cargar" static="0" scope="200" >
      <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="mixed" abstract="0" documentation="Base de datos o resultado a usar para cargar el objeto." name="db" static="0" scope="200" />
@@ -115,7 +122,7 @@ x2c:include: PEAR.php" name="PEAR_Error" static="0" scope="200" />
    <UML:Class stereotype="" package="AI" xmi.id="524" abstract="1" documentation="" name="AI_DBTreeObject" static="0" scope="200" >
     <UML:Operation stereotype="" package="" xmi.id="526" type="void" abstract="0" documentation="" name="AI_DBTreeObject" static="0" scope="200" >
      <UML:Parameter stereotype="" package="" xmi.id="1" value="0" type="int" abstract="0" documentation="Identificador del objecto." name="id" static="0" scope="200" />
-     <UML:Parameter stereotype="" package="" xmi.id="2" value="''" type="string" abstract="0" documentation="Configuración del objeto." name="confFile" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="2" value="''" type="string" abstract="0" documentation="Configuración del objeto." name="confFile" static="0" scope="200" />
     </UML:Operation>
     <UML:Operation stereotype="" package="" xmi.id="527" type="mixed" abstract="0" documentation="Carga hijos de un objeto. Si hubo error devuelve un PEAR_Error, si no hubo error, devuleve un array de objetos (los hijos)." name="cargarHijos" static="0" scope="200" >
      <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="mixed" abstract="0" documentation="Base de datos o resultado de donde cargar los hijos." name="db" static="0" scope="200" />
@@ -134,25 +141,25 @@ x2c:get" name="hijos" static="0" scope="202" />
    <UML:Association nameb="" stereotype="" visibilitya="200" visibilityb="200" assoctype="500" rolea="413" roleb="524" multia="" doca="" multib="" docb="" package="" xmi.id="-1" abstract="0" documentation="" name="" static="0" scope="200" changeabilitya="900" changeabilityb="900" namea="" />
   </umlobjects>
   <diagrams>
-   <diagram snapgrid="0" showattsig="1" fillcolor="#ffffc0" zoom="100" showgrid="1" showopsig="1" usefillcolor="1" snapx="10" canvaswidth="753" snapy="10" showatts="1" xmi.id="412" documentation="" type="402" showops="1" showpackage="0" name="Clases" localid="30000" showstereotype="0" showscope="1" snapcsgrid="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" linecolor="#ff0000" canvasheight="648" >
+   <diagram snapgrid="0" showattsig="1" fillcolor="#ffffc0" zoom="100" showgrid="1" showopsig="1" usefillcolor="1" snapx="10" canvaswidth="733" snapy="10" showatts="1" xmi.id="412" documentation="" type="402" showops="1" showpackage="0" name="Clases" localid="30000" showstereotype="0" showscope="1" snapcsgrid="0" font="Helvetica,12,-1,5,48,0,0,0,0,0" linecolor="#ff0000" canvasheight="619" >
     <widgets>
-     <UML:ClassWidget usesdiagramfillcolour="0" width="153" showattsigs="601" usesdiagramusefillcolour="0" x="419" linecolour="#ff0000" y="353" showopsigs="600" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="156" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="413" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
-     <UML:ClassWidget usesdiagramfillcolour="0" width="371" showattsigs="601" usesdiagramusefillcolour="0" x="9" linecolour="#ff0000" y="180" showopsigs="601" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="169" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="416" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
-     <UML:ClassWidget usesdiagramfillcolour="0" width="243" showattsigs="601" usesdiagramusefillcolour="0" x="89" linecolour="#ff0000" y="430" showopsigs="601" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="45" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="469" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
-     <UML:ClassWidget usesdiagramfillcolour="0" width="68" showattsigs="601" usesdiagramusefillcolour="0" x="184" linecolour="#ff0000" y="374" showopsigs="601" instancename="" usesdiagramlinecolour="0" fillcolour="#dcdcdc" height="23" usefillcolor="1" showattributes="0" isinstance="0" xmi.id="471" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
-     <UML:ClassWidget usesdiagramfillcolour="0" width="144" showattsigs="601" usesdiagramusefillcolour="0" x="605" linecolour="#ff0000" y="354" showopsigs="600" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="169" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="486" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
-     <UML:ClassWidget usesdiagramfillcolour="0" width="326" showattsigs="601" usesdiagramusefillcolour="0" x="244" linecolour="#ff0000" y="10" showopsigs="601" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="91" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="516" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
-     <UML:ClassWidget usesdiagramfillcolour="0" width="298" showattsigs="601" usesdiagramusefillcolour="0" x="448" linecolour="#ff0000" y="180" showopsigs="601" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="65" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="524" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
+     <UML:ClassWidget usesdiagramfillcolour="0" width="152" showattsigs="601" usesdiagramusefillcolour="0" x="386" linecolour="#ff0000" y="353" showopsigs="600" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="156" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="413" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
+     <UML:ClassWidget usesdiagramfillcolour="0" width="369" showattsigs="601" usesdiagramusefillcolour="0" x="9" linecolour="#ff0000" y="180" showopsigs="601" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="169" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="416" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
+     <UML:ClassWidget usesdiagramfillcolour="0" width="241" showattsigs="601" usesdiagramusefillcolour="0" x="89" linecolour="#ff0000" y="430" showopsigs="601" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="45" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="469" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
+     <UML:ClassWidget usesdiagramfillcolour="0" width="68" showattsigs="601" usesdiagramusefillcolour="0" x="175" linecolour="#ff0000" y="374" showopsigs="601" instancename="" usesdiagramlinecolour="0" fillcolour="#dcdcdc" height="23" usefillcolor="1" showattributes="0" isinstance="0" xmi.id="471" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
+     <UML:ClassWidget usesdiagramfillcolour="0" width="142" showattsigs="601" usesdiagramusefillcolour="0" x="572" linecolour="#ff0000" y="354" showopsigs="600" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="182" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="486" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
+     <UML:ClassWidget usesdiagramfillcolour="0" width="324" showattsigs="601" usesdiagramusefillcolour="0" x="244" linecolour="#ff0000" y="10" showopsigs="601" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="91" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="516" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
+     <UML:ClassWidget usesdiagramfillcolour="0" width="296" showattsigs="601" usesdiagramusefillcolour="0" x="415" linecolour="#ff0000" y="180" showopsigs="601" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="65" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="524" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
     </widgets>
     <messages/>
     <associations>
      <UML:AssocWidget totalcounta="2" indexa="1" visibilityB="200" totalcountb="2" indexb="1" widgetbid="471" roleBdoc="" widgetaid="469" roleAdoc="" documentation="" type="500" changeabilityA="900" changeabilityB="900" visibilityA="200" >
-      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="703" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
-      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="711" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
-      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="712" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="-4" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="703" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="-12" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="711" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="-9" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="712" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
       <linepath>
-       <startpoint startx="210" starty="430" />
-       <endpoint endx="218" endy="397" />
+       <startpoint startx="209" starty="430" />
+       <endpoint endx="209" endy="397" />
       </linepath>
      </UML:AssocWidget>
      <UML:AssocWidget totalcounta="2" indexa="1" visibilityB="200" totalcountb="3" indexb="1" widgetbid="516" roleBdoc="" widgetaid="416" roleAdoc="" documentation="" type="500" changeabilityA="900" changeabilityB="900" visibilityA="200" >
@@ -160,26 +167,26 @@ x2c:get" name="hijos" static="0" scope="202" />
       <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="711" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
       <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="712" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
       <linepath>
-       <startpoint startx="194" starty="180" />
+       <startpoint startx="193" starty="180" />
        <endpoint endx="352" endy="101" />
       </linepath>
      </UML:AssocWidget>
      <UML:AssocWidget totalcounta="2" indexa="1" visibilityB="200" totalcountb="3" indexb="2" widgetbid="516" roleBdoc="" widgetaid="524" roleAdoc="" documentation="" type="500" changeabilityA="900" changeabilityB="900" visibilityA="200" >
       <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="703" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
-      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="711" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="-33" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="711" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
       <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="712" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
       <linepath>
-       <startpoint startx="597" starty="180" />
-       <endpoint endx="461" endy="101" />
+       <startpoint startx="563" starty="180" />
+       <endpoint endx="460" endy="101" />
       </linepath>
      </UML:AssocWidget>
      <UML:AssocWidget totalcounta="2" indexa="1" visibilityB="200" totalcountb="3" indexb="2" widgetbid="524" roleBdoc="" widgetaid="486" roleAdoc="" documentation="" type="500" changeabilityA="900" changeabilityB="900" visibilityA="200" >
       <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="703" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
-      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="711" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="7" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="711" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
       <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="712" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
       <linepath>
-       <startpoint startx="605" starty="438" />
-       <endpoint endx="646" endy="245" />
+       <startpoint startx="572" starty="445" />
+       <endpoint endx="612" endy="245" />
       </linepath>
      </UML:AssocWidget>
      <UML:AssocWidget totalcounta="2" indexa="1" visibilityB="200" totalcountb="3" indexb="1" widgetbid="524" roleBdoc="" widgetaid="413" roleAdoc="" documentation="" type="500" changeabilityA="900" changeabilityB="900" visibilityA="200" >
@@ -187,8 +194,8 @@ x2c:get" name="hijos" static="0" scope="202" />
       <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="711" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
       <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="712" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
       <linepath>
-       <startpoint startx="495" starty="353" />
-       <endpoint endx="547" endy="245" />
+       <startpoint startx="462" starty="353" />
+       <endpoint endx="513" endy="245" />
       </linepath>
      </UML:AssocWidget>
     </associations>
@@ -196,7 +203,7 @@ x2c:get" name="hijos" static="0" scope="202" />
   </diagrams>
   <listview>
    <listitem open="1" type="800" id="-1" label="Vistas" >
-    <listitem open="1" type="801" id="-1" label="Vista lógica" >
+    <listitem open="1" type="801" id="-1" label="Vista lógica" >
      <listitem open="1" type="803" id="-1" label="AI" >
       <listitem open="0" type="813" id="516" label="AI_DBObject" >
        <listitem open="0" type="814" id="517" label="conf" />
@@ -216,7 +223,7 @@ x2c:get" name="hijos" static="0" scope="202" />
        <listitem open="0" type="815" id="470" label="AI_Error" />
        <listitem open="0" type="815" id="530" label="isError" />
       </listitem>
-      <listitem open="0" type="813" id="486" label="AI_GrupoSecciones" >
+      <listitem open="1" type="813" id="486" label="AI_GrupoSecciones" >
        <listitem open="0" type="814" id="492" label="antiguedad" />
        <listitem open="0" type="814" id="487" label="grupo" />
        <listitem open="0" type="814" id="489" label="grupo_padre" />
@@ -227,6 +234,7 @@ x2c:get" name="hijos" static="0" scope="202" />
        <listitem open="0" type="815" id="495" label="AI_GrupoSecciones" />
        <listitem open="0" type="815" id="498" label="borrar" />
        <listitem open="0" type="815" id="496" label="cargar" />
+       <listitem open="0" type="815" id="537" label="getGrupo" />
        <listitem open="0" type="815" id="512" label="getSeccionesArray" />
        <listitem open="0" type="815" id="497" label="guardar" />
       </listitem>
index f5527b7c5b1b315bda8e4328905fe93d011ef6e4..df21dc6857b66213c1ffee75f55782ff43b00677 100644 (file)
@@ -221,25 +221,32 @@ class AI_GrupoSecciones extends AI_DBTreeObject {
     // +X2C Operation 512
     /**
      * Obtiene un array con una lista de secciones.
+Sólo se obtienen las secciones que todavía no pertenecen a ningún grupo. Si se especifica un grupo, se agregan las secciones de ese grupo al <em>array</em> resultante.
      *
      * @param  DB $db Base de datos a usar para obtener los datos.
+     * @param  int $grupo Grupo del cual obtener las secciones.
      *
      * @return array
      * @access public
      * @static
      */
-    function getSeccionesArray($db = null) // ~X2C
+    function getSeccionesArray($db = null, $grupo = 0) // ~X2C
     {
-        static $conf;
-        if (!$conf) {
+        static $conf_dav, $conf_sec;
+        if (!$conf_dav or !$conf_sec) {
             $conf = parse_ini_file(AI_GRUPOSECCIONES_CONFFILE, true);
-            $conf = $conf['mecondav'];
+            $conf_dav = $conf['mecondav'];
+            $conf_sec = $conf['secciones'];
         }
-        extract($conf);
+        extract($conf_dav, EXTR_PREFIX_ALL, 'dav');
+        extract($conf_sec, EXTR_PREFIX_ALL, 'sec');
                return $db->getAssoc("
-            SELECT   $id, $campo
-            FROM     $base.$tabla
-            ORDER BY $campo ASC");
+            SELECT d.$dav_id, d.$dav_campo 
+            FROM $dav_base.$dav_tabla as d
+            LEFT JOIN $sec_base.$sec_tabla AS s
+            ON s.$sec_campo = d.$dav_id
+            WHERE s.$sec_campo IS NULL OR s.$sec_id = $grupo
+            ORDER BY d.$dav_campo ASC");
     }
     // -X2C
 
@@ -252,6 +259,7 @@ class AI_GrupoSecciones extends AI_DBTreeObject {
      *
      * @return AI_GrupoSecciones
      * @access public
+     * @static
      */
     function getGrupo($seccion, $db = null) // ~X2C
     {
index 499ef99ce4899a8471b163c9f8f1e578e936446c..02f55f389e76f1669b40e5307ff6b641133b5a89 100644 (file)
@@ -33,7 +33,7 @@ require_once 'MECON/HTML/ArbolDB.php';
 
 // +X2C Class 535 :AI_Arbol
 /**
- * Arbol para generar los menes.
+ * Arbol para generar los menúes.
  *
  * @package AI_Local
  * @access public
@@ -45,13 +45,14 @@ class AI_Arbol extends MECON_HTML_ArbolDB {
     /**
      * Constructor.
      *
-     * @param  mixed $objeto Objeto del cual generar el ?bol. Puede ser AI_GrupoSecciones, AI_Servicio o AI_Sistema.
-     * @param  DB &$db Base de datos de donde sacar los datos para el ?bol.
+     * @param  mixed $objeto Objeto del cual generar el árbol. Puede ser AI_GrupoSecciones, AI_Servicio o AI_Sistema.
+     * @param  DB &$db Base de datos de donde sacar los datos para el árbol.
+     * @param  bool $expandir Indica si debe expandirse el árbol.
      *
      * @return void
      * @access public
      */
-    function AI_Arbol($objeto, &$db) // ~X2C
+    function AI_Arbol($objeto, &$db, $expandir = true) // ~X2C
     {
         switch (get_class($objeto)) {
             case 'ai_gruposecciones':
@@ -68,6 +69,7 @@ class AI_Arbol extends MECON_HTML_ArbolDB {
                 $tipo   = 'sistema';
                 $titulo = 'SISTEMAS';
                 $tabla  = $tipo;
+                $expandir = true;
                 break;
         }
         $dbdata = array(
@@ -90,7 +92,7 @@ class AI_Arbol extends MECON_HTML_ArbolDB {
                 )
                 + $dbdata;
         }
-        parent::MECON_HTML_ArbolDB($dbdata, $titulo, $tipo.'?accion='.AI_MODIF.'&id=');
+        parent::MECON_HTML_ArbolDB($dbdata, $titulo, $tipo.'?accion='.AI_MODIF.'&id=', $expandir);
     }
     // -X2C
 
index 32a0dfd7db8b0570d3bb084b28cb739d400a91ba..3cf2e8451f290cc2cca31ddaef5beef22462c378 100644 (file)
@@ -43,7 +43,7 @@ class AI_DB extends DB {
 
     // +X2C Operation 506
     /**
-     * @param  string $confFile Archivo de configuracin de la base de datos. Si no se especifica se toma uno por defecto del directorio de configuracin.
+     * @param  string $confFile Archivo de configuración de la base de datos. Si no se especifica se toma uno por defecto del directorio de configuración.
      *
      * @return &mixed
      * @access public
index c39610f32add0956b352e388012441c49a5197d7..27e9bb24c49b7e4e978b745a49cbba8f33e470c9 100644 (file)
@@ -53,14 +53,13 @@ class AI_Form extends MECON_HTML_QuickForm {
      * Construye un formulario para el objecto especificado.
      *
      * @param  object &$obj Objeto con el cual rellenar el formulario. Puede ser GrupoSecciones, Servicio o Sistema.
-     * @param  int $accion Accion que realizar?el formulario a crear. Puede ser AI_ALTA, AI_BAJA o AI_MODIFICACION.
-     * @param  HTML_Arbol $arbol ?bol de donde sacar los padres.
-     * @param  DB $db Base de datos.
+     * @param  int $accion Accion que realizará el formulario a crear. Puede ser AI_ALTA, AI_BAJA o AI_MODIFICACION.
+     * @param  DB $db Base de datos a usar.
      *
      * @return void
      * @access public
      */
-    function iniciar(&$obj, $accion, $arbol, $db) // ~X2C
+    function iniciar(&$obj, $accion, $db) // ~X2C
     {
         $tipo   = substr(get_class($obj), 3);
         $s_tipo = ucfirst($tipo);
@@ -107,6 +106,8 @@ class AI_Form extends MECON_HTML_QuickForm {
             $fId->freeze();
         }
         if ($tipo == 'grupo' or $tipo == 'servicio') {
+            require_once 'AI/Arbol.php';
+            $arbol = new AI_Arbol($obj, $db, true);
             $tipos = array('' => '--', '0' => 'Página Principal')
                 + $arbol->toArray();
             // Saco el elemento actual si hay uno cargado (no puede ser padre de si mismo).
@@ -130,7 +131,7 @@ class AI_Form extends MECON_HTML_QuickForm {
             $fAntiguedad   =& $this->addElement('select', 'antiguedad', 'Antigüedad',
                 array(3 => '3 días', 1 => '1 día', 7 => '1 semana'));
             $fSecciones    =& $this->addElement('select', 'secciones', 'Secciones',
-                AI_GrupoSecciones::getSeccionesArray($db),
+                AI_GrupoSecciones::getSeccionesArray($db, (int)$obj->$tipo),
                 array('multiple' => 'multiple', 'size' => 8));
             $fMostrarHijos =& $this->addElement('checkbox', 'mostrar_hijos', 'Mostrar hijos');
             // Validación.
index 8e5fae8023f7b055e8f0fa082aeadb10a869faeb..11dede83a66e5955d288bc9a066be31919794d66 100644 (file)
@@ -145,21 +145,16 @@ if ($tipo) {
     }
     // }}}
 
-    // Creo el árbol con el tipo de objeto que manejo y lo agrego a la página. {{{
-    require_once 'AI/Arbol.php';
-    $arbol = new AI_Arbol($obj, $db);
-    // }}}
-
     // Inicio el formulario, cargando datos de ser necesario. {{{
     if ($accion & (AI_BAJA | AI_MODIF)) {
         $err =& $obj->cargar($db);
         if (PEAR::isError($err)) {
             die($err->getMessage());
         }
-        $form->iniciar($obj, $accion, $arbol, $db);
+        $form->iniciar($obj, $accion, $db);
     } else {
         $accion = AI_ALTA;
-        $form->iniciar($obj, $accion, $arbol, $db);
+        $form->iniciar($obj, $accion, $db);
     }
     // }}}
 
@@ -233,6 +228,11 @@ if ($tipo) {
     }
     // }}}
 
+    // Creo el árbol con el tipo de objeto que manejo y lo agrego a la página. {{{
+    require_once 'AI/Arbol.php';
+    $arbol = new AI_Arbol($obj, $db, false);
+    // }}}
+
     // Agrego el menu, link para nuevo y formulario a la página. {{{
     $marco->addMenuVertical($arbol);
     if ($accion & ~AI_ALTA) {
index d00eb6821acf340a766db5b6fe194ba1e1152518..e6eaaa587ae00b45b4609c1e7402be4fb9810961 100644 (file)
@@ -29,5 +29,5 @@
 CREATE TABLE grupo_secciones_seccion (
     grupo   INTEGER(11) UNSIGNED    NOT NULL default 0,
     seccion INTEGER(11)             NOT NULL default 0,
-    PRIMARY KEY (grupo, seccion)
+    PRIMARY KEY (seccion)
 );