Code

Fixed base selection && creation check for systems
authorhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Wed, 6 Dec 2006 07:20:01 +0000 (07:20 +0000)
committerhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Wed, 6 Dec 2006 07:20:01 +0000 (07:20 +0000)
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@5316 594d385d-05f5-0310-b6e9-bd551577e9d8

plugins/admin/systems/class_componentGeneric.inc
plugins/admin/systems/class_phoneGeneric.inc
plugins/admin/systems/class_printGeneric.inc
plugins/admin/systems/class_servGeneric.inc
plugins/admin/systems/class_terminalGeneric.inc
plugins/admin/systems/class_workstationGeneric.inc

index d05af5d6688623e5d42fd4b5f1ab8b433b013b2b..2e6f7029814a0d49e6628220ee64de668b5fb49d 100644 (file)
@@ -56,7 +56,7 @@ class componentGeneric extends plugin
     foreach($_POST as $name => $value){
       if(preg_match("/^chooseBase/",$name) && $once){
         $once = false;
-        $this->dialog = new baseSelectDialog($this->config,$this);
+        $this->dialog = new baseSelectDialog($this->config,$this,$this->get_allowed_bases());
         $this->dialog->setCurrentBase($this->base);
       }
     }
@@ -181,16 +181,6 @@ class componentGeneric extends plugin
       }
     }
 
-    /* Set new acl base */
-    if($this->dn == "new") {
-      $this->set_acl_base($this->base);
-    }
-
-    $ui= get_userinfo();
-    if ($this->dn == "new" && !$this->acl_is_createable()){
-      $message[]= _("You have no permissions to create a component on this 'Base'.");
-    }
-
     if ($this->orig_dn != $this->dn){
       $ldap= $this->config->get_ldap_link();
       $ldap->cd ($this->base);
index 4b6150907e36730c139f50a84ead3af7cb087a43..928b7e317ee5aae18aa5fac9d80ea0e8a4008e96 100644 (file)
@@ -124,7 +124,7 @@ class phoneGeneric extends plugin
     foreach($_POST as $name => $value){
       if(preg_match("/^chooseBase/",$name) && $once){
         $once = false;
-        $this->dialog = new baseSelectDialog($this->config,$this);
+        $this->dialog = new baseSelectDialog($this->config,$this,$this->get_allowed_bases());
         $this->dialog->setCurrentBase($this->base);
       }
     }
@@ -328,16 +328,6 @@ class phoneGeneric extends plugin
       $message[]= _("The 'Phone name' '0' is reserved and cannot be used.");
     }
 
-    /* Set new acl base */
-    if($this->dn == "new") {
-      $this->set_acl_base($this->base);
-    }
-
-    $ui= get_userinfo();
-    if ($this->dn == "new" && $this->acl_is_createable()){
-      $message[]= _("You have no permissions to create a phone on this 'Base'.");
-    }
-
     if ($this->orig_dn != $this->dn){
       $ldap= $this->config->get_ldap_link();
       $ldap->cd ($this->base);
index 7b55b0ed4d8475746fbc0120eb0f1d74bcfc3755..9457f8e029ecf9c302cc4dd42476639aadd466f9 100644 (file)
@@ -657,17 +657,6 @@ class printgeneric extends plugin
       $message[]= "The required field 'Printer name' is not set.";
     }
 
-    /* Set new acl base */
-    if($this->dn == "new") {
-      $this->set_acl_base($this->base);
-    }
-
-    if(preg_match("/printer/i",$this->BelongsTo)){
-      if ($this->orig_dn == "new" && !$this->acl_is_createable()){
-        $message[]= _("You have no permissions to create a group on this 'Base'.");
-      }
-    }
-    
     /* must: labeledURI */
     if(empty($this->labeledURI)){
       $message[]= "The required field 'Printer URL' is not set.";
index a840bca11218f1b620feb68aca70fad1fc6abe88..527f56bd8b9cc078e7e63bbd33630f83314f55e1 100644 (file)
@@ -252,16 +252,6 @@ class servgeneric extends plugin
       $message[]= _("The required field 'Server name' is not set.");
     }
     
-    /* Set new acl base */
-    if($this->dn == "new") {
-      $this->set_acl_base($this->base);
-    }
-
-    $ui= get_userinfo();
-    if (!$this->acl_is_createable() && $this->dn == "new"){
-      $message[]= _("You have no permissions to create a server on this 'Base'.");
-    }
-
     if ($this->orig_dn != $this->dn){
       $ldap= $this->config->get_ldap_link();
       $ldap->cd ($this->base);
@@ -270,8 +260,8 @@ class servgeneric extends plugin
         while ($attrs= $ldap->fetch()){
           if ($attrs['dn'] != $this->orig_dn){
             if(!preg_match("/,ou=incoming,/",$attrs['dn'])){
-            $message[]= sprintf (_("There is already an entry '%s' in the base choosen by you"), $this->cn);
-            break;
+              $message[]= sprintf (_("There is already an entry '%s' in the base choosen by you"), $this->cn);
+              break;
             }
           }
         }
index b82f778be77766ce939f6e96356be17cc62f1377..ca138cc72272400157fac43ec1929d7e0e2f9eba 100644 (file)
@@ -401,16 +401,6 @@ class termgeneric extends plugin
     /* Permissions for that base? */
     $this->dn= "cn=".$this->cn.",ou=terminals,ou=systems,".$this->base;
 
-    /* Set new acl base */
-    if($this->dn == "new") {
-      $this->set_acl_base($this->base);
-    }
-
-    $ui= get_userinfo();
-    if ($this->dn == "new" && !$this->acl_is_createable()){
-      $message[]= _("You have no permissions to create a terminal on this 'Base'.");
-    }
-
     if ($this->cn == ""){
       $message[]= _("The required field 'Terminal name' is not set.");
     }
index 7a4bbe8959026a9f7726144d7c0d1be1ee7b830d..0330d015e3443af3949ddf272230a2ca545aad1f 100644 (file)
@@ -220,7 +220,6 @@ class workgeneric extends plugin
       if($this->dialog->isClosed()){
         $this->dialog = false;
       }elseif($this->dialog->isSelected()){
-        $this->base = $this->dialog->isSelected();
 
         /* A new base was selected, check if it is a valid one */
         $tmp = $this->get_allowed_bases();
@@ -384,16 +383,6 @@ class workgeneric extends plugin
 
     $this->dn= "cn=".$this->cn.",ou=workstations,ou=systems,".$this->base;
 
-    /* Set new acl base */
-    if($this->dn == "new") {
-      $this->set_acl_base($this->base);
-    }
-
-    if ($this->orig_dn == "new" && !$this->acl_is_createable()){
-      $message[]= _("You have no permissions to create a workstation on this 'Base'.");
-    }
-
-
     if ($this->cn == ""){
       $message[]= _("The required field 'Workstation name' is not set.");
     }