summaryrefslogblamecommitdiffstats
path: root/application/views/scripts/event/index.phtml
blob: b63bb106ebc39d7e80df517ae633bb9261217d05 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
      

                                                                     
       

                     
                                                                 
                                                                                                   

                                                                                
 
                                                        






                                                                                               
                    
 
                                                                
 
                               
 
                                               
             





                                                      
 











                                                                          






                                      
 


                                                

                              
                







                                                                  
        










                                                              





                                                            
                                                  

                                                                  
                                                                           

                                               
                                                  

                                           

                                                   
                                                          
                                               


                                                            
                                                        
                        

                                                                                 
 
                                
                                                                                   
                                        
                                  



                                                                            
                                                                             
                              
                                
                                                                        
                                          
                                                                                                                              
                                    


                                                         
                                             
                                
                              
 
                                                                                         
 
                                                                                                                             

                                                                                    
                                                                                                                          
                                                           

                                          

                                                                                             


                                                                           
 
                                                                                                                                                              

                                                 


                                                                                                                                                           


                               
                            
                                                                                                   
 
                                                                                                                                          

                                                 
                                                                                                                            



                                           


                                                                                  


                                                    
                                                               



















                                                                                           
                                
 
                                                                       
                                          









                                                                      
                                                                
                            

                                                               
                                        
                                                                                                                                                                                                    

                              
 
                                                             
                    




                                                               
                           

                                      
                            



                                                                                                                                                                                                                                                                                             
                                                                                                                                                                                                                                                                                       

                                                                                                                                                              



                                                                                                                    











                                                                                                                          



                
                              
                               
                
                                             








                                                                                                                      





                                                                                         

                                                                                                                   





                                                                                         























                                                                                                                    
      

















                                                                                          
      
<head>
<title>Pool Control</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</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">

