summaryrefslogtreecommitdiffstats
path: root/application/modules/user/forms
diff options
context:
space:
mode:
authormichael pereira2011-04-25 11:40:40 +0200
committermichael pereira2011-04-25 11:40:40 +0200
commite2d929c54a0d951c9bae51df7df5178bf9f0066f (patch)
tree142a271540cb0467350c91d1818340b0b09c8b7f /application/modules/user/forms
parentauto-close removed, handled by fbgui now (diff)
downloadpbs2-e2d929c54a0d951c9bae51df7df5178bf9f0066f.tar.gz
pbs2-e2d929c54a0d951c9bae51df7df5178bf9f0066f.tar.xz
pbs2-e2d929c54a0d951c9bae51df7df5178bf9f0066f.zip
config fertig
Diffstat (limited to 'application/modules/user/forms')
-rw-r--r--application/modules/user/forms/BootmenuEntries.php5
-rw-r--r--application/modules/user/forms/Bootos.php3
-rw-r--r--application/modules/user/forms/BootosUser.php161
-rw-r--r--application/modules/user/forms/Config.php24
4 files changed, 178 insertions, 15 deletions
diff --git a/application/modules/user/forms/BootmenuEntries.php b/application/modules/user/forms/BootmenuEntries.php
index 1177d1c..93e3206 100644
--- a/application/modules/user/forms/BootmenuEntries.php
+++ b/application/modules/user/forms/BootmenuEntries.php
@@ -130,12 +130,11 @@ class user_Form_BootmenuEntries extends Zend_Form
$configfield->setLabel('Config:');
$configfield->setAttrib('readOnly', $meta);
- $options = array('Preset' => array('default' => 'default'), 'Custom' => array());
+ $options = array('Preset' => array(), 'Custom' => array());
if(count($this->configlist)>0){
foreach($this->configlist as $k => $v){
- foreach($v as $c)
- //if($c->getID() != $defaultconfigid)
+ foreach($v[$_POST['bootosID']] as $c)
$options[$k][$c->getID()] = $c->getTitle();
}
}
diff --git a/application/modules/user/forms/Bootos.php b/application/modules/user/forms/Bootos.php
index c4b1c70..5e20a8a 100644
--- a/application/modules/user/forms/Bootos.php
+++ b/application/modules/user/forms/Bootos.php
@@ -121,20 +121,17 @@ class user_Form_Bootos extends Zend_Form
));
$this->addElement('file', 'kernel', array(
- 'required' => $filereq,
'readOnly' => $meta,
'label' => 'Kernel:',
));
$this->addElement('file', 'init', array(
- 'required' => $filereq,
'readOnly' => $meta,
'label' => 'Initramfs:',
));
$this->addElement('file', 'config', array(
'validators' => array(array('Extension', false, array('tgz'))),
- 'required' => $filereq,
'readOnly' => $meta,
'label' => 'Config:',
));
diff --git a/application/modules/user/forms/BootosUser.php b/application/modules/user/forms/BootosUser.php
new file mode 100644
index 0000000..d5700d5
--- /dev/null
+++ b/application/modules/user/forms/BootosUser.php
@@ -0,0 +1,161 @@
+ <?php
+/*
+ * Copyright (c) 2011 - OpenSLX GmbH, RZ Uni Freiburg
+ * This program is free software distributed under the GPL version 2.
+ * See http://gpl.openslx.org/
+ *
+ * If you have any feedback please consult http://feedback.openslx.org/ and
+ * send your suggestions, praise, or complaints to feedback@openslx.org
+ *
+ * General information about OpenSLX can be found at http://openslx.org/
+ */
+
+class user_Form_BootosUser extends Zend_Form
+{
+
+ private $action;
+ private $type;
+ private $configID;
+ private $hometype;
+
+ public function setAction($action){
+ $this->action = $action;
+ }
+ public function setType($type){
+ $this->type = $type;
+ }
+ public function setConfigID($configID){
+ $this->configID = $configID;
+ }
+ public function setHometype($hometype){
+ $this->hometype = $hometype;
+ }
+
+
+ public function init()
+ {
+ $this->setName($this->action);
+ $this->setMethod('post');
+
+ if (!Pbs_Acl::checkRight('ce') && $this->action == 'editbootosuser')
+ $meta = true;
+ else
+ $meta = null;
+
+ if(!isset($_POST['hometypeID'])){
+ $_POST['hometypeID'] = '0';
+ }
+
+ $this->addElement('text', 'login', array(
+ 'filters' => array('StringTrim'),
+ 'validators' => array(
+ array('StringLength', false, array(0, 50)),
+ ),
+ 'required' => true,
+ 'label' => 'Login-Name:',
+ 'value' => $_POST['login'],
+ 'description' => 'Tip: Use %username% as a Wildcard'
+ ));
+
+ $this->addElement('password', 'password', array(
+ 'filters' => array('StringTrim'),
+ 'validators' => array(
+ array('StringLength', false, array(6)),
+ ),
+ 'required' => true,
+ 'label' => 'Password:',
+ 'errorMessages' => array('Please enter a password with more than 6 characters')
+ ));
+
+ $this->addElement('password', 'repeat_password', array(
+ 'filters' => array('StringTrim'),
+ 'validators' => array(
+ array('StringLength', false, array(6)),
+ ),
+ 'required' => true,
+ 'label' => 'Repeat Password:',
+ 'errorMessages' => array('Please repeat the password correctly'),
+ 'description' => 'Tip: Use %password% as a Wildcard'
+ ));
+
+
+
+ $hometypefield = $this->createElement('select','hometypeID');
+ $hometypefield->setLabel('Hometype:');
+ $hometypefield->setAttrib('readOnly', $meta);
+ $hometypefield->setAttrib('onChange', "document.getElementById('".$this->action."').submit();");
+ $hometypefield->setValue($_POST['hometypeID']);
+ foreach($this->hometype as $k => $ht){
+ $hometypefield->addMultiOption($ht->getID(), $ht->getName());
+ }
+
+ $this->addElement($hometypefield);
+
+ if($_POST['hometypeID'] == 0){
+ $this->addElement('text', 'homepath', array(
+ 'filters' => array('StringTrim'),
+ 'validators' => array(
+ array('StringLength', false, array(0, 50)),
+ ),
+ 'required' => true,
+ 'label' => 'Home-Path:',
+ 'size' => '30',
+ 'readOnly' => true,
+ 'value' => '/home/%login-name%'
+ ));
+ }elseif($_POST['hometypeID'] == 1){
+ $this->addElement('text', 'homepath', array(
+ 'filters' => array('StringTrim'),
+ 'validators' => array(
+ array('StringLength', false, array(0, 50)),
+ ),
+ 'required' => true,
+ 'label' => 'Home-Path:',
+ 'size' => '30',
+ 'readOnly' => true,
+ 'value' => 'usbstick://home/%login-name%'
+ ));
+ }else{
+ $this->addElement('text', 'homepath', array(
+ 'filters' => array('StringTrim'),
+ 'validators' => array(
+ array('StringLength', false, array(0, 50)),
+ ),
+ 'size' => '30',
+ 'required' => true,
+ 'label' => 'Home-Path:',
+ 'readOnly' => $meta
+ ));
+ }
+
+ if($this->action == "addbootosuser")
+ $label = "Add User";
+ else
+ $label = "Edit User";
+
+ $this->addElement('submit', $this->action, array(
+ 'required' => false,
+ 'ignore' => true,
+ 'label' => $label
+ ));
+
+ $this->addElement('button', 'Cancel', array(
+ 'onclick' => 'self.location="/user/config/showconfig/type/'.$this->type.'/configID/'.$this->configID.'"'
+ ));
+
+
+ $pbsNotifier = new Pbs_Notifier();
+ echo $pbsNotifier->notify('Use <b>%username%</b> and <b>%password%</b> as Wildcards for Login and Password.','info');
+ }
+
+ public function isValid($data)
+ {
+ $this->getElement('repeat_password')->
+ addValidator(new Zend_Validate_Identical($data['password']));
+
+ return parent::isValid($data);
+ }
+
+}
+?>
+
diff --git a/application/modules/user/forms/Config.php b/application/modules/user/forms/Config.php
index 53e260d..3b961b9 100644
--- a/application/modules/user/forms/Config.php
+++ b/application/modules/user/forms/Config.php
@@ -1,4 +1,4 @@
-<?php
+ <?php
/*
* Copyright (c) 2011 - OpenSLX GmbH, RZ Uni Freiburg
* This program is free software distributed under the GPL version 2.
@@ -26,6 +26,7 @@ class user_Form_Config extends Zend_Form
public function setType($type){
$this->type = $type;
}
+
public function init()
{
$this->setName($this->action);
@@ -45,18 +46,23 @@ class user_Form_Config extends Zend_Form
'label' => 'Title:',
));
-
- $this->addElement('textarea', 'shellscript', array(
+ $this->addElement('textarea', 'description', array(
'filters' => array('StringTrim'),
'validators' => array(
array('StringLength', false, array(0, 50)),
),
- 'required' => true,
- 'rows' => 10,
- 'cols' => 70,
- 'readOnly' => $meta,
- 'label' => 'Shellscript:',
- ));
+ 'required' => false,
+ 'rows' => 5,
+ 'cols' => 50,
+ 'label' => 'Description:',
+ ));
+
+ if($this->type == 'group'){
+ $visible = $this->createElement('checkbox','visible');
+ $visible->setLabel('Visible:');
+ $visible->setAttrib('readOnly', $meta);
+ $this->addElement($visible);
+ }
if($this->action == "createconfig")
$label = "Create Config";