diff --git a/application/controllers/ScheduleController.php b/application/controllers/ScheduleController.php index 14b8f61d8..e1d97fe65 100644 --- a/application/controllers/ScheduleController.php +++ b/application/controllers/ScheduleController.php @@ -180,7 +180,7 @@ class ScheduleController extends Zend_Controller_Action $user = new User($userInfo->id); $show = new ShowInstance($showInstanceId); - if($user->isHost($show->getShowId())) { + if($user->isHost($show->getShowId()) || $user->isAdmin()) { $show->scheduleShow(array($plId)); } @@ -199,7 +199,7 @@ class ScheduleController extends Zend_Controller_Action $user = new User($userInfo->id); $show = new ShowInstance($showInstanceId); - if($user->isHost($show->getShowId())) + if($user->isHost($show->getShowId()) || $user->isAdmin()) $show->clearShow(); } @@ -229,7 +229,7 @@ class ScheduleController extends Zend_Controller_Action $user = new User($userInfo->id); $show = new ShowInstance($showInstanceId); - if($user->isHost($show->getShowId())) { + if($user->isHost($show->getShowId()) || $user->isAdmin()) { $show->removeGroupFromShow($group_id); } diff --git a/public/js/airtime/schedule/add-show.js b/public/js/airtime/schedule/add-show.js index fb6b12b90..161e0c262 100644 --- a/public/js/airtime/schedule/add-show.js +++ b/public/js/airtime/schedule/add-show.js @@ -130,6 +130,7 @@ function setAddShowEvents() { $("#schedule_calendar").width(y+z+50); $("#schedule_calendar").fullCalendar('render'); $("#add-show-form").hide(); + makeAddShowButton(); }); form.find("#add-show-submit") diff --git a/public/js/airtime/schedule/full-calendar-functions.js b/public/js/airtime/schedule/full-calendar-functions.js index 0033469ad..60d85e927 100644 --- a/public/js/airtime/schedule/full-calendar-functions.js +++ b/public/js/airtime/schedule/full-calendar-functions.js @@ -4,17 +4,24 @@ * */ +function openAddShowForm() { + + if(($("#add-show-form").length == 1) && ($("#add-show-form").css('display')=='none')) { + $("#add-show-form").show(); + var y = $("#schedule_calendar").width(); + var z = $("#schedule-add-show").width(); + $("#schedule_calendar").width(y-z-50); + $("#schedule_calendar").fullCalendar('render'); + } +} + function makeAddShowButton(){ $('.fc-header-left tbody tr:first') .append('') .append('Show') .find('td:last > a') .click(function(){ - $("#add-show-form").show(); - var y = $("#schedule_calendar").width(); - var z = $("#schedule-add-show").width(); - $("#schedule_calendar").width(y-z-50); - $("#schedule_calendar").fullCalendar('render'); + openAddShowForm(); var td = $(this).parent(); $(td).prev().remove(); @@ -36,7 +43,64 @@ function makeTimeStamp(date){ } function dayClick(date, allDay, jsEvent, view) { - var x; + var now, today, selected, chosenDate, chosenTime; + + now = new Date(); + + if(view.name === "month") { + today = new Date(now.getFullYear(), now.getMonth(), now.getDate()); + selected = new Date(date.getFullYear(), date.getMonth(), date.getDate()); + } + else { + today = new Date(now.getFullYear(), now.getMonth(), now.getDate(), now.getHours(), now.getMinutes()); + selected = new Date(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes()); + } + + if(selected >= today) { + var addShow = $('.add-button'); + + //remove the +show button if it exists. + if(addShow.length == 1){ + var td = $(addShow).parent(); + $(td).prev().remove(); + $(td).remove(); + } + + chosenDate = selected.getFullYear(); + + var month = selected.getMonth() + 1; + if(month < 10) { + chosenDate = chosenDate+'-0'+month; + } + else { + chosenDate = chosenDate+'-'+month; + } + + var day = selected.getDate(); + if(day < 10) { + chosenDate = chosenDate+'-0'+day; + } + else { + chosenDate = chosenDate+'-'+day; + } + + var min = selected.getMinutes(); + var hours = selected.getHours(); + if(min < 10){ + chosenTime = hours+":0"+min; + } + else { + chosenTime = hours+":"+min; + } + + $("#add_show_start_date").val(chosenDate); + $("#add_show_end_date").datepicker("option", "minDate", chosenDate); + $("#add_show_end_date").val(chosenDate); + $("#add_show_start_time").val(chosenTime); + $("#schedule-show-when").show(); + + openAddShowForm(); + } } function viewDisplay( view ) { @@ -71,7 +135,7 @@ function viewDisplay( view ) { } - if(($("#add-show-form").length == 1) && ($('.fc-header-left tbody td').length == 5)) { + if(($("#add-show-form").length == 1) && ($("#add-show-form").css('display')=='none') && ($('.fc-header-left tbody td').length == 5)) { makeAddShowButton(); } }