Code

Updated Systemanagement
authorhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Wed, 22 Oct 2008 12:10:43 +0000 (12:10 +0000)
committerhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Wed, 22 Oct 2008 12:10:43 +0000 (12:10 +0000)
-Do not query for opsi hosts, if the user is not allowed allowed to.
-Fixed listing, include compoenent ACLs.

git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@12754 594d385d-05f5-0310-b6e9-bd551577e9d8

gosa-plugins/systems/admin/systems/class_divListSystem.inc
gosa-plugins/systems/admin/systems/class_systemManagement.inc

index 34b7bfa574c2e7a6bbca096f069d8fd91addac5a..fdfc455de453d7847e60c41f82f3ccf0221deb37 100644 (file)
@@ -49,8 +49,8 @@ class divListSystem extends MultiSelectWindow
 
   function divListSystem (&$config,$parent)
   {
-    $classes = array("server","workstation","terminal","phone","incoming","winworkstation","printer");
-    if(class_available("opsigeneric")){
+    $classes = array("server","workstation","terminal","phone","incoming","winworkstation","printer","component");
+    if(class_available("opsiGeneric")){
       $classes[] = "opsi";
     }
 
index 1be63ccb0049a5085a7a19bb5d0e37c249ef4305..4db6240098d6528c55a4e4968f6ae2bd7d940bdd 100644 (file)
@@ -1234,11 +1234,15 @@ class systems extends plugin
     $res = array_merge($res,get_list($filter,$sys_categories, get_ou('systemIncomingRDN').$base,$sys_attrs, GL_SIZELIMIT));
 
     /* Append opsi systems, the opsi extension have to installed.
+        (Only, if we are allowed to view opsi hosts)
      */
     if($this->opsi instanceof opsi && $this->opsi->enabled() && $this->DivListSystem->ShowOpsiHosts){
-      $opsi_clients = $this->opsi->get_hosts_for_system_management();
-      if($this->opsi->is_error()){
-        msg_dialog::display(_("Error"),msgPool::siError($this->opsi->get_error()),ERROR_DIALOG);
+      $o_acl = $this->ui->get_permissions($base,"opsi/opsiGeneric","");
+      if(preg_match("/r/",$o_acl)){
+        $opsi_clients = $this->opsi->get_hosts_for_system_management();
+        if($this->opsi->is_error()){
+          msg_dialog::display(_("Error"),msgPool::siError($this->opsi->get_error()),ERROR_DIALOG);
+        }
       }
     }