$(document).ready(function() {iniCalendar();});
var lastview;
var selected = true;

  function eventSelected(event) {
	  if (selected) { event.borderColor = 'black';
	  }
  }

  function pressKey(event) {
      $(document).keydown(function (e) {
          if (e.keyCode == 8 || e.keyCode == 46) {
            if (confirm("Are you sure to delete " + event.title + " ?")) {
              self.location="/event/delete/eventID/" + event.id;
              $('#calendar').fullCalendar( 'removeEvents', event.id );
              $('#calendar').fullCalendar( 'rerenderEvents' );       
          }else{ self.location = "/event/"; }
          }
      });
  }

	function showCalendar() {
		$("#calendar").show();
	}

	function hideCalendar() {
		$("#calendar").hide();
	}

	function getPoolID() {
		poolID = 1;
		//poolID = selectedOption.value;
		return poolID;
	}
		
	function selectPool() {
		selectForm = document.PoolSelectForm;
		selectBox = selectForm.PoolSelectbox;
		selectedValue = selectBox.options.selectedIndex;
		selectedOption = selectBox.options[selectedValue];
		poolID = selectedOption.value;
		setVisible('pool' + poolID);
	}
	
	function deselectAll() {
		selectForm = document.PoolSelectForm;
		selectBox = selectForm.PoolSelectbox;
		selectOptions = selectBox.options;
		for(i = 0; i < selectOptions.length; i++) {
			selectOption = selectOptions[i];
			poolID = selectOption.value;
			if(poolID != 'Choose a Pool') {
				setInvisible('pool' + poolID);
			}
		}
	}

	function iniCalendar() {
		
		var calendar = $('#calendar').fullCalendar({
				header: {
				  default: 'week',
					left: 'title',
					center: 'prev,next today',
					right: 'month,agendaWeek,agendaDay'
				},
				editable: true,
				allDaySlot: false,
//		    disableDragging: false,
//  			droppable: true,
				selectable: true,
				selectHelper: true,
				defaultView: 'agendaWeek',
				allDay : false,
				allowCalEventOverlap: false,
		    overlapEventsSeparate: false,
				slotMinutes: 30,
				defaultEventMinutes: 30,
			
        
				events: "/event/eventlist/poolID/" + getPoolID(),

				
				dayClick: function( date, allDay, jsEvent, view ) {
					
				},

			  eventMouseover: function( event, jsEvent, view ) {
			   }, 
			    
			  eventMouseout: function( event, jsEvent, view ) {  
			   }, 
				
			  eventClick: function( event, jsEvent, view ) {
					  
				    $('#calendar').dblclick(function() { self.location = "/event/edit/eventID/" + event.id;});
				    
				    eventSelected(event);
				    pressKey(event);
				   
			        return false;
			        
			    },

			  select: function( startDate, endDate, allDay, jsEvent, view ) {

			    	  if (!confirm("Are you sure to add an Event from " + startDate + " to " + endDate + " ?")) {
			    		  $('#calendar').fullCalendar( 'unselect' );
					    }else {
						    self.location="/event/add/evstart/" + startDate + "/evend/" + endDate;
							  }
					  
			    },
			   
			  eventResize: function( event, dayDelta, minuteDelta, revertFunc ) {
			    	  
			    	  if (minuteDelta > 0) { length = 'longer';
			    	  }else{ length = 'shorter'; }

			        if (!confirm( event.title + " is now " + minuteDelta + " minutes " + length +  ".\n\n" + "Are you sure about this change?")) {
			            revertFunc();
			        }else{
				        if (event.category == 'Boot' ) {revertFunc(); alert("You can´t change the EndTime of a BootEvent!");}
				        else if (event.category == 'Shutdown' ) {revertFunc(); alert("You can´t change the EndTime of a ShutdownEvent!");}
				        else $.post("/event/eventresize/evid/" + event.id + "/evend/" + event.end);
		              }

			    },
			    
			  eventDrop: function( event, dayDelta, minuteDelta, allDay, revertFunc ) {

			        if (!confirm(event.title + " was moved to " + event.start + "\n\n" + "Are you sure about this change?")) {
			            revertFunc();
			        }else{
  		            $.post("/event/eventmove/evid/" + event.id + "/evstart/" + event.start + "/evend/" + event.end);
			        	  }

			    },

			  /*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) {
					  
			    	element.qtip({
	                      content: 
	                        'Title: ' + event.title + '<br/>' +
	                        'Type: ' + event.category + '<br/>' +
	                        'Note: ' + event.note + '<br/>' +
	                        'Participants: ' + event.participants,
	                      show: 'mouseover',
	                      hide: 'mouseout'
	                      });
                    
			    	if (view.name == 'agendaWeek') {
	                    
                    }
			    	if (view.name == 'agendaDay') {
				    	
			    		        element.find('.fc-event-title').append("<br/> Type: " + event.category + "<br/> Note: " + event.note + "<br/> Participants: " + event.participants);
                    }
			    },

				viewDisplay: function(view) {
                    
			    	if (view.name == 'agendaWeek') 
                    {
                    }
			    	if (view.name == 'agendaDay') 
                    {
	                  }
			    }
				      
			}); 
		$('.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 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-center').click(function() {
          $('#calendar').fullCalendar('removeEvents', function(calEvent) { return calEvent.category == 'Lecture'} );
        
        $('.fc-header-center').click(function() {
            $('#calendar').fullCalendar('removeEvents', function(calEvent) { return calEvent.category == 'Maintenance'} );
        })
        
        $('.fc-header-center').click(function() {
            $('#calendar').fullCalendar('removeEvents', function(calEvent) { return calEvent.category == 'Boot'} );
        })
        
        $('.fc-header-center').click(function() {
            $('#calendar').fullCalendar('removeEvents', function(calEvent) { return calEvent.category == 'Shutdown'} );
        })
        */
	}	
</script>
<br />
<br />
<div class='listelement'><?php
if(count($this->eventlist)>0) {
	?> <?php
	foreach ($this->poollist as $pool):?>
<div id='pool<?php echo $pool->getID(); ?>' style='display: none;'>
<h2><?php echo $pool->getTitle(); ?></h2>
	<?php if(!isset($this->eventlist[$pool->getID()])) {
		echo "This Pool hasn't events yet";
	} else { ?> <?php $poolEvents = $this->eventlist[$pool->getID()]; ?> <?php foreach ($poolEvents as $event): ?>
<div class='element'>
<div class='content'>
<div class='actions'><a
	href="<?php echo $this->url(
						array(
							'controller' => 'event',
							'action'     => 'edit',
							'eventID'   =>  $event['eventID']
						),
						'default',
						true);?>"><img src='/media/img/edit.png' alt='Edit Group' /></a> <a
	href="<?php echo $this->url(
						array(
							'controller' => 'event',
							'action'     => 'delete',
							'eventID'   =>  $event['eventID']
						),
						'default',
						true);?>"><img src='/media/img/delete.png' alt='Delete Group' /></a>
</div>
<div class='title'><?php echo $event['title']; ?></div>
						<?php if($event['category']) {
							?>
<div class='subtitle'><?php echo $event['category']; ?></div>
							<?php
						} else {
							?>
<div class='subtitle'>&nbsp;</div>
							<?php
						}
						?>
<div class='details'><label>Start Time:</label>
<div class='item'><?php echo date ('d F Y - H:i', strtotime($event['start'])); ?>&nbsp;</div>
</div>
<div class='details'><label>End Time:</label>
<div class='item'><?php echo date ('d F Y - H:i', strtotime($event['end'])); ?>&nbsp;</div>
</div>
<div class='details'><label>Participants:</label>
<div class='item'><?php echo $event['participants']; ?>&nbsp;</div>
</div>
<div class='details'><label>Membership:</label>
<div class='item'><?php echo $event['pbs_person_name']; ?>&nbsp;</div>
</div>
<div class='details'><label>BootOs:</label>
<div class='item'><?php echo $event['pbs_bootos_title']; ?>&nbsp;</div>
</div>
<div class='details'><label>Repeat:</label>
<div class='item'><?php if($event['repeat']) echo 'yes'; else echo 'no'; ?>&nbsp;</div>
</div>
<div class='details'><label>Immediate:</label>
<div class='item'><?php if($event['immediate']) echo 'yes'; else echo 'no'; ?>&nbsp;</div>
</div>
<div class='details'><label>Note:</label>
<div class='item'><?php echo $event['note']; ?>&nbsp;</div>
</div>
</div>
</div>
<div class='clear'></div>
<?php endforeach ?> <?php } ?></div>
<?php endforeach ?> <?php } ?></div>
<br />
<br />