summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xapplication/forms/EventAdd.php75
-rwxr-xr-xapplication/forms/EventEdit.php116
-rwxr-xr-xpublic/media/js/script.js31
3 files changed, 172 insertions, 50 deletions
diff --git a/application/forms/EventAdd.php b/application/forms/EventAdd.php
index 90d25f6..d20d0cc 100755
--- a/application/forms/EventAdd.php
+++ b/application/forms/EventAdd.php
@@ -186,6 +186,7 @@ class Application_Form_EventAdd extends Zend_Form
),
'required' => false,
'label' => 'Repeat End:',
+ 'onchange' => 'repeatOptionChanged("repeatOption");',
));
$this->addElement('text', 'repeatEnd', array(
@@ -194,55 +195,65 @@ class Application_Form_EventAdd extends Zend_Form
array('StringLength', false, array(0, 16)),
),
'required' => false,
- 'label' => 'Repeat end:',
- 'value' => 'mm/dd/yyyy H:min'
- ));
+ 'label' => 'Repeat End Date:',
+ 'value' => 'mm/dd/yyyy H:min',
+ ));
+
+ $this->addElement('text', 'repeatings', array(
+ 'filters' => array('StringTrim'),
+ 'validators' => array(
+ array('StringLength', false, array(0, 16)),
+ ),
+ 'required' => false,
+ 'label' => 'Repeatings:',
+ 'value' => '1',
+ ));
- $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:',
- ));
+ ));
- if(!isset($this->poolID)) {
- $poolfield = $this->createElement('select','pbs_poolID');
- $poolfield ->setLabel('Pool:');
+ if(!isset($this->poolID)) {
+ $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'
diff --git a/application/forms/EventEdit.php b/application/forms/EventEdit.php
index 1aa7d1d..fcacf9a 100755
--- a/application/forms/EventEdit.php
+++ b/application/forms/EventEdit.php
@@ -142,6 +142,54 @@ class Application_Form_EventEdit extends Zend_Form
));
}
+ if(isset($this->params['repeatType'])) {
+ $this->addElement('select', 'repeatType', array(
+ 'multioptions' => array(
+ 'day' => 'Daily',
+ 'week' => 'Once a week',
+ 'week2' => 'Every couple of weeks',
+ 'month' => 'Every month',
+ ),
+ 'required' => false,
+ 'value' => $this->params['repeatType'],
+ 'label' => 'Repeat Type:',
+ ));
+ } else {
+ $this->addElement('select', 'repeatType', array(
+ 'multioptions' => array(
+ 'day' => 'Daily',
+ 'week' => 'Once a week',
+ 'week2' => 'Every couple of weeks',
+ 'month' => 'Every month',
+ ),
+ 'required' => false,
+ 'label' => 'Repeat Type:',
+ ));
+ }
+
+ if(isset($this->params['repeatOption'])) {
+ $this->addElement('select', 'repeatOption', array(
+ 'multioptions' => array(
+ 'after' => 'After',
+ 'date' => 'Date',
+ ),
+ 'required' => false,
+ 'label' => 'Repeat End:',
+ 'value' => $this->params['repeatOption'],
+ 'onchange' => 'repeatOptionChanged("repeatOption");',
+ ));
+ } else {
+ $this->addElement('select', 'repeatOption', array(
+ 'multioptions' => array(
+ 'after' => 'After',
+ 'date' => 'Date',
+ ),
+ 'required' => false,
+ 'label' => 'Repeat End:',
+ 'onchange' => 'repeatOptionChanged("repeatOption");',
+ ));
+ }
+
if(isset($this->params['repeatEnd'])) {
$this->addElement('text', 'repeatEnd', array(
'filters' => array('StringTrim'),
@@ -149,8 +197,8 @@ class Application_Form_EventEdit extends Zend_Form
array('StringLength', false, array(0, 16)),
),
'required' => false,
- 'label' => 'Repeat end:',
- 'value' => $this->params['repeatEnd']
+ 'label' => 'Repeat End Date:',
+ 'value' => $this->params['repeatEnd'],
));
} else {
$this->addElement('text', 'repeatEnd', array(
@@ -159,30 +207,74 @@ class Application_Form_EventEdit extends Zend_Form
array('StringLength', false, array(0, 16)),
),
'required' => false,
- 'label' => 'Repeat end:',
- 'value' => 'mm/dd/yyyy H:min'
+ 'label' => 'Repeat End Date:',
+ 'value' => 'mm/dd/yyyy H:min',
));
}
- $this->addElement('text', 'participants', array(
+ if(isset($this->params['repeatings'])) {
+ $this->addElement('text', 'repeatings', array(
+ 'filters' => array('StringTrim'),
+ 'validators' => array(
+ array('StringLength', false, array(0, 16)),
+ ),
+ 'required' => false,
+ 'label' => 'Repeatings:',
+ 'value' => $this->params['repeatings'],
+ ));
+ } else {
+ $this->addElement('text', 'repeatings', array(
+ 'filters' => array('StringTrim'),
+ 'validators' => array(
+ array('StringLength', false, array(0, 16)),
+ ),
+ 'required' => false,
+ 'label' => 'Repeatings:',
+ 'value' => '1',
+ ));
+ }
+
+ if(isset($this->params['participants'])) {
+ $this->addElement('text', 'participants', array(
'filters' => array('StringTrim'),
'validators' => array(
- array('StringLength', false, array(0, 4)),
- ),
+ array('StringLength', false, array(0, 4)),
+ ),
'required' => false,
'label' => 'Participants:',
'value' => $this->params['participants'],
- ));
+ ));
+ } else {
+ $this->addElement('text', 'participants', array(
+ 'filters' => array('StringTrim'),
+ 'validators' => array(
+ array('StringLength', false, array(0, 4)),
+ ),
+ 'required' => false,
+ 'label' => 'Participants:',
+ ));
+ }
- $this->addElement('text', 'note', array(
+ if(isset($this->params['note'])) {
+ $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:',
'value' => $this->params['note'],
- ));
+ ));
+ } else {
+ $this->addElement('text', 'note', array(
+ 'filters' => array('StringTrim'),
+ 'validators' => array(
+ array('StringLength', false, array(0, 140)),
+ ),
+ 'required' => false,
+ 'label' => 'Note:',
+ ));
+ }
$poolfield = $this->createElement('select','pbs_poolID');
$poolfield ->setLabel('Pool:');
diff --git a/public/media/js/script.js b/public/media/js/script.js
index afe6712..77b5789 100755
--- a/public/media/js/script.js
+++ b/public/media/js/script.js
@@ -95,15 +95,13 @@ function enableElement(name) {
function repeatChanged(name) {
if (getElementAttribute(name, 'checked')) {
- setElementVisible("repeatEnd-label");
- setElementVisible("repeatEnd-element");
- enableElement('repeatEnd');
setElementVisible("repeatType-label");
setElementVisible("repeatType-element");
enableElement('repeatType');
setElementVisible("repeatOption-label");
setElementVisible("repeatOption-element");
enableElement('repeatOption');
+ repeatOptionChanged('repeatOption');
} else {
setElementInvisible("repeatEnd-label");
setElementInvisible("repeatEnd-element");
@@ -114,6 +112,9 @@ function repeatChanged(name) {
setElementInvisible("repeatOption-label");
setElementInvisible("repeatOption-element");
disableElement('repeatOption');
+ setElementInvisible("repeatings-label");
+ setElementInvisible("repeatings-element");
+ disableElement('repeatings');
}
}
@@ -133,9 +134,8 @@ function immediateChanged(name) {
setElementInvisible("participants-element");
date = new Date();
month = date.getMonth() + 1;
- start = month + '/' + date.getDate() + '/'
- + date.getFullYear() + ' ' + date.getHours() + ':'
- + date.getMinutes();
+ start = month + '/' + date.getDate() + '/' + date.getFullYear() + ' '
+ + date.getHours() + ':' + date.getMinutes();
setElementValue('start', start);
disableElement('end');
disableElement('repeat');
@@ -220,4 +220,23 @@ function editeventcategoryfieldChanged(name) {
startLabel.children().text('Start:');
}
repeatChanged('repeat');
+}
+
+function repeatOptionChanged(name) {
+ value = getElementValue(name);
+ if (value == 'after') {
+ setElementInvisible("repeatEnd-label");
+ setElementInvisible("repeatEnd-element");
+ disableElement('repeatEnd');
+ setElementVisible("repeatings-label");
+ setElementVisible("repeatings-element");
+ enableElement('repeatings');
+ } else if (value == 'date') {
+ setElementVisible("repeatEnd-label");
+ setElementVisible("repeatEnd-element");
+ enableElement('repeatEnd');
+ setElementInvisible("repeatings-label");
+ setElementInvisible("repeatings-element");
+ disableElement('repeatings');
+ }
} \ No newline at end of file