Merge branch 'devel' of dev.sourcefabric.org:airtime into devel

This commit is contained in:
Naomi Aro 2012-04-26 12:15:31 +02:00
commit 2c84420424
10 changed files with 142 additions and 101 deletions

View file

@ -82,4 +82,8 @@ function openPreviewWindow(url) {
//var elemID = "spl_"+elemIndexString;
//$('#'+elemID+' div.list-item-container a span').attr("class", "ui-icon ui-icon-pause");
return false;
}
}
function pad(number, length) {
return sprintf("%'0"+length+"d", number);
}

View file

@ -11,6 +11,23 @@ function popup(mylink){
return false;
}
/* Take a string representing a date in the format 2012-04-25 and return
* a javascript date object representing this date. */
function getDateFromString(time){
var date = time.split("-");
if (date.length != 3){
return null;
}
var year = parseInt(date[0], 10);
var month = parseInt(date[1], 10) -1;
var day = parseInt(date[2], 10);
return new Date(year, month, day);
}
function convertSecondsToDaysHoursMinutesSeconds(seconds){
if (seconds < 0)
seconds = 0;

View file

@ -110,7 +110,22 @@ function setAddShowEvents() {
form.find("#add_show_repeats").click(function(){
$(this).blur();
form.find("#schedule-show-when > fieldset:last").toggle();
var checkBoxSelected = false;
var days = form.find("#add_show_day_check-element input").each( function() {
var currentCheckBox = $(this).attr("checked");
if (currentCheckBox && currentCheckBox == "checked"){
checkBoxSelected = true;
}
});
if (!checkBoxSelected){
var d = getDateFromString(form.find("#add_show_start_date").attr("value"));
if ( d != null)
form.find("#add_show_day_check-"+d.getDay()).attr('checked', true);
}
//must switch rebroadcast displays
if(form.find("#add_show_rebroadcast").attr('checked')) {
@ -364,12 +379,16 @@ function setAddShowEvents() {
// when start date/time changes, set end date/time to start date/time+1 hr
$('#add_show_start_date, #add_show_start_time').change(function(){
var startDate = $('#add_show_start_date').val().split('-');
var startTime = $('#add_show_start_time').val().split(':');
var startDateString = $('#add_show_start_date').val();
var startTimeString = $('#add_show_start_time').val();
var startDate = startDateString.split('-');
var startTime = startTimeString.split(':');
var startDateTime = new Date(startDate[0], parseInt(startDate[1], 10)-1, startDate[2], startTime[0], startTime[1], 0, 0);
var endDate = $('#add_show_end_date_no_repeat').val().split('-');
var endTime = $('#add_show_end_time').val().split(':');
var endDateString = $('#add_show_end_date_no_repeat').val();
var endTimeString = $('#add_show_end_time').val()
var endDate = endDateString.split('-');
var endTime = endTimeString.split(':');
var endDateTime = new Date(endDate[0], parseInt(endDate[1], 10)-1, endDate[2], endTime[0], endTime[1], 0, 0);
if(startDateTime.getTime() >= endDateTime.getTime()){
@ -393,17 +412,23 @@ function setAddShowEvents() {
$('#add_show_end_time').val(endTimeFormat);
// calculate duration
calculateDuration(endDateTime, startDateTime);
var startDateTimeString = startDateString + " " + startTimeString;
var endDateTimeString = $('#add_show_end_date_no_repeat').val() + " " + $('#add_show_end_time').val();
calculateDuration(startDateTimeString, endDateTimeString);
});
// when end date/time changes, check if the changed date is in past of start date/time
$('#add_show_end_date_no_repeat, #add_show_end_time').change(function(){
var startDate = $('#add_show_start_date').val().split('-');
var startTime = $('#add_show_start_time').val().split(':');
var startDateString = $('#add_show_start_date').val();
var startTimeString = $('#add_show_start_time').val();
var startDate = startDateString.split('-');
var startTime = startTimeString.split(':');
var startDateTime = new Date(startDate[0], parseInt(startDate[1], 10)-1, startDate[2], startTime[0], startTime[1], 0, 0);
var endDate = $('#add_show_end_date_no_repeat').val().split('-');
var endTime = $('#add_show_end_time').val().split(':');
var endDateString = $('#add_show_end_date_no_repeat').val();
var endTimeString = $('#add_show_end_time').val()
var endDate = endDateString.split('-');
var endTime = endTimeString.split(':');
var endDateTime = new Date(endDate[0], parseInt(endDate[1], 10)-1, endDate[2], endTime[0], endTime[1], 0, 0);
if(startDateTime.getTime() > endDateTime.getTime()){
@ -415,7 +440,9 @@ function setAddShowEvents() {
}
// calculate duration
calculateDuration(endDateTime, startDateTime);
var startDateTimeString = startDateString + " " + startTimeString;
var endDateTimeString = endDateString + " " + endTimeString;
calculateDuration(startDateTimeString, endDateTimeString);
});
if($('#cb_custom_auth').attr('checked')){
@ -434,27 +461,9 @@ function setAddShowEvents() {
function calculateDuration(endDateTime, startDateTime){
var duration;
var durationSeconds = (endDateTime.getTime() - startDateTime.getTime())/1000;
if(isNaN(durationSeconds)){
duration = '1h';
}
else if(durationSeconds != 0){
var durationHour = parseInt(durationSeconds/3600, 10);
var durationMin = parseInt((durationSeconds%3600)/60, 10);
duration = (durationHour == 0 ? '' : durationHour+'h'+' ')+(durationMin == 0 ? '' : durationMin+'m');
}else{
duration = '0m';
}
$('#add_show_duration').val(duration);
}
function pad(number, length) {
var str = '' + number;
while (str.length < length) {
str = '0' + str;
}
return str;
$.post("/Schedule/calculate-duration", {startTime: startDateTime, endTime: endDateTime}, function(data){
$('#add_show_duration').val(JSON.parse(data));
});
}
}

View file

@ -58,17 +58,6 @@ function removeAddShowButton(){
span.remove();
}
function pad(number, length) {
var str = '' + number;
while (str.length < length) {
str = '0' + str;
}
return str;
}
function makeTimeStamp(date){
var sy, sm, sd, h, m, s, timestamp;
sy = date.getFullYear();
@ -82,15 +71,6 @@ function makeTimeStamp(date){
return timestamp;
}
function pad(number, length) {
var str = '' + number;
while (str.length < length) {
str = '0' + str;
}
return str;
}
function dayClick(date, allDay, jsEvent, view){
// The show from will be preloaded if the user is admin or program manager.
// Hence, if the user if DJ then it won't open anything.
@ -141,7 +121,7 @@ function dayClick(date, allDay, jsEvent, view){
}else{
// if in day or week view, selected has all the time info as well
// so we don't ahve to calculate it explicitly
startTime_string = selected.getHours()+":"+selected.getMinutes()
startTime_string = pad(selected.getHours(),2)+":"+pad(selected.getMinutes(),2)
startTime = 0
}
@ -155,7 +135,7 @@ function dayClick(date, allDay, jsEvent, view){
$("#add_show_end_date_no_repeat").val(endDateFormat);
$("#add_show_end_date").val(endDateFormat);
if(view.name !== "month") {
var endTimeString = endDateTime.getHours()+":"+endDateTime.getMinutes();
var endTimeString = pad(endDateTime.getHours(),2)+":"+pad(endDateTime.getMinutes(),2);
$("#add_show_start_time").val(startTime_string)
$("#add_show_end_time").val(endTimeString)
}