diff --git a/gosa-plugins/goto/admin/applications/class_applicationManagement.inc b/gosa-plugins/goto/admin/applications/class_applicationManagement.inc
index 15bdc7d1ed0dc00eb67e629b8eba3b7a7b64ae00..43ec0c5bbd1921be09c5bf4030b47bd07970fc18 100644 (file)
class applicationManagement extends management
{
var $plHeadline = "Applications";
- var $plDescription = "Application administration";
- var $plIcon = "plugins/applications/images/plugin.png";
+ var $plDescription = "Application management";
+ var $plIcon = "plugins/goto/images/application.png";
var $app_release = ""; // The currently selected release while in release management mode!
{
$this->config = $config;
$this->ui = $ui;
-
- $this->storagePoints = array(get_ou("applicationRDN"));
-
-# // Build filter
-# 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);
-# }
+
+ if($this->IsReleaseManagementActivated()){
+ $this->app_release = get_ou('applicationRDN').$this->config->current['BASE'];
+ $filter_xml = "application-filter-release.xml";
+ $list_xml = "application-list-release.xml";
+ $this->storagePoints= array("");
+ }else{
+ $filter_xml = "application-filter.xml";
+ $list_xml = "application-list.xml";
+ $this->storagePoints= array(get_ou("applicationRDN"));
+ }
+
+ // Build filter
+ if (session::global_is_set(get_class($this)."_filter")){
+ $filter= session::global_get(get_class($this)."_filter");
+ } else {
+ $filter = new filter(get_template_path($filter_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($list_xml, true));
$headpage->setFilter($filter);
// Add copy&paste and snapshot handler.
function renderList()
{
+ $filter = $this->getFilter();
$headpage = $this->getHeadpage();
- return(management::renderList());
+ if($this->IsReleaseManagementActivated()){
+ $filter->setComboBoxOptions("RELEASE",$this->getReleaseList());
+
+ if(isset($_POST['RELEASE'])){
+ $this->app_release = get_post('RELEASE');
+ }
+ $headpage->setBase($this->app_release);
+ }
+
+ $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." "));
+ }
+ return($list);
}
+
function IsReleaseManagementActivated()
{