summaryrefslogtreecommitdiffstats
path: root/application/controllers/EventController.php
diff options
context:
space:
mode:
authorsebastian wagner2011-09-14 14:15:53 +0200
committersebastian wagner2011-09-14 14:15:53 +0200
commitdb86ef34e628abd6e8d663028aa07afa58c47304 (patch)
tree474c9294dd7cb48b5142c95c6414b40cde160eb9 /application/controllers/EventController.php
parenteventSource Bug fixed (diff)
parentgitignore (diff)
downloadpoolctrl-db86ef34e628abd6e8d663028aa07afa58c47304.tar.gz
poolctrl-db86ef34e628abd6e8d663028aa07afa58c47304.tar.xz
poolctrl-db86ef34e628abd6e8d663028aa07afa58c47304.zip
Merge branch 'master' of git.openslx.org:lsfks/projekte/poolctrl
Diffstat (limited to 'application/controllers/EventController.php')
-rwxr-xr-xapplication/controllers/EventController.php76
1 files changed, 74 insertions, 2 deletions
diff --git a/application/controllers/EventController.php b/application/controllers/EventController.php
index 7256335..6c51789 100755
--- a/application/controllers/EventController.php
+++ b/application/controllers/EventController.php
@@ -304,6 +304,12 @@ class EventController extends Zend_Controller_Action
$this->_helper->redirector('add', 'event');
return;
} else {
+ $event = new Application_Model_Event();
+ $this->eventMapper->find($eventID, $event);
+ if($event->getImmediate()) {
+ $this->_redirect('/event/');
+ exit;
+ }
$eventcategorylist = $this->eventcategoryMapper->fetchAll();
$bootOsApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['getbootoss'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', '');
$bootOsXMLString = $bootOsApiResult['http-body'];
@@ -342,8 +348,6 @@ class EventController extends Zend_Controller_Action
$poollist[$poolobj->getID()] = $poolobj;
}
}
- $event = new Application_Model_Event();
- $this->eventMapper->find($eventID, $event);
if($event->getPbs_membershipID() != $this->userIDsNamespace['membershipID']) {
if(!$this->acl->checkRight('eeo')) {
$this->_redirect('/');
@@ -944,6 +948,74 @@ class EventController extends Zend_Controller_Action
echo $resultString;
}
+ public function showreportsAction() {
+ if(!$this->acl->checkRight('er')) {
+ header('HTTP/1.0 403 No Right to run events');
+ die();
+ }
+ $eventID = $this->_request->getParam("eventID");
+ if($eventID) {
+ $event = new Application_Model_Event();
+ $this->eventMapper->find($eventID, $event);
+ $eventreportMapper = new Application_Model_EventreportMapper();
+ $reportlist = $eventreportMapper->findBy(array("eventID" => $eventID), false, array('created' => 'ASC'));
+ $eventtypeMapper = new Application_Model_EventtypeMapper();
+ $eventtypes = array();
+ $result = $eventtypeMapper->fetchAll();
+ if(count($result) > 0) {
+ foreach($result as $type) {
+ $eventtypes[$type->getID()] = $type->getTitle();
+ }
+ }
+ for($i = 0; $i < count($reportlist); $i++) {
+ $reportType = $eventtypes[$reportlist[$i]->getType()];
+ $reportlist[$i]->setType($reportType);
+ }
+
+ $this->view->eventTitle = $event->getTitle();
+ $this->view->reportlist = $reportlist;
+
+ // Pagination
+ $pagination = new Poolctrl_Pagination();
+ $pagination->setPerPage(5);
+ $pagination->setElement($this->view->reportlist);
+ $pagination->setRequestPage($this->_request->getParam('page'));
+ $pagination->setPageUrl('/event/showreports/eventID/' . $eventID);
+
+ $this->view->reportlist = $pagination->getElements();
+ $this->view->pagination = $pagination->pagination();
+ } else {
+ $this->_redirect('/event/');
+ exit;
+ }
+ }
+
+ public function deletereportAction() {
+ if(!$this->acl->checkRight('er')) {
+ $this->_redirect('/');
+ }
+ $this->_helper->viewRenderer->setNoRender();
+ $reportID = $this->_request->getParam('reportID');
+ if(isset($reportID)) {
+ $eventreportMapper = new Application_Model_EventreportMapper();
+ $report = new Application_Model_Eventreport();
+ $eventreportMapper->find($reportID, $report);
+ $eventID = $report->getEventID();
+ try {
+ $eventreportMapper->delete($report);
+ } catch(Zend_Exception $e)
+ {
+ echo "Caught exception: " . get_class($e) . "<br/>";
+ echo "Message: " . $e->getMessage() . "<br/>";
+ return;
+ }
+ $this->_redirect('/event/showreports/eventID/' . $eventID);
+ } else {
+ $this->_redirect('/event/');
+ exit;
+ }
+ }
+
private function runEvent(Application_Model_Event $event, $apikey) {
$data = array(
'eventName' => $event->getTitle(),