Code

Added . to list of available departments. To be able to set obtions for the current...
[gosa.git] / plugins / admin / departments / class_departmentManagement.inc
index eeb9d53eae2bd18050a6a8c2a828b4a489927d1f..815f40da2b874a87de132c048275da4bac52637c 100644 (file)
@@ -120,7 +120,6 @@ class departmentManagement extends plugin
      * The entry which will be edited is defined in $s_entry
      */
     if (( $s_action=="edit") && (!isset($this->deptabs->config))){
-      $s_entry = convert_department_dn(base64_decode($s_entry));
       $this->dn= $this->config->departments[trim($s_entry)];
 
       if (($user= get_lock($this->dn)) != ""){
@@ -148,7 +147,6 @@ class departmentManagement extends plugin
      * The entry which will be deleted is defined in $s_entry
      */
     if ($s_action =="del"){
-      $s_entry = convert_department_dn(base64_decode($s_entry));
       $this->dn= $this->config->departments[trim($s_entry)];
 
       /* Check locking */
@@ -157,7 +155,7 @@ class departmentManagement extends plugin
         return(gen_locked_message($user, $this->dn));
       } else {
         add_lock ($this->dn, $this->ui->dn);
-        $smarty->assign("info", sprintf(_("You're about to delete the whole LDAP subtree placed under '%s'."), LDAP::fix($this->dn)));
+        $smarty->assign("info", sprintf(_("You're about to delete the whole LDAP subtree placed under '%s'."), @LDAP::fix($this->dn)));
         $display.= $smarty->fetch (get_template_path('remove.tpl', TRUE));
         return ($display);
       }
@@ -297,19 +295,13 @@ class departmentManagement extends plugin
       $display= $this->deptabs->execute();
       if (!$this->deptabs->by_object[$this->deptabs->current]->dialog){
         $display.= "<p style=\"text-align:right\">\n";
-        $display.= "<input type=submit name=\"edit_finish\" style=\"width:80px\" value=\""._("Ok")."\">\n";
+        $display.= "<input type=submit name=\"edit_finish\" value=\""._("Save")."\">\n";
         $display.= "&nbsp;\n";
         $display.= "<input type=submit name=\"edit_cancel\" value=\""._("Cancel")."\">\n";
         $display.= "</p>";
       }
       return ($display);
     }else{
-
-      /* Check if there is a snapshot dialog open */
-      if($str = $this->showSnapshotDialog($this->DivListDepartment->selectedBase,"")){
-        return($str);
-      }
-
       /* Display dialog with group list */
       $this->DivListDepartment->parent = $this;
       $this->DivListDepartment->execute();
@@ -352,21 +344,30 @@ class departmentManagement extends plugin
     }
 
     $this->departments= array();
-    $tmp = array();
-    foreach ($res as $key => $value){
-      #$tmp[get_sub_department(convert_department_dn($value['dn']))] = $key;
-      $tmp[$key] = get_sub_department(convert_department_dn($value['dn']));
+
+    /* Add current base to the list of available departments, but only if its naming attribute is 'ou' */
+    if(preg_match("/^ou=/",$base)){
+      $this->departments [ convert_department_dn($base) ] = ".";
     }
-    natcasesort($tmp);
-    foreach($tmp as $key => $q){
-      $value = $res [$key];
+
+    foreach ($res as $key => $value){
+
       /* Don't display base as entry on subsearch */
       if(($value['dn'] == $base) && ($this->DivListDepartment->SubSearch)){
         continue;
       }
 
-      $this->departments[base64_encode($value['dn'])]= $value;
+      $cdn= convert_department_dn($value['dn']);
+
+      /* Append to dep list */
+      if(isset($value["description"][0])){
+        $this->departments[$cdn]= get_sub_department($cdn)." - [".$value["description"][0]."]";
+      }else{
+        $this->departments[$cdn]= get_sub_department($cdn);//$value["description"][0];
+      }
     }
+    natcasesort ($this->departments);
+    reset ($this->departments);
   }
 
   function remove_from_parent()
@@ -405,6 +406,19 @@ class departmentManagement extends plugin
     $this->config->make_idepartments();
     $this->DivListDepartment->save_object();
   }
+
+  function plInfo()
+  {
+    return (array("plDescription" => _("Departments"),
+                  "plSelfModify" => FALSE,
+                  "plDepends" => array("objectClass" => "gosaDepartment", "description" => _("Departments")),
+                  "description" => _("Description"),
+                  "c" => _("Country"),
+                  "l" => _("Location"),
+                  "telephoneNumber" => _("Telephone"),
+                  "ou" => _("Department name") ));
+  }
+
   
 }
 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: