From: cajus Date: Fri, 29 Jan 2010 15:25:28 +0000 (+0000) Subject: Converted base selector X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=97e6df69add274a1273e8e83dec76d1515231b73;p=gosa.git Converted base selector git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@15457 594d385d-05f5-0310-b6e9-bd551577e9d8 --- diff --git a/gosa-plugins/goto/admin/devices/class_deviceGeneric.inc b/gosa-plugins/goto/admin/devices/class_deviceGeneric.inc index 1ceff18ae..b4a8ebe5a 100644 --- a/gosa-plugins/goto/admin/devices/class_deviceGeneric.inc +++ b/gosa-plugins/goto/admin/devices/class_deviceGeneric.inc @@ -14,6 +14,7 @@ class deviceGeneric extends plugin public $base = ""; public $types; public $type; + public $baseSelector; public $attributes = array("cn","description","devID","serial","vendor", "type"); public $objectclasses = array("top","gotoDevice"); @@ -59,14 +60,20 @@ class deviceGeneric extends plugin } $this->orig_base = $this->base; $this->orig_dn = $this->dn; + + /* 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); } public function execute() { $smarty = get_smarty(); - $smarty->assign("base",$this->base); - $smarty->assign("bases",$this->get_allowed_bases()); + $smarty->assign("usePrototype", "true"); + $smarty->assign("base", $this->baseSelector->render()); foreach($this->attributes as $attr){ $smarty->assign($attr,$this->$attr); } @@ -129,15 +136,19 @@ class deviceGeneric extends plugin public function save_object() { + /* 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; + } + } + if(isset($_POST['deviceGeneric_posted'])){ plugin::save_object(); - - if(isset($_POST['base'])){ - $tmp = $this->get_allowed_bases(); - if(isset($tmp[get_post("base")])){ - $this->base = get_post("base"); - } - } } } diff --git a/gosa-plugins/goto/admin/devices/deviceGeneric.tpl b/gosa-plugins/goto/admin/devices/deviceGeneric.tpl index 294dddbe8..523b81a2c 100644 --- a/gosa-plugins/goto/admin/devices/deviceGeneric.tpl +++ b/gosa-plugins/goto/admin/devices/deviceGeneric.tpl @@ -10,9 +10,7 @@ {render acl=$baseACL} - + {$base} {/render}