summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Wagner2011-10-26 14:53:53 +0200
committerSebastian Wagner2011-10-26 14:53:53 +0200
commit91318534af71553b80b022f39e3657e22e37dfb9 (patch)
treeb2fdd7ad644f63237b69c4f8c73ee52d3d942565
parentsome bugfixes (diff)
downloadpoolctrl-91318534af71553b80b022f39e3657e22e37dfb9.tar.gz
poolctrl-91318534af71553b80b022f39e3657e22e37dfb9.tar.xz
poolctrl-91318534af71553b80b022f39e3657e22e37dfb9.zip
verschiedenes
-rwxr-xr-xapplication/controllers/EventController.php474
-rwxr-xr-xapplication/models/EventMapper.php16
-rw-r--r--application/views/scripts/event/checkoverlapdrop.phtml77
-rw-r--r--application/views/scripts/event/checkoverlapresize.phtml8
-rwxr-xr-xapplication/views/scripts/event/index.phtml7
5 files changed, 318 insertions, 264 deletions
diff --git a/application/controllers/EventController.php b/application/controllers/EventController.php
index fd7ff9b..f3ff931 100755
--- a/application/controllers/EventController.php
+++ b/application/controllers/EventController.php
@@ -608,14 +608,14 @@ class EventController extends Zend_Controller_Action
$this->_redirect('/');
}
}
- if ($events[0]->getPbs_bootmenuID()) {
- $bootmenuApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['deletebootmenu'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', "bootmenuid=" . $events[0]->getPbs_bootmenuID());
- }
- if ($events[0]->getPbs_filterID()) {
- $filterApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['deletefilter'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', "bootmenuid=" . $events[0]->getPbs_filterID());
- }
try {
foreach($events as $event) {
+ if ($event->getPbs_bootmenuID()) {
+ $bootmenuApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['deletebootmenu'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', "bootmenuid=" . $events[0]->getPbs_bootmenuID());
+ }
+ if ($event->getPbs_filterID()) {
+ $filterApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['deletefilter'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', "bootmenuid=" . $events[0]->getPbs_filterID());
+ }
if($event->getRunning() == 0) {
$this->eventMapper->delete($event);
}
@@ -690,10 +690,18 @@ class EventController extends Zend_Controller_Action
$cfeventswithrepeat = array();
foreach($events['withrepeat'] as $e) {
+ $evstartTime = intval(strtotime($e['start'])) + $diff;
+ if($e['running'] == 0 && $e['repeat'] == 1 && $evstartTime < time()) {
+ $this->view->past = true;
+ return;
+ }
$enewstart = date('Y-m-d H:i:s', strtotime($e['start']) + $diff);
if(!isset($e['end'])) {
$e['end'] = date('Y-m-d H:i:s', strtotime($e['start']) + 300);
+ $e['endSet'] = true;
+ } else {
+ $e['endSet'] = false;
}
$enewend = date('Y-m-d H:i:s', strtotime($e['end']) + $diff);
$cfv = true;
@@ -714,6 +722,14 @@ class EventController extends Zend_Controller_Action
}
// conflict free events with repeat
if($cfv) {
+ if($e['endSet']) {
+ unset($e['end']);
+ unset($e['endSet']);
+ } else {
+ unset($e['endSet']);
+ }
+ $evt['eventID'] = $e['eventID'];
+ $evt['title'] = $e['title'];
$cfeventswithrepeat[] = $e;
}
//} $this->_redirect('/event/');
@@ -734,7 +750,9 @@ class EventController extends Zend_Controller_Action
$enewstart = date('Y-m-d H:i:s', strtotime($e['start']) + $diff);
if(!isset($e['end'])) {
- $e['end'] = date('Y-m-d H:i:s', strtotime($e['start']) + 300);
+ $e['end'] = date('Y-m-d H:i:s', strtotime($e['start']) + 300); $e['endSet'] = true;
+ } else {
+ $e['endSet'] = false;
}
$enewend = date('Y-m-d H:i:s', strtotime($e['end']) + $diff);
@@ -750,6 +768,12 @@ class EventController extends Zend_Controller_Action
}
// conflict free events without repeat
if($cfv) {
+ if($e['endSet']) {
+ unset($e['end']);
+ unset($e['endSet']);
+ } else {
+ unset($e['endSet']);
+ }
$cfeventswithoutrepeat[] = $e;
}
}
@@ -879,7 +903,6 @@ class EventController extends Zend_Controller_Action
if ($evid!="null") {
$this->eventMapper->find($evid,$event); //locate the event in the DB
$this->eventMapper->find($evid,$oldEvent);
- //es beleibt ein repeatEvent! ob alle verschoben werden oder nur das selektierte wird über den kalender abgefragt
if($event->getRepeat() == 1) {
$event->setRepeat(2);
}
@@ -901,11 +924,11 @@ class EventController extends Zend_Controller_Action
$shutdownCategory = $result[0];
if($event->getCategory() != $shutdownCategory->getID()) {
if($event->getPbs_filterID()) {
- if(!$oldEvent->getRepeat()) {
+ if($oldEvent->getRepeat() == 0 || $oldEvent->getRepeat() == 2) {
$filterApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['deletefilter'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', "filterid=" . $oldEvent->getPbs_filterID());
unset($filterApiResult);
}
- $filterquery = "bootmenuID=" . $event->getPbs_bootmenuID() . "&title=Poolctrl-Filter for " . $event->getTitle() . "&description=This Filter was automatically created by the Poolctrl for Event " . $event->getTitle() . "&created= " . time() . "&priority=100";
+ $filterquery = "bootmenuID=" . $event->getPbs_bootmenuID() . "&title=Poolctrl-Filter for " . $event->getTitle() . "&description=This Filter was automatically created by the Poolctrl for Event " . $event->getTitle() . "&created=" . time() . "&priority=100";
$filterApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['addfilter'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterquery);
$filterXMLString = $filterApiResult['http-body'];
$filterXML = new SimpleXMLElement($filterXMLString);
@@ -973,89 +996,87 @@ class EventController extends Zend_Controller_Action
}
}
- // event move to the past - check
+ $count = 1;
foreach($events as $event) {
- $evstartTime = intval(strtotime($event->getStart())) + intval($evmindelta*60) + intval($evdaydelta*86400);
- if($event->getRunning() == 0 && $event->getRepeat() == 1 && $evstartTime < time())
- $this->_redirect('/event/');
-
- }
-
- try {
- foreach($events as $event) {
- if($event->getRunning() == 0 && $event->getRepeat() == 1) {
- $summertimeStart = intval(date('I', strtotime($event->getStart())));
- //1min = 60sec, 1d = 86400sec
- $oldStartTime = date('H:i', strtotime($event->getStart()));
- $oldStartDate = date('d.m.Y', strtotime($event->getStart()));
- $evstartTime = intval(strtotime($event->getStart())) + intval($evmindelta*60) + intval($evdaydelta*86400);
- $newStartTime = date('H:i', $evstartTime);
- $newStartDate = date('d.m.Y', $evstartTime);
- if($summertimeStart) {
- if(!date('I', $evstartTime)) {
- $evstartTime = $evstartTime + 60 * 60;
- $summertimeStart = 0;
+ if($event->getRunning() == 0 && $event->getRepeat() == 1) {
+ $summertimeStart = intval(date('I', strtotime($event->getStart())));
+ //1min = 60sec, 1d = 86400sec
+ $oldStartTime = date('H:i', strtotime($event->getStart()));
+ $oldStartDate = date('d.m.Y', strtotime($event->getStart()));
+ $evstartTime = intval(strtotime($event->getStart())) + intval($evmindelta*60) + intval($evdaydelta*86400);
+ $newStartTime = date('H:i', $evstartTime);
+ $newStartDate = date('d.m.Y', $evstartTime);
+ if($summertimeStart) {
+ if(!date('I', $evstartTime)) {
+ $evstartTime = $evstartTime + 60 * 60;
+ $summertimeStart = 0;
+ }
+ } else {
+ if(date('I', $evstartTime)) {
+ $evstartTime = $evstartTime - 60 * 60;
+ $summertimeStart = 1;
+ }
+ }
+ $eventStart = date('Y-m-d H:i:s', $evstartTime);
+ $event->setStart($eventStart);
+ if($event->getEnd()) {
+ $summertimeEnd = intval(date('I', strtotime($event->getEnd())));
+ $oldEndTime = date('H:i', strtotime($event->getEnd()));
+ $oldEndDate = date('d.m.Y', strtotime($event->getEnd()));
+ $evendTime = intval(strtotime($event->getEnd())) + intval($evmindelta*60) + intval($evdaydelta*86400);
+ $newEndTime = date('H:i', $evendTime);
+ $newEndDate = date('d.m.Y', $evendTime);
+ if($summertimeEnd) {
+ if(!date('I', $evendTime)) {
+ $evendTime = $evendTime + 60 * 60;
+ $summertimeEnd = 0;
}
} else {
- if(date('I', $evstartTime)) {
- $evstartTime = $evstartTime - 60 * 60;
- $summertimeStart = 1;
+ if(date('I', $evendTime)) {
+ $evendTime = $evendTime - 60 * 60;
+ $summertimeEnd = 1;
}
}
- $eventStart = date('Y-m-d H:i:s', $evstartTime);
- $event->setStart($eventStart);
- if($event->getEnd()) {
- $summertimeEnd = intval(date('I', strtotime($event->getEnd())));
- $oldEndTime = date('H:i', strtotime($event->getEnd()));
- $oldEndDate = date('d.m.Y', strtotime($event->getEnd()));
- $evendTime = intval(strtotime($event->getEnd())) + intval($evmindelta*60) + intval($evdaydelta*86400);
- $newEndTime = date('H:i', $evendTime);
- $newEndDate = date('d.m.Y', $evendTime);
- if($summertimeEnd) {
- if(!date('I', $evendTime)) {
- $evendTime = $evendTime + 60 * 60;
- $summertimeEnd = 0;
+ $eventEnd = date('Y-m-d H:i:s', $evendTime);
+ $event->setEnd($eventEnd);
+ }
+ $event->setPbs_poolID($poolID);
+ $result = $this->eventcategoryMapper->findBy(array('title' => 'Shutdown'));
+ $shutdownCategory = $result[0];
+ if($event->getCategory() != $shutdownCategory->getID()) {
+ if($event->getPbs_filterID()) {
+ $repeattypeMapper = new Application_Model_RepeattypeMapper();
+ $repeattype = new Application_Model_Repeattype();
+ $repeattypeMapper->find($event->getRepeattype(), $repeattype);
+ if($repeattype == "Once a week") {
+ if($count == 1) {
+ $oldStartDate = date("N", strototime($oldStartDate));
+ $oldEndDate = '';
+ $newStartDate = date("N", strototime($newStartDate));
+ $newEndDate = '';
+ $filterentriesQuerie = "filterid=" . $event->getPbs_filterID() . "&oldvalue1=" . strtotime($oldStartDate) . "&oldvalue2=" . strtotime($oldEndDate) . "&value1=" . strtotime($newStartDate) . "&value2=" . strtotime($newEndDate);
+ $filterApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['changefilterentry'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesQuerie);
+ unset($filterApiResult);
}
} else {
- if(date('I', $evendTime)) {
- $evendTime = $evendTime - 60 * 60;
- $summertimeEnd = 1;
- }
- }
- $eventEnd = date('Y-m-d H:i:s', $evendTime);
- $event->setEnd($eventEnd);
- }
- $event->setPbs_poolID($poolID);
- $result = $this->eventcategoryMapper->findBy(array('title' => 'Shutdown'));
- $shutdownCategory = $result[0];
- if($event->getCategory() != $shutdownCategory->getID()) {
- if($event->getPbs_filterID()) {
- if($event->getRepeat()) {
- $repeattypeMapper = new Application_Model_RepeattypeMapper();
- $repeattype = new Application_Model_Repeattype();
- $repeattypeMapper->find($event->getRepeattype(), $repeattype);
- if($repeattype == "Once a week") {
- $oldStartDate = date("N", strototime($oldStartDate));
- $oldEndDate = '';
- $newStartDate = date("N", strototime($newStartDate));
- $newEndDate = '';
- }
- }
$filterentriesQuerie = "filterid=" . $event->getPbs_filterID() . "&oldvalue1=" . strtotime($oldStartDate) . "&oldvalue2=" . strtotime($oldEndDate) . "&value1=" . strtotime($newStartDate) . "&value2=" . strtotime($newEndDate);
$filterApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['changefilterentry'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesQuerie);
unset($filterApiResult);
- $filterentriesQuerie = "filterid=" . $event->getPbs_filterID() . "&oldvalue1=" . $oldStartTime . "&oldvalue2=" . $oldEndTime . "&value1=" . $newStartTime . "&value2=" . $newEndTime;
- $filterApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['changefilterentry'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesQuerie);
- unset($filterApiResult);
}
+ $filterentriesQuerie = "filterid=" . $event->getPbs_filterID() . "&oldvalue1=" . $oldStartTime . "&oldvalue2=" . $oldEndTime . "&value1=" . $newStartTime . "&value2=" . $newEndTime;
+ $filterApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['changefilterentry'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesQuerie);
+ unset($filterApiResult);
}
+ }
+ try {
$this->eventMapper->save($event); //save the event with the new data
+ } catch (Zend_Exception $e) {
+ echo "Caught exception: " . get_class($e) . "<br/>";
+ echo "Message: " . $e->getMessage() . "<br/>";
+ return;
}
}
- } catch (Zend_Exception $e) {
- echo "Caught exception: " . get_class($e) . "<br/>";
- echo "Message: " . $e->getMessage() . "<br/>";
- return;
+ $count++;
}
$this->_redirect('/event/');
} else {
@@ -1081,9 +1102,23 @@ class EventController extends Zend_Controller_Action
if($cfeventsJSON!=null) {
foreach($cfeventsJSON as $e) {
- $event = new Application_Model_Event($e);
- $event->setID($e['eventID']);
+ $event = new Application_Model_Event();
+ $this->eventMapper->find($e['eventID'], $event);
$events[] = $event;
+ $eventIDs[] = $event->getID();
+ }
+ }
+
+ $otherEvents = $this->eventMapper->getOtherRepeatEvents($events[0]->getTitle(), $eventIDs);
+
+ foreach($otherEvents as $event) {
+ $event->setRepeat(2);
+ try {
+ $this->eventMapper->save($event); //save the event with the new data
+ } catch (Zend_Exception $e) {
+ echo "Caught exception: " . get_class($e) . "<br/>";
+ echo "Message: " . $e->getMessage() . "<br/>";
+ return;
}
}
@@ -1095,88 +1130,87 @@ class EventController extends Zend_Controller_Action
}
}
- // event move to the past - check
+ $count = 1;
foreach($events as $event) {
- $evstartTime = intval(strtotime($event->getStart())) + intval($evmindelta*60) + intval($evdaydelta*86400);
- if($event->getRunning() == 0 && $event->getRepeat() == 1 && $evstartTime < time())
- $this->_redirect('/event/');
- }
-
- try {
- foreach($events as $event) {
- if($event->getRunning() == 0 && $event->getRepeat() == 1) {
- $summertimeStart = intval(date('I', strtotime($event->getStart())));
- //1min = 60sec, 1d = 86400sec
- $oldStartTime = date('H:i', strtotime($event->getStart()));
- $oldStartDate = date('d.m.Y', strtotime($event->getStart()));
- $evstartTime = intval(strtotime($event->getStart())) + intval($evmindelta*60) + intval($evdaydelta*86400);
- $newStartTime = date('H:i', $evstartTime);
- $newStartDate = date('d.m.Y', $evstartTime);
- if($summertimeStart) {
- if(!date('I', $evstartTime)) {
- $evstartTime = $evstartTime + 60 * 60;
- $summertimeStart = 0;
+ if($event->getRunning() == 0 && $event->getRepeat() == 1) {
+ $summertimeStart = intval(date('I', strtotime($event->getStart())));
+ //1min = 60sec, 1d = 86400sec
+ $oldStartTime = date('H:i', strtotime($event->getStart()));
+ $oldStartDate = date('d.m.Y', strtotime($event->getStart()));
+ $evstartTime = intval(strtotime($event->getStart())) + intval($evmindelta*60) + intval($evdaydelta*86400);
+ $newStartTime = date('H:i', $evstartTime);
+ $newStartDate = date('d.m.Y', $evstartTime);
+ if($summertimeStart) {
+ if(!date('I', $evstartTime)) {
+ $evstartTime = $evstartTime + 60 * 60;
+ $summertimeStart = 0;
+ }
+ } else {
+ if(date('I', $evstartTime)) {
+ $evstartTime = $evstartTime - 60 * 60;
+ $summertimeStart = 1;
+ }
+ }
+ $eventStart = date('Y-m-d H:i:s', $evstartTime);
+ $event->setStart($eventStart);
+ if($event->getEnd()) {
+ $summertimeEnd = intval(date('I', strtotime($event->getEnd())));
+ $oldEndTime = date('H:i', strtotime($event->getEnd()));
+ $oldEndDate = date('d.m.Y', strtotime($event->getEnd()));
+ $evendTime = intval(strtotime($event->getEnd())) + intval($evmindelta*60) + intval($evdaydelta*86400);
+ $newEndTime = date('H:i', $evendTime);
+ $newEndDate = date('d.m.Y', $evendTime);
+ if($summertimeEnd) {
+ if(!date('I', $evendTime)) {
+ $evendTime = $evendTime + 60 * 60;
+ $summertimeEnd = 0;
}
} else {
- if(date('I', $evstartTime)) {
- $evstartTime = $evstartTime - 60 * 60;
- $summertimeStart = 1;
+ if(date('I', $evendTime)) {
+ $evendTime = $evendTime - 60 * 60;
+ $summertimeEnd = 1;
}
}
- $eventStart = date('Y-m-d H:i:s', $evstartTime);
- $event->setStart($eventStart);
- if($event->getEnd()) {
- $summertimeEnd = intval(date('I', strtotime($event->getEnd())));
- $oldEndTime = date('H:i', strtotime($event->getEnd()));
- $oldEndDate = date('d.m.Y', strtotime($event->getEnd()));
- $evendTime = intval(strtotime($event->getEnd())) + intval($evmindelta*60) + intval($evdaydelta*86400);
- $newEndTime = date('H:i', $evendTime);
- $newEndDate = date('d.m.Y', $evendTime);
- if($summertimeEnd) {
- if(!date('I', $evendTime)) {
- $evendTime = $evendTime + 60 * 60;
- $summertimeEnd = 0;
+ $eventEnd = date('Y-m-d H:i:s', $evendTime);
+ $event->setEnd($eventEnd);
+ }
+ $event->setPbs_poolID($poolID);
+ $result = $this->eventcategoryMapper->findBy(array('title' => 'Shutdown'));
+ $shutdownCategory = $result[0];
+ if($event->getCategory() != $shutdownCategory->getID()) {
+ if($event->getPbs_filterID()) {
+ $repeattypeMapper = new Application_Model_RepeattypeMapper();
+ $repeattype = new Application_Model_Repeattype();
+ $repeattypeMapper->find($event->getRepeattype(), $repeattype);
+ if($repeattype == "Once a week") {
+ if($count == 1) {
+ $oldStartDate = date("N", strototime($oldStartDate));
+ $oldEndDate = '';
+ $newStartDate = date("N", strototime($newStartDate));
+ $newEndDate = '';
+ $filterentriesQuerie = "filterid=" . $event->getPbs_filterID() . "&oldvalue1=" . strtotime($oldStartDate) . "&oldvalue2=" . strtotime($oldEndDate) . "&value1=" . strtotime($newStartDate) . "&value2=" . strtotime($newEndDate);
+ $filterApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['changefilterentry'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesQuerie);
+ unset($filterApiResult);
}
} else {
- if(date('I', $evendTime)) {
- $evendTime = $evendTime - 60 * 60;
- $summertimeEnd = 1;
- }
- }
- $eventEnd = date('Y-m-d H:i:s', $evendTime);
- $event->setEnd($eventEnd);
- }
- $event->setPbs_poolID($poolID);
- $result = $this->eventcategoryMapper->findBy(array('title' => 'Shutdown'));
- $shutdownCategory = $result[0];
- if($event->getCategory() != $shutdownCategory->getID()) {
- if($event->getPbs_filterID()) {
- if($event->getRepeat()) {
- $repeattypeMapper = new Application_Model_RepeattypeMapper();
- $repeattype = new Application_Model_Repeattype();
- $repeattypeMapper->find($event->getRepeattype(), $repeattype);
- if($repeattype == "Once a week") {
- $oldStartDate = date("N", strototime($oldStartDate));
- $oldEndDate = '';
- $newStartDate = date("N", strototime($newStartDate));
- $newEndDate = '';
- }
- }
$filterentriesQuerie = "filterid=" . $event->getPbs_filterID() . "&oldvalue1=" . strtotime($oldStartDate) . "&oldvalue2=" . strtotime($oldEndDate) . "&value1=" . strtotime($newStartDate) . "&value2=" . strtotime($newEndDate);
$filterApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['changefilterentry'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesQuerie);
unset($filterApiResult);
- $filterentriesQuerie = "filterid=" . $event->getPbs_filterID() . "&oldvalue1=" . $oldStartTime . "&oldvalue2=" . $oldEndTime . "&value1=" . $newStartTime . "&value2=" . $newEndTime;
- $filterApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['changefilterentry'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesQuerie);
- unset($filterApiResult);
}
+ $filterentriesQuerie = "filterid=" . $event->getPbs_filterID() . "&oldvalue1=" . $oldStartTime . "&oldvalue2=" . $oldEndTime . "&value1=" . $newStartTime . "&value2=" . $newEndTime;
+ $filterApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['changefilterentry'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesQuerie);
+ unset($filterApiResult);
}
+ }
+ try {
$this->eventMapper->save($event); //save the event with the new data
+ } catch (Zend_Exception $e) {
+ echo "Caught exception: " . get_class($e) . "<br/>";
+ echo "Message: " . $e->getMessage() . "<br/>";
+ return;
}
}
- } catch (Zend_Exception $e) {
- echo "Caught exception: " . get_class($e) . "<br/>";
- echo "Message: " . $e->getMessage() . "<br/>";
- return;
+ $count++;
}
$this->_redirect('/event/');
} else {
@@ -1215,7 +1249,7 @@ class EventController extends Zend_Controller_Action
$shutdownCategory = $result[0];
if($event->getCategory() != $shutdownCategory->getID()) {
if($event->getPbs_filterID()) {
- if(!$oldEvent->getRepeat()) {
+ if($oldEvent->getRepeat() == 0 || $oldEvent->getRepeat() == 2) {
$filterApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['deletefilter'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', "filterid=" . $oldEvent->getPbs_filterID());
unset($filterApiResult);
}
@@ -1279,25 +1313,29 @@ class EventController extends Zend_Controller_Action
$this->_redirect('/');
}
}
- try {
- foreach($events as $event) {
- if($event->getRunning() == 0 && $event->getRepeat() == 1) {
- $summertimeEnd = intval(date('I', strtotime($event->getEnd())));
- $evendTime = intval(strtotime($event->getEnd())) + intval($evmindelta*60);
- if($summertimeEnd) {
- if(!date('I', $evendTime)) {
- $evendTime = $evendTime + 60 * 60;
- $summertimeEnd = 0;
- }
- } else {
- if(date('I', $evendTime)) {
- $evendTime = $evendTime - 60 * 60;
- $summertimeEnd = 1;
- }
+ $count = 1;
+ foreach($events as $event) {
+ if($event->getRunning() == 0 && $event->getRepeat() == 1) {
+ $summertimeEnd = intval(date('I', strtotime($event->getEnd())));
+ $evendTime = intval(strtotime($event->getEnd())) + intval($evmindelta*60);
+ if($summertimeEnd) {
+ if(!date('I', $evendTime)) {
+ $evendTime = $evendTime + 60 * 60;
+ $summertimeEnd = 0;
}
- $eventEnd = date('Y-m-d H:i:s', $evendTime);
- $event->setEnd($eventEnd);
- $event->setPbs_poolID($poolID);
+ } else {
+ if(date('I', $evendTime)) {
+ $evendTime = $evendTime - 60 * 60;
+ $summertimeEnd = 1;
+ }
+ }
+ $eventEnd = date('Y-m-d H:i:s', $evendTime);
+ $event->setPbs_poolID($poolID);
+ if($count == 1) {
+ $oldStartTime = date('H:i', strtotime($event->getStart()));
+ $newStartTime = $oldStartTime;
+ $oldEndTime = date('H:i', strtotime($event->getEnd()));
+ $newEndTime = date('H:i', $evendTime);
$result = $this->eventcategoryMapper->findBy(array('title' => 'Shutdown'));
$shutdownCategory = $result[0];
if($event->getCategory() != $shutdownCategory->getID()) {
@@ -1307,13 +1345,17 @@ class EventController extends Zend_Controller_Action
unset($filterApiResult);
}
}
+ }
+ $event->setEnd($eventEnd);
+ try {
$this->eventMapper->save($event); //save the event with the new data
+ } catch (Zend_Exception $e) {
+ echo "Caught exception: " . get_class($e) . "<br/>";
+ echo "Message: " . $e->getMessage() . "<br/>";
+ return;
}
}
- } catch (Zend_Exception $e) {
- echo "Caught exception: " . get_class($e) . "<br/>";
- echo "Message: " . $e->getMessage() . "<br/>";
- return;
+ $count++;
}
$this->_redirect('/event/');
} else {
@@ -1334,44 +1376,48 @@ class EventController extends Zend_Controller_Action
$evmindelta = $this->getRequest()->getParam('evmindelta');
$poolID = $this->getRequest()->getParam('poolID');
- $events = null;
-
- if($cfeventsJSON!=null) {
- foreach($cfeventsJSON as $e) {
- $event = new Application_Model_Event($e);
- $event->setID($e['eventID']);
- $events[] = $event;
- }
- }
-
- if ($events!=null) {
-
- if ($events[0]->getPbs_membershipID() != $this->userIDsNamespace['membershipID']) {
- if (!$this->acl->checkRight('edo')) {
- $this->_redirect('/');
- }
- }
-
- // event resize to the past - check
- try {
- foreach($events as $event) {
- if($event->getRunning() == 0) {
- $summertimeEnd = intval(date('I', strtotime($event->getEnd())));
- $evendTime = intval(strtotime($event->getEnd())) + intval($evmindelta*60);
- if($summertimeEnd) {
- if(!date('I', $evendTime)) {
- $evendTime = $evendTime + 60 * 60;
- $summertimeEnd = 0;
- }
- } else {
- if(date('I', $evendTime)) {
- $evendTime = $evendTime - 60 * 60;
- $summertimeEnd = 1;
- }
+ $events = null;
+
+ if($cfeventsJSON!=null) {
+ foreach($cfeventsJSON as $e) {
+ $event = new Application_Model_Event($e);
+ $event->setID($e['eventID']);
+ $events[] = $event;
+ }
+ }
+
+ if ($events!=null) {
+
+ if ($events[0]->getPbs_membershipID() != $this->userIDsNamespace['membershipID']) {
+ if (!$this->acl->checkRight('edo')) {
+ $this->_redirect('/');
+ }
+ }
+
+ // event resize to the past - check
+ $count = 1;
+ foreach($events as $event) {
+ if($event->getRunning() == 0) {
+ $summertimeEnd = intval(date('I', strtotime($event->getEnd())));
+ $evendTime = intval(strtotime($event->getEnd())) + intval($evmindelta*60);
+ if($summertimeEnd) {
+ if(!date('I', $evendTime)) {
+ $evendTime = $evendTime + 60 * 60;
+ $summertimeEnd = 0;
}
- $eventEnd = date('Y-m-d H:i:s', $evendTime);
- $event->setEnd($eventEnd);
- $event->setPbs_poolID($poolID);
+ } else {
+ if(date('I', $evendTime)) {
+ $evendTime = $evendTime - 60 * 60;
+ $summertimeEnd = 1;
+ }
+ }
+ $eventEnd = date('Y-m-d H:i:s', $evendTime);
+ $event->setPbs_poolID($poolID);
+ if($count == 1) {
+ $oldStartTime = date('H:i', strtotime($event->getStart()));
+ $newStartTime = $oldStartTime;
+ $oldEndTime = date('H:i', strtotime($event->getEnd()));
+ $newEndTime = date('H:i', strtotime($event->getEnd())) + intval($evmindelta*60);
$result = $this->eventcategoryMapper->findBy(array('title' => 'Shutdown'));
$shutdownCategory = $result[0];
if($event->getCategory() != $shutdownCategory->getID()) {
@@ -1381,13 +1427,17 @@ class EventController extends Zend_Controller_Action
unset($filterApiResult);
}
}
+ }
+ $event->setEnd($eventEnd);
+ try {
$this->eventMapper->save($event); //save the event with the new data
+ } catch (Zend_Exception $e) {
+ echo "Caught exception: " . get_class($e) . "<br/>";
+ echo "Message: " . $e->getMessage() . "<br/>";
+ return;
}
}
- } catch (Zend_Exception $e) {
- echo "Caught exception: " . get_class($e) . "<br/>";
- echo "Message: " . $e->getMessage() . "<br/>";
- return;
+ $count++;
}
$this->_redirect('/event/');
} else {
@@ -2710,7 +2760,7 @@ class EventController extends Zend_Controller_Action
} catch (Zend_Exception $e) {
echo "Caught exception: " . get_class($e) . "<br/>";
echo "Message: " . $e->getMessage() . "<br/>";
-
+
}
}
return $overlapping;
diff --git a/application/models/EventMapper.php b/application/models/EventMapper.php
index 3df8d30..70f0b99 100755
--- a/application/models/EventMapper.php
+++ b/application/models/EventMapper.php
@@ -456,4 +456,20 @@ class Application_Model_EventMapper
return $return;
}
+ public function getOtherRepeatEvents($title, $eventIDs) {
+ $db = Zend_Db_Table::getDefaultAdapter();
+ $return = array();
+ $idSelect = implode("' AND eventID <> '", $eventIDs);
+ $select = "SELECT * FROM poolctrl_event WHERE title = '". $title . "' AND eventID <> '" . $idSelect . "'";
+ $stmt = $db->query($select);
+ $results = $stmt->fetchAll();
+ foreach($results as $result) {
+ $event = new Application_Model_Event($result);
+ $event->setID($result['eventID']);
+ $return[] = $event;
+ }
+
+ return $return;
+ }
+
}
diff --git a/application/views/scripts/event/checkoverlapdrop.phtml b/application/views/scripts/event/checkoverlapdrop.phtml
index b53c482..e1150d1 100644
--- a/application/views/scripts/event/checkoverlapdrop.phtml
+++ b/application/views/scripts/event/checkoverlapdrop.phtml
@@ -1,58 +1,43 @@
<?php
-$output['cfevents'] = $this->cfeventswithrepeat;
+if($this->past) {
+ $output['past'] = 1;
+ $output['withoutrepeat'] = -1;
+ $output['withrepeat'] = -1;
+} else {
+ $output['past'] = 0;
+ $output['cfevents'] = $this->cfeventswithrepeat;
-// conflict free plot with repeat
-$output['cfplotwithrepeat'] = '<ul id="cfplot">';
-foreach($this->cfeventswithrepeat as $c){
- if(isset($c['end'])) {
- $output['cfplotwithrepeat'] .= '<li>' . 'EventID: ' . $c['eventID'] . ', Title: ' . $c['title'] . ', Start: ' . $c['start'] . ', End: ' . $c['end'] . '</li>';
- } else {
- $output['cfplotwithrepeat'] .= '<li>' . 'EventID: ' . $c['eventID'] . ', Title: ' . $c['title'] . ', Start: ' . $c['start'] . '</li>';
+ // conflict free plot with repeat
+ $output['cfplotwithrepeat'] = '<ul id="cfplot">';
+ foreach($this->cfeventswithrepeat as $c){
+ if(isset($c['end'])) {
+ $output['cfplotwithrepeat'] .= '<li>' . 'EventID: ' . $c['eventID'] . ', Title: ' . $c['title'] . ', Start: ' . $c['start'] . ', End: ' . $c['end'] . '</li>';
+ } else {
+ $output['cfplotwithrepeat'] .= '<li>' . 'EventID: ' . $c['eventID'] . ', Title: ' . $c['title'] . ', Start: ' . $c['start'] . '</li>';
+ }
}
-}
-$output['cfplotwithrepeat'] .= '</ul>';
+ $output['cfplotwithrepeat'] .= '</ul>';
-// conflict free plot without repeat
-$output['cfplotwithoutrepeat'] = '<ul id="cfplot">';
-foreach($this->cfeventswithoutrepeat as $c){
- if(isset($c['end'])) {
- $output['cfplotwithoutrepeat'] .= '<li>' . 'EventID: ' . $c['eventID'] . ', Title: ' . $c['title'] . ', Start: ' . $c['start'] . ', End: ' . $c['end'] . '</li>';
- } else {
- $output['cfplotwithoutrepeat'] .= '<li>' . 'EventID: ' . $c['eventID'] . ', Title: ' . $c['title'] . ', Start: ' . $c['start'] . '</li>';
+ // conflict plot with repeat
+ if(count($this->overlapswithrepeat) == 0) {
+ $output['withrepeat'] = -1;
}
-}
-$output['cfplotwithoutrepeat'] .= '</ul>';
-
-// conflict plot with repeat
-if(count($this->overlapswithrepeat) == 0) {
- $output['withrepeat'] = -1;
-}
-else {
- $output['withrepeat'] = '<ul id="conflictEvents">';
- foreach($this->overlapswithrepeat as $o){
- if(isset($o['end'])) {
- $output['withrepeat'] .= '<li>' . 'EventID: ' . $o['eventID'] . ', Title: ' . $o['title'] . ', Start: ' . $o['start'] . ', End: ' . $o['end'] . '</li>';
- } else {
- $output['withrepeat'] .= '<li>' . 'EventID: ' . $o['eventID'] . ', Title: ' . $o['title'] . ', Start: ' . $o['start'] . '</li>';
+ else {
+ $output['withrepeat'] = '<ul id="conflictEvents">';
+ foreach($this->overlapswithrepeat as $o){
+ if(isset($o['end'])) {
+ $output['withrepeat'] .= '<li>' . 'EventID: ' . $o['eventID'] . ', Title: ' . $o['title'] . ', Start: ' . $o['start'] . ', End: ' . $o['end'] . '</li>';
+ } else {
+ $output['withrepeat'] .= '<li>' . 'EventID: ' . $o['eventID'] . ', Title: ' . $o['title'] . ', Start: ' . $o['start'] . '</li>';
+ }
}
+ $output['withrepeat'] .= '</ul>';
}
- $output['withrepeat'] .= '</ul>';
-}
-// conflict plot without repeat
-if(count($this->overlapswithoutrepeat) == 0) {
- $output['withoutrepeat'] = -1;
-}
-else {
- $output['withoutrepeat'] = '<ul id="conflictEvents">';
- foreach($this->overlapswithoutrepeat as $o) {
- if(isset($o['end'])) {
- $output['withoutrepeat'] .= '<li>' . 'EventID: ' . $o['eventID'] . ', Title: ' . $o['title'] . ', Start: ' . $o['start'] . ', End: ' . $o['end'] . '</li>';
- } else {
- $output['withoutrepeat'] .= '<li>' . 'EventID: ' . $o['eventID'] . ', Title: ' . $o['title'] . ', Start: ' . $o['start'] . '</li>';
- }
+ // conflict plot without repeat
+ if(count($this->overlapswithoutrepeat) == 0) {
+ $output['withoutrepeat'] = -1;
}
- $output['withoutrepeat'] .= '</ul>';
}
echo json_encode($output);
?> \ No newline at end of file
diff --git a/application/views/scripts/event/checkoverlapresize.phtml b/application/views/scripts/event/checkoverlapresize.phtml
index 89b8499..21961ca 100644
--- a/application/views/scripts/event/checkoverlapresize.phtml
+++ b/application/views/scripts/event/checkoverlapresize.phtml
@@ -8,12 +8,12 @@ foreach($this->cfeventswithrepeat as $c){
}
$output['cfplotwithrepeat'] .= '</ul>';
-// conflict free plot without repeat
+/*// conflict free plot without repeat
$output['cfplotwithoutrepeat'] = '<ul id="cfplot">';
foreach($this->cfeventswithoutrepeat as $c){
$output['cfplotwithoutrepeat'] .= '<li>' . 'EventID: ' . $c['eventID'] . ', Title: ' . $c['title'] . ', Start: ' . $c['start'] . ', End: ' . $c['end'] . '</li>';
}
-$output['cfplotwithoutrepeat'] .= '</ul>';
+$output['cfplotwithoutrepeat'] .= '</ul>';*/
// conflict plot with repeat
if(count($this->overlapswithrepeat) == 0) {
@@ -35,7 +35,7 @@ else {
if(count($this->overlapswithoutrepeat) == 0) {
$output['withoutrepeat'] = -1;
}
-else {
+/*else {
$output['withoutrepeat'] = '<ul id="conflictEvents">';
foreach($this->overlapswithoutrepeat as $o){
if(isset($o['end'])) {
@@ -45,6 +45,6 @@ else {
}
}
$output['withoutrepeat'] .= '</ul>';
-}
+}*/
echo json_encode($output);
?> \ No newline at end of file
diff --git a/application/views/scripts/event/index.phtml b/application/views/scripts/event/index.phtml
index 9b23a55..7b8cfe7 100755
--- a/application/views/scripts/event/index.phtml
+++ b/application/views/scripts/event/index.phtml
@@ -547,6 +547,9 @@ var dayClick = false;
var cfcell = document.getElementById("cfevents");
// get conflicts
var returndata = jQuery.parseJSON(data);
+
+ // get past
+ var past = returndata.past;
// get conflict free events with repeat
var cfevents = returndata.cfevents;
@@ -562,7 +565,7 @@ var dayClick = false;
buttons: {
"Drop Conflict-Free Events": function() {
$(this).dialog("close");
- $.post("/event/eventmovecf/evmindelta/" + minuteDelta + "/evdaydelta/" + dayDelta + "/poolID/" + $("#poolselectbox option:selected").val() + "/cfevents/" + cfeventsString);
+ self.location="/event/eventmovecf/evmindelta/" + minuteDelta + "/evdaydelta/" + dayDelta + "/poolID/" + $("#poolselectbox option:selected").val() + "/cfevents/" + cfeventsString;
},
"OK": function() {
$(this).dialog("close");
@@ -666,7 +669,7 @@ var dayClick = false;
},
"Move all Events": function() {
if(returndata.withrepeat == -1) {
- if(event.start > currentDate) {
+ if(event.start > currentDate && !past) {
$(this).dialog("close");
self.location="/event/eventmoveall/eventTitle/" + event.title + "/evmindelta/" + minuteDelta + "/evdaydelta/" + dayDelta + "/poolID/" + $("#poolselectbox option:selected").val();
} else {