summaryrefslogtreecommitdiffstats
path: root/application
diff options
context:
space:
mode:
authorSimon2011-03-06 18:24:51 +0100
committerSimon2011-03-06 18:24:51 +0100
commit398f25856f0f8a398fd9326eb027816ee035b7a6 (patch)
tree24cc098acaa80cb5a912e87ce245f4199999b8c8 /application
parentprint_a funktion zum debugging hinzugefügt damit sie von überall benutzbar ... (diff)
parentConfig fertig (diff)
downloadpbs2-398f25856f0f8a398fd9326eb027816ee035b7a6.tar.gz
pbs2-398f25856f0f8a398fd9326eb027816ee035b7a6.tar.xz
pbs2-398f25856f0f8a398fd9326eb027816ee035b7a6.zip
Merge branch 'master' of openslx.org:lsfks/master-teamprojekt/pbs2
Diffstat (limited to 'application')
-rw-r--r--application/controllers/BootosController.php2
-rw-r--r--application/controllers/ConfigController.php82
-rw-r--r--application/forms/BootosEdit.php8
-rw-r--r--application/forms/ConfigCreate.php45
-rw-r--r--application/forms/ConfigEdit.php45
-rw-r--r--application/models/Config.php22
-rw-r--r--application/models/ConfigMapper.php6
-rw-r--r--application/views/scripts/config/createconfig.phtml5
-rw-r--r--application/views/scripts/config/editconfig.phtml5
-rw-r--r--application/views/scripts/config/index.phtml8
10 files changed, 201 insertions, 27 deletions
diff --git a/application/controllers/BootosController.php b/application/controllers/BootosController.php
index 5f096a6..69621f0 100644
--- a/application/controllers/BootosController.php
+++ b/application/controllers/BootosController.php
@@ -52,7 +52,7 @@ class BootosController extends Zend_Controller_Action
if (!isset($_POST["editbootos"])){
$bootosID = $this->_request->getParam('bootosID');
- if (!isset($bootosID)){
+ if (!isset($bootosID) || !is_numeric($bootosID)){
$this->_redirect('/bootos');
} else {
$bootos = new Application_Model_BootOs();
diff --git a/application/controllers/ConfigController.php b/application/controllers/ConfigController.php
index 61d58f1..de64cbf 100644
--- a/application/controllers/ConfigController.php
+++ b/application/controllers/ConfigController.php
@@ -5,27 +5,97 @@ class ConfigController extends Zend_Controller_Action
public function init()
{
- /* Initialize action controller here */
- }
+ $db = Zend_Db_Table::getDefaultAdapter();
+ }
public function indexAction()
{
- // action body
+ $configmapper = new Application_Model_ConfigMapper();
+ $this->view->configlist = $configmapper->fetchAll();
}
public function createconfigAction()
{
- // action body
+ if (!isset($_POST["createconfig"])){
+ $createconfigForm = new Application_Form_ConfigCreate();
+ } else {
+
+ $createconfigForm = new Application_Form_ConfigCreate($_POST);
+
+ if ($createconfigForm->isValid($_POST)) {
+
+ $config = new Application_Model_Config($_POST);
+ $configmapper = new Application_Model_ConfigMapper();
+
+ try {
+ $configmapper->save($config);
+ }catch(Zend_Exception $e)
+ {
+ echo "Caught exception: " . get_class($e) . "<br/>";
+ echo "Message: " . $e->getMessage() . "<br/>";
+
+ }
+ $this->_redirect('/config');
+ }
+ }
+
+ $this->view->createconfigForm = $createconfigForm;
}
public function editconfigAction()
{
- // action body
+ $configID = $this->_request->getParam('configID');
+
+ if (!isset($_POST["editconfig"])){
+ $configID = $this->_request->getParam('configID');
+ if (!isset($configID) || !is_numeric($configID)){
+ $this->_redirect('/config');
+ } else {
+ $config = new Application_Model_Config();
+ $configmapper = new Application_Model_ConfigMapper();
+ $configmapper->find($configID, $config);
+
+ $editconfigForm = new Application_Form_ConfigEdit();
+ $editconfigForm->populate($config->toArray());
+ }
+ }else{
+ $editconfigForm = new Application_Form_ConfigEdit($_POST);
+
+ if ($editconfigForm->isValid($_POST)) {
+
+ $config = new Application_Model_Config($_POST);
+ $configmapper = new Application_Model_ConfigMapper();
+
+ $config->setID($configID);
+
+ try {
+ $configmapper->save($config);
+ }catch(Zend_Exception $e)
+ {
+ echo "Caught exception: " . get_class($e) . "<br/>";
+ echo "Message: " . $e->getMessage() . "<br/>";
+ }
+
+ $this->_redirect('/config');
+ }
+
+ }
+
+ $this->view->editconfigForm = $editconfigForm;
}
public function deleteconfigAction()
{
- // action body
+ $configID = $this->_request->getParam('configID');
+ if (!isset($configID)){
+ $this->_redirect('/config');
+ } else {
+ $config = new Application_Model_Config();
+ $config->setID($configID);
+ $configmapper = new Application_Model_ConfigMapper();
+ $configmapper->delete($config);
+ }
+ $this->_redirect('/config');
}
diff --git a/application/forms/BootosEdit.php b/application/forms/BootosEdit.php
index 3bc522f..89edf79 100644
--- a/application/forms/BootosEdit.php
+++ b/application/forms/BootosEdit.php
@@ -17,6 +17,14 @@ class Application_Form_BootosEdit extends Zend_Form
'label' => 'Title:',
));
+ $this->addElement('text', 'title', array(
+ 'filters' => array('StringTrim'),
+ 'validators' => array(
+ array('StringLength', false, array(0, 50)),
+ ),
+ 'required' => true,
+ 'label' => 'Title:',
+ ));
$this->addElement('text', 'configID', array(
'filters' => array('StringTrim'),
diff --git a/application/forms/ConfigCreate.php b/application/forms/ConfigCreate.php
index 2c9516d..705fd62 100644
--- a/application/forms/ConfigCreate.php
+++ b/application/forms/ConfigCreate.php
@@ -1,13 +1,52 @@
<?php
-class Application_Form_ConfigAdd extends Zend_Form
+class Application_Form_ConfigCreate extends Zend_Form
{
public function init()
{
- /* Form Elements & Other Definitions Here ... */
- }
+ $this->setName("ConfigCreate");
+ $this->setMethod('post');
+
+ $this->addElement('text', 'title', array(
+ 'filters' => array('StringTrim'),
+ 'validators' => array(
+ array('StringLength', false, array(0, 50)),
+ ),
+ 'required' => true,
+ 'label' => 'Title:',
+ ));
+
+ $this->addElement('text', 'groupID', array(
+ 'filters' => array('StringTrim'),
+ 'validators' => array(
+ array('StringLength', false, array(0, 50)),
+ ),
+ 'required' => true,
+ 'label' => 'GroupID:',
+ 'value' => '1',
+ ));
+
+ $this->addElement('textarea', 'shellscript', array(
+ 'filters' => array('StringTrim'),
+ 'validators' => array(
+ array('StringLength', false, array(0, 50)),
+ ),
+ 'required' => true,
+ 'label' => 'Shellscript:',
+ ));
+
+ $this->addElement('submit', 'createconfig', array(
+ 'required' => false,
+ 'ignore' => true,
+ 'label' => 'Create Config',
+ ));
+
+ $this->addElement('button', 'Cancel', array(
+ 'onclick' => 'self.location="/config"'
+ ));
+ }
}
diff --git a/application/forms/ConfigEdit.php b/application/forms/ConfigEdit.php
index 6403f06..3883595 100644
--- a/application/forms/ConfigEdit.php
+++ b/application/forms/ConfigEdit.php
@@ -3,11 +3,50 @@
class Application_Form_ConfigEdit extends Zend_Form
{
- public function init()
+ public function init()
{
- /* Form Elements & Other Definitions Here ... */
- }
+ $this->setName("ConfigEdit");
+ $this->setMethod('post');
+
+ $this->addElement('text', 'title', array(
+ 'filters' => array('StringTrim'),
+ 'validators' => array(
+ array('StringLength', false, array(0, 50)),
+ ),
+ 'required' => true,
+ 'label' => 'Title:',
+ ));
+
+ $this->addElement('text', 'groupID', array(
+ 'filters' => array('StringTrim'),
+ 'validators' => array(
+ array('StringLength', false, array(0, 50)),
+ ),
+ 'required' => true,
+ 'label' => 'GroupID:',
+ 'value' => '1',
+ ));
+
+ $this->addElement('textarea', 'shellscript', array(
+ 'filters' => array('StringTrim'),
+ 'validators' => array(
+ array('StringLength', false, array(0, 50)),
+ ),
+ 'required' => true,
+ 'label' => 'Shellscript:',
+ ));
+
+ $this->addElement('submit', 'editconfig', array(
+ 'required' => false,
+ 'ignore' => true,
+ 'label' => 'Edit Config',
+ ));
+
+ $this->addElement('button', 'Cancel', array(
+ 'onclick' => 'self.location="/config"'
+ ));
+ }
}
diff --git a/application/models/Config.php b/application/models/Config.php
index b9a29dc..8107705 100644
--- a/application/models/Config.php
+++ b/application/models/Config.php
@@ -3,7 +3,8 @@
class Application_Model_Config
{
protected $_configID;
- protected $_membershipID;
+ protected $_groupID;
+ protected $_title;
protected $_shellscript;
public function __construct(array $options = null)
@@ -53,13 +54,13 @@ class Application_Model_Config
$this->_configID = $_configID;
return $this;
}
- public function getMembershipID()
+ public function getGroupID()
{
- return $this->_membershipID;
+ return $this->_groupID;
}
- public function setMembershipID($_membershipID)
+ public function setGroupID($_groupID)
{
- $this->_membershipID = $_membershipID;
+ $this->_groupID = $_groupID;
return $this;
}
public function getShellscript()
@@ -71,6 +72,17 @@ class Application_Model_Config
$this->_shellscript = $_shellscript;
return $this;
}
+ public function getTitle()
+ {
+ return $this->_title;
+ }
+ public function setTitle($_title)
+ {
+ $this->_title = $_title;
+ return $this;
+ }
+
+
/**
* Returns current data as associative array using ReflectionClass
*
diff --git a/application/models/ConfigMapper.php b/application/models/ConfigMapper.php
index 10d590b..52dcb86 100644
--- a/application/models/ConfigMapper.php
+++ b/application/models/ConfigMapper.php
@@ -32,7 +32,7 @@ class Application_Model_ConfigMapper
public function save(Application_Model_Config $config)
{
- $data = array('configID'=> $config->getID() ,'membershipID'=> $config->getMembershipID() ,'shellscript'=> $config->getShellscript() );
+ $data = array('configID'=> $config->getID() ,'groupID'=> $config->getGroupID() ,'shellscript'=> $config->getShellscript(), 'title'=> $config->getTitle() );
if (null === ($id = $config->getID()) ) {
unset($data['configID']);
@@ -60,7 +60,7 @@ class Application_Model_ConfigMapper
$row = $result->current();
- $config->setID($row->configID)->setMembershipID($row->membershipID)->setShellscript($row->shellscript);
+ $config->setID($row->configID)->setGroupID($row->groupID)->setShellscript($row->shellscript)->setTitle($row->title);
}
public function fetchAll()
@@ -70,7 +70,7 @@ class Application_Model_ConfigMapper
foreach ($resultSet as $row) {
$entry = new Application_Model_Config();
- $entry->setID($row->configID)->setMembershipID($row->membershipID)->setShellscript($row->shellscript);
+ $entry->setID($row->configID)->setGroupID($row->groupID)->setShellscript($row->shellscript)->setTitle($row->title);
$entries[] = $entry;
}
diff --git a/application/views/scripts/config/createconfig.phtml b/application/views/scripts/config/createconfig.phtml
index 5b92915..e6edf7b 100644
--- a/application/views/scripts/config/createconfig.phtml
+++ b/application/views/scripts/config/createconfig.phtml
@@ -1 +1,4 @@
-<br /><br /><center>View script for controller <b>Config</b> and script/action name <b>createconfig</b></center> \ No newline at end of file
+<?php
+$this->createconfigForm->setAction($this->url());
+echo $this->createconfigForm;
+?>
diff --git a/application/views/scripts/config/editconfig.phtml b/application/views/scripts/config/editconfig.phtml
index 0e002b7..4971f2e 100644
--- a/application/views/scripts/config/editconfig.phtml
+++ b/application/views/scripts/config/editconfig.phtml
@@ -1 +1,4 @@
-<br /><br /><center>View script for controller <b>Config</b> and script/action name <b>editconfig</b></center> \ No newline at end of file
+<?php
+$this->editconfigForm->setAction($this->url());
+echo $this->editconfigForm;
+?>
diff --git a/application/views/scripts/config/index.phtml b/application/views/scripts/config/index.phtml
index a91cb9c..ea6c381 100644
--- a/application/views/scripts/config/index.phtml
+++ b/application/views/scripts/config/index.phtml
@@ -24,16 +24,16 @@
array(
'controller' => 'config',
'action' => 'deleteconfig',
- 'bootosID' => $bootos->getID()
+ 'configID' => $config->getID()
),
'default',
- true) ?>">Delete BootOS</a></td>
+ true) ?>">Delete Config</a></td>
</tr>
<?php endforeach; ?>
</table>
<br/>
-<?php echo $this->formButton('createbootos', 'Create BootOS', array(
- 'onclick' => 'self.location="/bootos/createbootos"'))?>
+<?php echo $this->formButton('createconfig', 'Create Config', array(
+ 'onclick' => 'self.location="/config/createconfig"'))?>