summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--application/controllers/EventController.php24
-rw-r--r--application/forms/EventAdd.php65
-rw-r--r--application/forms/EventEdit.php17
-rw-r--r--public/media/js/script.js49
4 files changed, 99 insertions, 56 deletions
diff --git a/application/controllers/EventController.php b/application/controllers/EventController.php
index dc3ecd6..cf6f991 100644
--- a/application/controllers/EventController.php
+++ b/application/controllers/EventController.php
@@ -248,17 +248,24 @@ class EventController extends Zend_Controller_Action
$addForm = new Application_Form_EventAdd(array('eventcategorylist' => $eventcategorylist, 'bootoslist' => $bootoslist, 'poollist' => $poollist, 'start' => $start, 'end' => $end, $this->getRequest()->getParams()));
if ($addForm->isValid($this->getRequest()->getParams())) {
$params = $this->getRequest()->getParams();
- $params['start'] = date ('Y-m-d H:i', strtotime($this->getRequest()->getParam('start')));
- if($params['end']) {
- $params['end'] = date ('Y-m-d H:i', strtotime($this->getRequest()->getParam('end')));
- } else {
+ if($params['immediate']) {
+ $params['start'] = date ('Y-m-d H:i', time());
unset($params['end']);
- }
- if($params['repeatEnd']) {
- $params['repeatEnd'] = date ('Y-m-d H:i', strtotime($this->getRequest()->getParam('repeatEnd')));
- } else {
unset($params['repeatEnd']);
$params['repeat'] = 0;
+ } else {
+ $params['start'] = date ('Y-m-d H:i', strtotime($this->getRequest()->getParam('start')));
+ if($params['end']) {
+ $params['end'] = date ('Y-m-d H:i', strtotime($this->getRequest()->getParam('end')));
+ } else {
+ unset($params['end']);
+ }
+ if($params['repeatEnd']) {
+ $params['repeatEnd'] = date ('Y-m-d H:i', strtotime($this->getRequest()->getParam('repeatEnd')));
+ } else {
+ unset($params['repeatEnd']);
+ $params['repeat'] = 0;
+ }
}
$event = new Application_Model_Event($params);
$event->setPbs_membershipID($this->userIDsNamespace['membershipID']);
@@ -443,6 +450,7 @@ class EventController extends Zend_Controller_Action
$filterApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['deletefilter'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', "bootmenuid=" . $event->getPbs_filterID());
unset($filterApiResult);
}
+ $params['immediate'] = 0;
$event->setOptions($params);
$event->setID($eventID);
$bootmenuquery = "bootosID=" . $event->getPbs_bootosID() . "&startcounter=0&title=" . $event->getTitle() . "&defaultbootmenu=1&order=0&kcl=0";
diff --git a/application/forms/EventAdd.php b/application/forms/EventAdd.php
index 8d10686..ed62d74 100644
--- a/application/forms/EventAdd.php
+++ b/application/forms/EventAdd.php
@@ -112,9 +112,10 @@ class Application_Form_EventAdd extends Zend_Form
));
$this->addElement('checkbox', 'immediate', array(
- 'required' => false,
- 'label' => 'Immediate Event:',
- 'value'=>array(0,1),
+ 'onchange' => 'immediateChanged("immediate")',
+ 'required' => false,
+ 'label' => 'Immediate Event:',
+ 'value' => array(0,1),
));
$this->addElement('text', 'start', array(
@@ -156,51 +157,51 @@ class Application_Form_EventAdd extends Zend_Form
'required' => false,
'label' => 'Repeat end:',
'value' => 'mm/dd/yyyy H:min'
- ));
+ ));
- $this->addElement('text', 'participants', array(
+ $this->addElement('text', 'participants', array(
'filters' => array('StringTrim'),
'validators' => array(
- array('StringLength', false, array(0, 40)),
- ),
+ array('StringLength', false, array(0, 40)),
+ ),
'required' => false,
'label' => 'Participants:',
- ));
+ ));
- $this->addElement('text', 'note', array(
+ $this->addElement('text', 'note', array(
'filters' => array('StringTrim'),
'validators' => array(
- array('StringLength', false, array(0, 140)),
- ),
+ array('StringLength', false, array(0, 140)),
+ ),
'required' => false,
'label' => 'Note:',
- ));
+ ));
- $poolfield = $this->createElement('select','pbs_poolID');
- $poolfield ->setLabel('Pool:');
+ $poolfield = $this->createElement('select','pbs_poolID');
+ $poolfield ->setLabel('Pool:');
- if(count($this->poollist)>0){
- foreach($this->poollist as $pool => $p){
- $poolfield->addMultiOption($p->getID(), $p->getTitle());
- }
- }
+ if(count($this->poollist)>0){
+ foreach($this->poollist as $pool => $p){
+ $poolfield->addMultiOption($p->getID(), $p->getTitle());
+ }
+ }
- $poolfield->setRegisterInArrayValidator(false);
- $this->addElement($poolfield);
+ $poolfield->setRegisterInArrayValidator(false);
+ $this->addElement($poolfield);
- $bootosfield = $this->createElement('select','pbs_bootosID');
- $bootosfield ->setLabel('BootOS:');
+ $bootosfield = $this->createElement('select','pbs_bootosID');
+ $bootosfield ->setLabel('BootOS:');
- if(count($this->bootoslist)>0){
- foreach($this->bootoslist as $bootos => $b){
- $bootosfield->addMultiOption($b->getID(), $b->getTitle());
- }
- }
+ if(count($this->bootoslist)>0){
+ foreach($this->bootoslist as $bootos => $b){
+ $bootosfield->addMultiOption($b->getID(), $b->getTitle());
+ }
+ }
- $bootosfield->setRegisterInArrayValidator(false);
- $this->addElement($bootosfield);
+ $bootosfield->setRegisterInArrayValidator(false);
+ $this->addElement($bootosfield);
- $this->addElement('submit', 'add', array(
+ $this->addElement('submit', 'add', array(
'required' => false,
'ignore' => true,
'label' => 'Create Event'
@@ -210,7 +211,7 @@ class Application_Form_EventAdd extends Zend_Form
'required' => false,
'ignore' => true,
'label' => 'Cancel',
- 'onclick' => 'location.href="javascript:history.back();"',
+ 'onclick' => 'location.href="/event/"',
));
echo '<script type="text/javascript">
diff --git a/application/forms/EventEdit.php b/application/forms/EventEdit.php
index fb3faa3..e6a4c7a 100644
--- a/application/forms/EventEdit.php
+++ b/application/forms/EventEdit.php
@@ -84,21 +84,6 @@ class Application_Form_EventEdit extends Zend_Form
'value' => $this->params['title'],
));
- if( $this->params['immediate'] == 1) {
- $this->addElement('checkbox', 'immediate', array(
- 'required' => false,
- 'label' => 'Immediate Event:',
- 'value'=>array(0,1),
- 'checked' => 'checked',
- ));
- } else {
- $this->addElement('checkbox', 'immediate', array(
- 'required' => false,
- 'label' => 'Immediate Event:',
- 'value'=>array(0,1),
- ));
- }
-
$this->addElement('text', 'start', array(
'filters' => array('StringTrim'),
'validators' => array(
@@ -233,7 +218,7 @@ class Application_Form_EventEdit extends Zend_Form
'required' => false,
'ignore' => true,
'label' => 'Cancel',
- 'onclick' => 'location.href="javascript:history.back();"',
+ 'onclick' => 'location.href="/event/"',
));
echo '<script type="text/javascript">
diff --git a/public/media/js/script.js b/public/media/js/script.js
index 696bac8..a2447e2 100644
--- a/public/media/js/script.js
+++ b/public/media/js/script.js
@@ -101,6 +101,46 @@ function repeatChanged(name) {
}
}
+function immediateChanged(name) {
+ if (getElementAttribute(name, 'checked')) {
+ setElementInvisible("start-label");
+ setElementInvisible("start-element");
+ setElementInvisible("end-label");
+ setElementInvisible("end-element");
+ setElementInvisible("repeat-label");
+ setElementInvisible("repeat-element");
+ setElementInvisible("repeatEnd-label");
+ setElementInvisible("repeatEnd-element");
+ setElementInvisible("note-label");
+ setElementInvisible("note-element");
+ setElementInvisible("participants-label");
+ setElementInvisible("participants-element");
+ disableElement('start');
+ disableElement('end');
+ disableElement('repeat');
+ disableElement('repeatEnd');
+ disableElement('note');
+ disableElement('participants');
+ } else {
+ setElementVisible("start-label");
+ setElementVisible("start-element");
+ setElementVisible("end-label");
+ setElementVisible("end-element");
+ setElementVisible("repeat-label");
+ setElementVisible("repeat-element");
+ setElementVisible("note-label");
+ setElementVisible("note-element");
+ setElementVisible("participants-label");
+ setElementVisible("participants-element");
+ enableElement('start');
+ enableElement('end');
+ enableElement('repeat');
+ enableElement('note');
+ enableElement('participants');
+ repeatChanged('repeat');
+ }
+}
+
function addeventcategoryfieldChanged(name) {
option = $('#' + name + ' option[value="' + getElementValue(name) + '"]');
label = option.attr('label');
@@ -108,19 +148,28 @@ function addeventcategoryfieldChanged(name) {
if (label == 'Boot' || label == 'Shutdown') {
setElementInvisible("end-label");
setElementInvisible("end-element");
+ setElementVisible("immediate-label");
+ setElementVisible("immediate-element");
+ enableElement('immediate');
disableElement('end');
removeElementAttribute('repeat', 'checked');
startLabel.children().text('Date:');
} else if (label == 'Lecture') {
setElementVisible("end-label");
setElementVisible("end-element");
+ setElementInvisible("immediate-label");
+ setElementInvisible("immediate-element");
enableElement('end');
+ disableElement('immediate');
setElementAttribute('repeat', 'checked', 'checked');
startLabel.children().text('Start:');
} else {
setElementVisible("end-label");
setElementVisible("end-element");
+ setElementInvisible("immediate-label");
+ setElementInvisible("immediate-element");
enableElement('end');
+ disableElement('immediate');
removeElementAttribute('repeat', 'checked');
startLabel.children().text('Start:');
}