summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsebastian wagner2011-09-08 23:01:15 +0200
committersebastian wagner2011-09-08 23:01:15 +0200
commit02363783199ebd26e2f6e3eb1477d8acc16cc2a8 (patch)
treeacc90c6a44f8fc4533f21c797cc9f3f5010e5d25
parentsome bug fixes (diff)
downloadpoolctrl-02363783199ebd26e2f6e3eb1477d8acc16cc2a8.tar.gz
poolctrl-02363783199ebd26e2f6e3eb1477d8acc16cc2a8.tar.xz
poolctrl-02363783199ebd26e2f6e3eb1477d8acc16cc2a8.zip
poolselectbox added, events selectabel
-rw-r--r--application/controllers/EventController.php23
-rw-r--r--application/views/scripts/event/index.phtml88
2 files changed, 59 insertions, 52 deletions
diff --git a/application/controllers/EventController.php b/application/controllers/EventController.php
index 152fb07..20ba8d1 100644
--- a/application/controllers/EventController.php
+++ b/application/controllers/EventController.php
@@ -224,6 +224,7 @@ class EventController extends Zend_Controller_Action
$poollist[$poolobj->getID()] = $poolobj;
}
}
+
$add = $this->getRequest()->getParam("add");
if($this->getRequest()->getParam('start')) {
$start = date ('m/d/Y H:i', strtotime($this->getRequest()->getParam('start')));
@@ -543,6 +544,28 @@ class EventController extends Zend_Controller_Action
* ------------------------
*/
+ public function getpoollistAction() {
+
+ $this->_helper->layout->disableLayout();
+
+ $poollist = array();
+ $poolApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['getpools'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', '');
+ $poolXMLString = $poolApiResult['http-body'];
+ if(strlen($poolXMLString) > 0) {
+ $poolXML = new SimpleXMLElement($poolXMLString);
+ foreach($poolXML->poollist->pool as $pool) {
+ $poolobj = new Application_Model_Pool();
+ $poolobj->setID(sprintf("%s", $pool->id));
+ $poolobj->setDescription(sprintf("%s", $pool->description));
+ $poolobj->setGroupID(sprintf("%s", $pool->groupid));
+ $poolobj->setLocation(sprintf("%s", $pool->location));
+ $poolobj->setTitle(sprintf("%s", $pool->title));
+ $poollist[$poolobj->getID()] = $poolobj;
+ }
+ }
+ $this->view->poollist = $poollist;
+ }
+
public function eventmoveAction() {
if(!$this->acl->checkRight('eo')) {
$this->_redirect('/');
diff --git a/application/views/scripts/event/index.phtml b/application/views/scripts/event/index.phtml
index b63bb10..be7d9a7 100644
--- a/application/views/scripts/event/index.phtml
+++ b/application/views/scripts/event/index.phtml
@@ -4,21 +4,6 @@
</head>
<h1>Pool Control</h1>
-<!-- <?php echo $this->formButton('addEvent', 'Add Event', array(
- 'onclick' => 'self.location="/event/add/"',
- 'class' => 'addbutton'))
-?>
-
-<form name="PoolSelectForm"><select name="PoolSelectbox"
- onChange="deselectAll();selectPool();">
- <option>Please choose a Pool</option>
- <?php if(count($this->poollist)>0){
- foreach($this->poollist as $pool => $p){
- echo "<option value='" . $p->getID() . "'>" . $p->getTitle() . "</option>";
- }
- } else echo '<option> No Pools </option>';?>
-</select></form> -->
-
<div id='calendar' style='margin: 3em 0; font-size: 13px'></div>
<script type="text/javascript">
@@ -26,10 +11,17 @@
$(document).ready(function() {iniCalendar();});
var lastview;
var selected = true;
+var selectedEvent = null;
+var eventColor = {ev:null, color:null};
function eventSelected(event) {
- if (selected) { event.borderColor = 'black';
- }
+ if (eventColor.ev != null){
+ eventColor.ev.borderColor = eventColor.color;
+ }
+ eventColor.ev = event;
+ eventColor.color = event.borderColor;
+ event.borderColor = 'black';
+ $('#calendar').fullCalendar("rerenderEvents");
}
function pressKey(event) {
@@ -80,6 +72,12 @@ var selected = true;
}
}
+ function fetchPoolEvents(element) {
+ var poolID = $("#poolselectbox option:selected").val();
+ $('#calendar').fullCalendar("removeEvents");
+ $('#calendar').fullCalendar("addEventSource", "/event/eventlist/poolID/" + poolID);
+ }
+
function iniCalendar() {
var calendar = $('#calendar').fullCalendar({
@@ -114,13 +112,19 @@ var selected = true;
},
eventMouseout: function( event, jsEvent, view ) {
- },
+ },
+
+ dblclick: function( event, jsEvent, view ) {
+ alert('test');
+ },
- eventClick: function( event, jsEvent, view ) {
-
- $('#calendar').dblclick(function() { self.location = "/event/edit/eventID/" + event.id;});
+ eventClick: function( event, jsEvent, view ) {
+
+ //event.dblclick(alert('test'););
+ //$('#calendar').dblclick(function() { self.location = "/event/edit/eventID/" + event.id;});
eventSelected(event);
+
pressKey(event);
return false;
@@ -162,34 +166,7 @@ var selected = true;
},
- /*eventElementHandlers: function (event, eventElement) {
- var view = this;
- alert('eventhandler');
- eventElement
- .click(function (ev)
- {
- alert('eventhandler');
- if (!eventElement.hasClass('ui-draggable-dragging') &&
- !eventElement.hasClass('ui-resizable-resizing'))
- {
- return view.trigger('eventClick', this, event, ev);
- }
- })
- .dblclick(function (ev)
- {
- return view.trigger('dblclick', this, event, ev);
- })
- .hover(
- function (ev)
- {
- view.trigger('eventMouseover', this, event, ev);
- },
- function (ev)
- {
- view.trigger('eventMouseout', this, event, ev);
- }
- );
- },*/
+
eventRender: function(event, element, view) {
@@ -223,13 +200,19 @@ var selected = true;
}
});
- $('.fc-header-center').append('<span class="fc-button fc-state-default fc-corner-right fc-state-active"><span class="fc-button-inner"><span id="lecture" class="fc-button-content">Lecture</span><span class="fc-button-effect"><span></span></span></span></span>');
+ $('.fc-header-center').append('<span id="lecture" class="fc-button fc-state-default fc-corner-right fc-state-active"><span class="fc-button-inner"><span class="fc-button-content">Lecture</span><span class="fc-button-effect"><span></span></span></span></span>');
$('.fc-header-center').append('<span class="fc-button fc-state-default fc-corner-right fc-state-active"><span class="fc-button-inner"><span id="maintenance" class="fc-button-content">Maintenance</span><span class="fc-button-effect"><span></span></span></span></span>');
$('.fc-header-center').append('<span class="fc-button fc-state-default fc-corner-right fc-state-active"><span class="fc-button-inner"><span id="boot" class="fc-button-content">Boot</span><span class="fc-button-effect"><span></span></span></span></span>');
$('.fc-header-center').append('<span class="fc-button fc-state-default fc-corner-right fc-state-active"><span class="fc-button-inner"><span id="shutdown" class="fc-button-content">Shutdown</span><span class="fc-button-effect"><span></span></span></span></span>');
// $('.fc-header-right').append('<span class="fc-button fc-state-default fc-corner-right fc-state-active"><span class="fc-button-inner"><span id="addevent" class="fc-button-content">Add Event</span><span class="fc-button-effect"><span></span></span></span></span>');
- $('.fc-header-left').append('<form name="PoolSelectForm"><select name="PoolSelectbox" onChange=""><option>Please choose a Pool</option></select></form>');
+ $('.fc-header-left').append('<form name="PoolSelectForm"><select id="poolselectbox" name="PoolSelectbox" onChange="fetchPoolEvents(this)"><option>Please choose a Pool</option></select></form>');
+ $("#lecture").click(function(){
+ this.css.addClass("fc-state-disabled")});
+
+ $.get("/event/getpoollist/", function(getpoollistresult){$("#poolselectbox").append(getpoollistresult);});
+
+
/*
$('.fc-header-center').click(function() {
$('#calendar').fullCalendar('removeEvents', function(calEvent) { return calEvent.category == 'Lecture'} );
@@ -246,7 +229,8 @@ var selected = true;
$('#calendar').fullCalendar('removeEvents', function(calEvent) { return calEvent.category == 'Shutdown'} );
})
*/
- }
+ }
+
</script>
<br />
<br />