Code

Finished acls for workstation service, not tested yet
authorhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Fri, 1 Sep 2006 07:04:03 +0000 (07:04 +0000)
committerhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Fri, 1 Sep 2006 07:04:03 +0000 (07:04 +0000)
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@4565 594d385d-05f5-0310-b6e9-bd551577e9d8

plugins/admin/systems/class_workstationService.inc

index 57f9ede7b0673bce6571e48715367fddadae9c8f..5684cbad93ce65567540527864e17b7bc4451261 100644 (file)
@@ -246,11 +246,13 @@ class workservice extends plugin
       $this->is_account= !$this->is_account;
     }
 
-    /* Do we represent a valid terminal? */
-    if (!$this->is_account && $this->parent == NULL){
-      $display= "<img alt=\"\" src=\"images/stop.png\" align=\"middle\">&nbsp;<b>".
-        _("This 'dn' has no terminal features.")."</b>";
-      return ($display);
+    /* Do we need to flip is_account state? */
+    if(isset($_POST['modify_state'])){
+      if($this->is_account && $this->acl_is_removeable()){
+        $this->is_account= FALSE;
+      }elseif(!$this->is_account && $this->acl_is_createable()){
+        $this->is_account= TRUE;
+      }
     }
 
     /* Show main page */
@@ -262,7 +264,6 @@ class workservice extends plugin
       $smarty->assign($name."ACL",$this->getacl($name));
     }
 
-
     /* Arrays */ 
     foreach(array("XMethods", "XDrivers", "XResolutions", "XColordepths",
           "XKbModels", "XKbVariants",
@@ -350,7 +351,7 @@ class workservice extends plugin
   {
     plugin::save_object();
 
-    if(isset($_POST['gotoXDriver'])){
+    if((isset($_POST['gotoXDriver'])) && $this->acl_is_writeable("AutoSync")) {
       if(isset($_POST['AutoSync'])){
         $this->AutoSync = true;
       }else{