X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=plugins%2Fadmin%2Ffai%2Fclass_faiManagement.inc;h=bd5c1fb3b7ec890f60b1e3943a0426ed6dfbbf4c;hb=d1baab4eb6f9e84efe3be655942a898d80165e0f;hp=b5d697f138c3bcb9873314fdb5df9828194ff6c6;hpb=64c918b4f1ae734ea4b0f840158e07b9e23782fb;p=gosa.git diff --git a/plugins/admin/fai/class_faiManagement.inc b/plugins/admin/fai/class_faiManagement.inc index b5d697f13..bd5c1fb3b 100644 --- a/plugins/admin/fai/class_faiManagement.inc +++ b/plugins/admin/fai/class_faiManagement.inc @@ -25,10 +25,11 @@ require "tabsScript.inc"; require "tabsProfile.inc"; require "tabsPackage.inc"; + class faiManagement extends plugin { /* Definitions */ - var $plHeadline = "FAI management"; + var $plHeadline = "FAI"; var $plDescription = "Fully Automatic Installation - management"; /* CLI vars */ @@ -68,7 +69,7 @@ class faiManagement extends plugin /* Get global filter config */ if (!is_global("faifilter")){ $base = get_base_from_people($ui->dn); - $faifilter= array("base" => "ou=fai,ou=configs,ou=systems,".$base, + $faifilter= array("base" => $base, "regex" => "*"); $faifilter['ShowProfiles'] = true; $faifilter['ShowTemplates'] = true; @@ -125,9 +126,7 @@ class faiManagement extends plugin $s_action = "new_package"; }elseif(preg_match("/create_profile/i",$key)){ $s_action = "new_profile"; - }elseif(preg_match("/UseNewClass/",$key)){ - $s_action = "select_class_name_finished"; - }elseif(preg_match("/UseSelectedClass/",$key)){ + }elseif(preg_match("/edit_continue/",$key)){ $s_action = "select_class_name_finished"; }elseif(preg_match("/^entry_edit_.*/",$key)){ $s_entry = preg_replace("/^entry_edit_/","",$key); @@ -137,8 +136,45 @@ class faiManagement extends plugin $s_entry = preg_replace("/^entry_delete_/","",$key); $s_entry = preg_replace("/_.*$/","",$s_entry); $s_action = "delete"; + }elseif(preg_match("/dep_back.*/i",$key)){ + $s_action="back"; + }elseif(preg_match("/dep_home.*/i",$key)){ + $s_action="home"; + }elseif(preg_match("/dep_root.*/i",$key)){ + $s_action="root"; + } + + } + + if($s_action=="root"){ + $faifilter['base']=($this->config->current['BASE']); + } + + if($s_action=="home"){ + $faifilter['base']=(preg_replace("/^[^,]+,/","",$this->ui->dn)); + $faifilter['base']=(preg_replace("/^[^,]+,/","",$faifilter['base'])); + } + + if($s_action=="back"){ + $base_back = preg_replace("/^[^,]+,/","",$faifilter['base']); + $base_back = convert_department_dn($base_back); + + if(isset($this->config->departments[trim($base_back)])){ + $faifilter['base']= $this->config->departments[trim($base_back)]; + }else{ + $faifilter['base']= $this->config->departments["/"]; } + } + + if(isset($_GET['act'])&&($_GET['act']=="dep_open")){ + $s_action="open"; + $s_entry = base64_decode($_GET['dep_id']); + $faifilter['base']= $this->config->departments[trim($s_entry)]; + } + if(isset($_GET['edit_entry'])){ + $s_entry = $_GET['edit_entry']; + $s_action = "edit"; } /* Confirm dialog @@ -162,7 +198,7 @@ class faiManagement extends plugin /* Lock the current entry, so nobody will edit it during deletion */ add_lock ($this->dn, $this->ui->dn); - $smarty->assign("warning", sprintf(_("You're about to delete all information about the component at '%s'."), $this->dn)); + $smarty->assign("warning", sprintf(_("You're about to delete all information about the FAI class at '%s'."), $this->dn)); return($smarty->fetch(get_template_path('remove.tpl', TRUE))); } else { @@ -172,6 +208,12 @@ class faiManagement extends plugin } } + /* Delete canceled? */ + if (isset($_POST['delete_cancel'])){ + del_lock ($this->dn); + } + + /* Deltetion was confirmed, so delete this entry */ if (isset($_POST['delete_terminal_confirm'])){ @@ -277,7 +319,7 @@ class faiManagement extends plugin $name = $this->dialog->save(); $this->dialog = new $a_setup[0]($this->config, - $this->config->data['TABS'][$a_setup[2]],$this->dn); + $this->config->data['TABS'][$a_setup[2]],$this->dn,$name); $this->dialog->by_object[$a_setup[1]]->cn = $name; $this->is_dialog = true; } @@ -341,6 +383,7 @@ class faiManagement extends plugin $display.= "
"; }elseif(!isset($this->dialog->current)){ $display.= "\n"; + $display.= " "; $display.= "\n"; $display.= "
"; } @@ -353,14 +396,35 @@ class faiManagement extends plugin * Assign all reguired vars to template engine */ + /* Prepare departments */ + $options= ""; + foreach ($this->config->idepartments as $key => $value){ + if ($faifilter['base'] == $key){ + $options.= ""; + } else { + $options.= ""; + } + } + /* Create listhead, it will be shown on top of the divlist. * It provides general navigation and object creation */ $faihead = "