From f4f9466a2dda60ed2422d367aa35978d2b25e9cb Mon Sep 17 00:00:00 2001 From: cajus Date: Fri, 29 Jan 2010 23:02:55 +0000 Subject: [PATCH] Removed old base select git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@15483 594d385d-05f5-0310-b6e9-bd551577e9d8 --- .../admin/systems/samba/class_winGeneric.inc | 56 ++++++------------- .../samba/admin/systems/samba/wingeneric.tpl | 8 +-- 2 files changed, 19 insertions(+), 45 deletions(-) diff --git a/gosa-plugins/samba/admin/systems/samba/class_winGeneric.inc b/gosa-plugins/samba/admin/systems/samba/class_winGeneric.inc index 6a907f6a0..029b6ca3e 100644 --- a/gosa-plugins/samba/admin/systems/samba/class_winGeneric.inc +++ b/gosa-plugins/samba/admin/systems/samba/class_winGeneric.inc @@ -33,6 +33,7 @@ class wingeneric extends plugin var $orig_cn; var $orig_base; + var $baseSelector; /* attribute list for save action */ var $ignore_account= TRUE; @@ -69,6 +70,12 @@ class wingeneric extends plugin $this->orig_dn= $this->dn; $this->orig_base= $this->base; $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); } @@ -104,40 +111,9 @@ class wingeneric extends plugin return($display); } - /* Base select dialog */ - $once = true; - foreach($_POST as $name => $value){ - if(preg_match("/^chooseBase/",$name) && $once){ - $once = false; - $this->dialog = new baseSelectDialog($this->config,$this); - $this->dialog->setCurrentBase($this->base); - } - } - - /* Dialog handling */ - if(is_object($this->dialog)){ - /* Must be called before save_object */ - $this->dialog->save_object(); - - if($this->dialog->isClosed()){ - $this->dialog = false; - }elseif($this->dialog->isSelected()){ - - /* A new base was selected, check if it is a valid one */ - $tmp = $this->get_allowed_bases(); - if(isset($tmp[$this->dialog->isSelected()])){ - $this->base = $this->dialog->isSelected(); - } - - $this->dialog= false; - }else{ - return($this->dialog->execute()); - } - } - /* Fill templating stuff */ $smarty= get_smarty(); - $smarty->assign("bases" , $this->get_allowed_bases()); + $smarty->assign("usePrototype", "true"); $tmp = $this->plInfo(); foreach($tmp['plProvidedAcls'] as $name => $translated){ @@ -149,7 +125,7 @@ class wingeneric extends plugin $smarty->assign("$attr", $this->$attr); } - $smarty->assign("base_select", $this->base); + $smarty->assign("base", $this->baseSelector->render()); /* Show main page */ $str = $this->netConfigDNS->execute(); @@ -194,13 +170,17 @@ class wingeneric extends plugin $this->netConfigDNS->save_object(); - /* Set new base if allowed */ - $tmp = $this->get_allowed_bases(); - if(isset($_POST['base'])){ - if(isset($tmp[$_POST['base']])){ - $this->base= $_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; } } + } diff --git a/gosa-plugins/samba/admin/systems/samba/wingeneric.tpl b/gosa-plugins/samba/admin/systems/samba/wingeneric.tpl index 5d6bfa859..5e00fa98e 100644 --- a/gosa-plugins/samba/admin/systems/samba/wingeneric.tpl +++ b/gosa-plugins/samba/admin/systems/samba/wingeneric.tpl @@ -17,13 +17,7 @@ {$must} {render acl=$baseACL} - -{/render} - -{render acl=$baseACL disable_picture='images/lists/folder_grey.png'} - +{$base} {/render} -- 2.30.2