diff options
Diffstat (limited to 'application')
| -rw-r--r-- | application/controllers/BootmenuController.php | 12 | ||||
| -rw-r--r-- | application/forms/BootmenuEntriesAdd.php | 9 | ||||
| -rw-r--r-- | application/forms/BootmenuEntriesEdit.php | 8 |
3 files changed, 20 insertions, 9 deletions
diff --git a/application/controllers/BootmenuController.php b/application/controllers/BootmenuController.php index 26dba2d..e2f4a2b 100644 --- a/application/controllers/BootmenuController.php +++ b/application/controllers/BootmenuController.php @@ -60,6 +60,7 @@ class BootmenuController extends Zend_Controller_Action $addbootmenuentryForm = new Application_Form_BootmenuEntriesAdd(array('bootoslist'=>$bootosmapper->fetchAll(), 'maxorder'=> $this->_request->getParam('maxorder'), 'configlist'=>$configmapper->fetchAll())); $addbootmenuentryForm->populate(array('order' => $this->_request->getParam('maxorder'))); unset($_POST['kcl']); + unset($_POST['configID']); $addbootmenuentryForm->populate($_POST); } else { @@ -154,6 +155,7 @@ class BootmenuController extends Zend_Controller_Action $bootmenu->setID($bootmenuID); try { + $bootmenumapper->save($bootmenu); }catch(Zend_Exception $e) { @@ -187,12 +189,14 @@ class BootmenuController extends Zend_Controller_Action $bootmenuentrymapper->find($bootmenuentryID, $bootmenuentry); $editbootmenuentryForm = new Application_Form_BootmenuEntriesEdit(array('bootoslist'=>$bootosmapper->fetchAll(), 'maxorder' => $this->_request->getParam('maxorder'), 'configlist'=>$configmapper->fetchAll())); - if(!isset($_POST['kcl'])) + if(!isset($_POST['kcl'])){ $editbootmenuentryForm->populate($bootmenuentry->toArray()); - else - unset($_POST['bootmenuID']); + } + else{ + unset($_POST['kcl']); + unset($_POST['configID']); $editbootmenuentryForm->populate($_POST); - + } } }else{ $editbootmenuentryForm = new Application_Form_BootmenuEntriesEdit(array('bootoslist'=>$bootosmapper->fetchAll(), 'maxorder'=> $this->_request->getParam('maxorder'), 'configlist'=>$configmapper->fetchAll()),$_POST); diff --git a/application/forms/BootmenuEntriesAdd.php b/application/forms/BootmenuEntriesAdd.php index 2731f60..4aea750 100644 --- a/application/forms/BootmenuEntriesAdd.php +++ b/application/forms/BootmenuEntriesAdd.php @@ -45,7 +45,6 @@ class Application_Form_BootmenuEntriesAdd extends Zend_Form $bootosfield ->setLabel('BootOs:'); $bootosfield->setAttrib('onChange', "document.getElementById('BootMenuEntryAdd').submit();"); - if(count($this->bootoslist)>0){ foreach($this->bootoslist as $bootos => $b){ $bootosfield->addMultiOption($b->getID(), $b->getTitle()); @@ -68,14 +67,18 @@ class Application_Form_BootmenuEntriesAdd extends Zend_Form )); + $defaultconfigid = $this->bootoslist[$_POST['bootosID']]->getConfigID(); $configfield = $this->createElement('select','configID'); - $configfield ->setLabel('Config:'); + $configfield->setLabel('Config:'); + $configfield->addMultiOption($defaultconfigid, 'default'); if(count($this->configlist)>0){ foreach($this->configlist as $config => $c){ - $configfield->addMultiOption($c->getID(), $c->getTitle()); + if($c->getID() != $defaultconfigid) + $configfield->addMultiOption($c->getID(), $c->getTitle()); } } + $configfield->setRegisterInArrayValidator(false); $this->addElement($configfield); diff --git a/application/forms/BootmenuEntriesEdit.php b/application/forms/BootmenuEntriesEdit.php index 8eb4b95..1548129 100644 --- a/application/forms/BootmenuEntriesEdit.php +++ b/application/forms/BootmenuEntriesEdit.php @@ -67,12 +67,16 @@ class Application_Form_BootmenuEntriesEdit extends Zend_Form 'value' => $this->bootoslist[$_POST['bootosID']]->getDefaultkcl() )); + $defaultconfigid = $this->bootoslist[$_POST['bootosID']]->getConfigID(); $configfield = $this->createElement('select','configID'); - $configfield ->setLabel('Config:'); + $configfield->setLabel('Config:'); + $configfield->addMultiOption($defaultconfigid, 'default'); + if(count($this->configlist)>0){ foreach($this->configlist as $config => $c){ - $configfield->addMultiOption($c->getID(), $c->getTitle()); + if($c->getID() != $defaultconfigid) + $configfield->addMultiOption($c->getID(), $c->getTitle()); } } $configfield->setRegisterInArrayValidator(false); |
