Code

Updated object movement.
[gosa.git] / plugins / admin / departments / class_divListDepartment.inc
index 5bb5c9d6e3f0c3ecfd1207f65d9220dc7324e6c0..32b79bf8806f58ba3f5c60faea0c963bf234310a 100755 (executable)
@@ -54,30 +54,40 @@ class divListDepartment extends MultiSelectWindow
   {
     /* Prepare departments,
        which are shown in the listbox on top of the listbox
-     */
+    */
     $options= "";
-    foreach ($this->config->idepartments as $key => $value){
-      if ($this->selectedBase == $key){
-        $options.= "<option selected='selected' value='$key'>$value</option>";
-      } else {
-        $options.= "<option value='$key'>$value</option>";
+
+    /* Get all departments within this subtree */
+    $base = $this->config->current['BASE'];
+    $deps= get_list("(&(|(ou=*)(description=*))(objectClass=gosaDepartment))", $this->module, $base,
+                    array("ou", "description"), GL_SIZELIMIT | GL_SUBSEARCH);
+
+    /* Load possible departments */
+    $ui= get_userinfo();
+    $tdeps= $ui->get_module_departments("department");
+
+    $ids = $this->config->idepartments;
+
+    foreach($deps as $dep){
+      if(isset($ids[$dep['dn']]) && in_array_ics($dep['dn'], $tdeps)){
+
+        $value = $ids[$dep['dn']];
+        if ($this->selectedBase == $dep['dn']){
+          $options.= "<option selected='selected' value='".$dep['dn']."'>$value</option>";
+        } else {
+          $options.= "<option value='".$dep['dn']."'>$value</option>";
+        }
       }
     }
 
+
     /* Generate list head */
     $ui = get_userinfo();
-    $acl = $ui->get_permissions("ou=dummy,",$this->selectedBase  ,"department/department");
-
-    $listhead = "<div style='background:#F0F0F9;padding:5px;'>".
-      " <input type='image' class='center' src='images/list_root.png' align='middle' ".
-      "   title='"._("Go to root department")."' name='dep_root' alt='".       _("Root")."'>&nbsp;".
-      " <input type='image' class='center' src='images/list_up.png' align='middle' ".
-      "   title='"._("Go up one department")."' name='dep_back' alt='"._("Up").  "'>&nbsp;".
-      " <input type='image' class='center' src='images/list_home.png' align='middle' ".
-      "   title='"._("Go to users home department")."' name='dep_home' alt='". _("Home")."'>&nbsp;".
-      " <input class='center' type='image' src='images/list_reload.png' align='middle' ".
-      "   title='"._("Reload list")."' name='submit_department' alt='".      _("Submit")."'>&nbsp;";
+    $acl = $ui->get_permissions("ou=dummy,".$this->selectedBase  ,"department/department");
       
+    /* Add default header */
+    $listhead = MultiSelectWindow::get_default_header();
+
     if(preg_match("/c/",$acl)){
       $listhead .=  " <img class='center' src='images/list_seperator.png' align='middle' alt='' height='16' width='1'>&nbsp;".
         " <input class='center' type='image' src='images/list_new_department.png' ".