]> git.tokkee.org Git - gosa.git/commitdiff

Code

Added base selector to roles
authorcajus <cajus@594d385d-05f5-0310-b6e9-bd551577e9d8>
Fri, 29 Jan 2010 14:44:16 +0000 (14:44 +0000)
committercajus <cajus@594d385d-05f5-0310-b6e9-bd551577e9d8>
Fri, 29 Jan 2010 14:44:16 +0000 (14:44 +0000)
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@15450 594d385d-05f5-0310-b6e9-bd551577e9d8

gosa-plugins/rolemanagement/admin/roleManagement/class_roleGeneric.inc
gosa-plugins/rolemanagement/admin/roleManagement/roleGeneric.tpl

index b27fef306f9bd0830cd183e3a3c53cd3ffb6ad6c..518b0e17b18a8553d19e8edd86b06791058e5c82 100644 (file)
@@ -52,6 +52,7 @@ class roleGeneric extends plugin {
  
   // 
   var $objCacheLoaded = FALSE;
+  var $baseSelector;
 
   /* Initialize the class 
    */
@@ -78,6 +79,12 @@ class roleGeneric extends plugin {
     $this->orig_base = $this->base;
     $this->orig_dn = $dn;
     $this->orig_cn = $this->cn;
+
+    /* Instanciate base selector */
+    $this->baseSelector= new baseSelector($this->get_allowed_bases(), $this->base);
+    $this->baseSelector->setSubmitButton(false);
+    $this->baseSelector->setHeight(300);
+    $this->baseSelector->update(true);
   }
 
 
@@ -184,8 +191,8 @@ class roleGeneric extends plugin {
 
     // Get smarty instance and assign required variables.
     $smarty = get_smarty();
-    $smarty->assign("bases", $tmp);
-    $smarty->assign("base_select",$this->base);
+    $smarty->assign("usePrototype", "true");
+    $smarty->assign("base", $this->baseSelector->render());
     $smarty->assign("members",$this->convert_list());
     foreach($this->attributes as $attr){
       $smarty->assign($attr,$this->$attr);
@@ -351,8 +358,16 @@ class roleGeneric extends plugin {
   function save_object()
   {
     plugin::save_object();  
-    if(isset($_POST['base'])){
-      $this->base = get_post('base');
+
+    /* Refresh base */
+    if ($this->acl_is_moveable($this->base)){
+      if (!$this->baseSelector->update()) {
+        msg_dialog::display(_("Error"), msgPool::permMove(), ERROR_DIALOG);
+      }
+      if ($this->base != $this->baseSelector->getBase()) {
+        $this->base= $this->baseSelector->getBase();
+        $this->is_modified= TRUE;
+      }
     }
   }  
 
index 3f74097fe258c7b3d2ff7774ed299b38b9ddb3f9..4e82a71a80a263a81e056bb9f66cb5c62d4ce68d 100644 (file)
           <td>
             <div style="height:10px;"></div>
       {render acl=$baseACL}
-            <select id="base" size="1" name="base" title="{t}Choose subtree to place user in{/t}">
-              {html_options options=$bases selected=$base_select}
-            </select>
-      {/render}
-      {render acl=$baseACL disable_picture='images/lists/folder_grey.png'}
-            <input type="image" name="chooseBase" src="images/lists/folder.png" class="center" 
-              title="{t}Select a base{/t}">
+            {$base}
       {/render}
           </td>
         </tr>