Code

Added release selection
authorhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Fri, 6 Nov 2009 09:38:08 +0000 (09:38 +0000)
committerhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Fri, 6 Nov 2009 09:38:08 +0000 (09:38 +0000)
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@14772 594d385d-05f5-0310-b6e9-bd551577e9d8

gosa-plugins/goto/admin/applications/application-filter.tpl
gosa-plugins/goto/admin/applications/application-filter.xml
gosa-plugins/goto/admin/applications/application-list.xml
gosa-plugins/goto/admin/applications/class_applicationManagement.inc

index ba7af5cdef3357da37d194fd90ccfb3a1e676e82..fc24ad6391fd64af3f9a01b8bf7d0d51ac98e2d1 100644 (file)
@@ -18,6 +18,7 @@
     </label>
    </td>
    <td>
+    {$RELEASE}
     {$NAME}
    </td>
   </tr>
index bcdcb01b340750442f1022490fbb9b8649048bd9..859d79b05dd0f7457980f7b8c5eaa4a89b2dbadf 100644 (file)
     <scope>auto</scope>
   </search>
 
+  <element>
+    <tag>RELEASE</tag>
+    <type>combobox</type>
+    <value>Loading.</value>
+    <value>Loading..</value>
+    <value>Loading...</value>
+  </element>
+
   <element>
     <type>textfield</type>
     <tag>NAME</tag>
index 07ca7379ccf79a7a5df367e25ca6bd6e34942cdc..5f0deb825903d45a0eeb414af9a65c8469e900bb 100644 (file)
@@ -7,7 +7,7 @@
     <baseMode>true</baseMode>
     <multiSelect>true</multiSelect>
     <template>application-list.tpl</template>
-    <module>applications</module>
+    <module>application</module>
     <label>List of applications</label>
     <defaultSortColumn>1</defaultSortColumn>
 
index 15bdc7d1ed0dc00eb67e629b8eba3b7a7b64ae00..db6d93ccd336f8e4e4a81b6d3b18c49c985d226d 100644 (file)
@@ -46,13 +46,13 @@ class applicationManagement extends management
 #   if (session::global_is_set(get_class($this)."_filter")){
 #     $filter= session::global_get(get_class($this)."_filter");
 #   } else {
-     $filter = new filter(get_template_path("application-filter.xml", true));
-     $filter->setObjectStorage($this->storagePoints);
+     $filter = new filter(get_template_path("application-filter-release.xml", true));
+#     $filter->setObjectStorage($this->storagePoints);
 #   }
     $this->setFilter($filter);
 
     // Build headpage
-    $headpage = new listing(get_template_path("application-list.xml", true));
+    $headpage = new listing(get_template_path("application-list-release.xml", true));
     $headpage->setFilter($filter);
 
     // Add copy&paste and snapshot handler.
@@ -72,9 +72,39 @@ class applicationManagement extends management
 
   function renderList()
   {
+    $filter = $this->getFilter();
     $headpage = $this->getHeadpage();
-    return(management::renderList());
+    $filter->setComboBoxOptions("RELEASE",$this->getReleaseList());
+
+    if(isset($_POST['RELEASE'])){
+      $headpage->setBase($_POST['RELEASE']);
+    }else{
+      $headpage->setBase($base = get_ou('applicationRDN').$this->config->current['BASE']);
+    }
+    
+    $headpage->update();
+    $display = $headpage->render();
+    return($this->getHeader().$display);
+
+  }
+
+  function getReleaseList($base = "", $prefix ="")
+  {
+    $list = array();
+    if(empty($base)){
+      $base = get_ou('applicationRDN').$this->config->current['BASE'];
+      $list[$base] = "/";
+    }
+
+    $ldap = $this->config->get_ldap_link();
+    $ldap->ls("(objectClass=FAIbranch)",$base,array("ou","FAIstate"));
+    while($release = $ldap->fetch()){
+      $list[$release['dn']] = $prefix.$release['ou'][0];
+      $list = array_merge($list,$this->getReleaseList($release['dn'],$prefix."&nbsp; "));
+    }
+    return($list);
   }
+  
 
   function IsReleaseManagementActivated()
   {