CC-3105: Settings dates (the popup select date calendar) shows Today by local machine timezone and not Airtime timezone.
-fixed
This commit is contained in:
parent
e9c25faa34
commit
b1193318ed
7 changed files with 32 additions and 21 deletions
|
@ -18,7 +18,11 @@ class NowplayingController extends Zend_Controller_Action
|
||||||
$baseUrl = $request->getBaseUrl();
|
$baseUrl = $request->getBaseUrl();
|
||||||
|
|
||||||
$this->view->headScript()->appendFile($baseUrl.'/js/datatables/js/jquery.dataTables.min.js','text/javascript');
|
$this->view->headScript()->appendFile($baseUrl.'/js/datatables/js/jquery.dataTables.min.js','text/javascript');
|
||||||
|
|
||||||
|
//nowplayingdatagrid.js requires this variable, so that datePicker widget can be offset to server time instead of client time
|
||||||
|
$this->view->headScript()->appendScript("var timezoneOffset = ".date("Z")."; //in seconds");
|
||||||
$this->view->headScript()->appendFile($baseUrl.'/js/airtime/nowplaying/nowplayingdatagrid.js','text/javascript');
|
$this->view->headScript()->appendFile($baseUrl.'/js/airtime/nowplaying/nowplayingdatagrid.js','text/javascript');
|
||||||
|
|
||||||
$this->view->headScript()->appendFile($baseUrl.'/js/airtime/nowplaying/nowview.js','text/javascript');
|
$this->view->headScript()->appendFile($baseUrl.'/js/airtime/nowplaying/nowview.js','text/javascript');
|
||||||
|
|
||||||
$refer_sses = new Zend_Session_Namespace('referrer');
|
$refer_sses = new Zend_Session_Namespace('referrer');
|
||||||
|
@ -104,7 +108,11 @@ class NowplayingController extends Zend_Controller_Action
|
||||||
$baseUrl = $request->getBaseUrl();
|
$baseUrl = $request->getBaseUrl();
|
||||||
|
|
||||||
$this->view->headScript()->appendFile($baseUrl.'/js/datatables/js/jquery.dataTables.min.js','text/javascript');
|
$this->view->headScript()->appendFile($baseUrl.'/js/datatables/js/jquery.dataTables.min.js','text/javascript');
|
||||||
|
|
||||||
|
//nowplayingdatagrid.js requires this variable, so that datePicker widget can be offset to server time instead of client time
|
||||||
|
$this->view->headScript()->appendScript("var timezoneOffset = ".date("Z")."; //in seconds");
|
||||||
$this->view->headScript()->appendFile($baseUrl.'/js/airtime/nowplaying/nowplayingdatagrid.js','text/javascript');
|
$this->view->headScript()->appendFile($baseUrl.'/js/airtime/nowplaying/nowplayingdatagrid.js','text/javascript');
|
||||||
|
|
||||||
$this->view->headScript()->appendFile($baseUrl.'/js/airtime/nowplaying/dayview.js','text/javascript');
|
$this->view->headScript()->appendFile($baseUrl.'/js/airtime/nowplaying/dayview.js','text/javascript');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -46,7 +46,11 @@ class ScheduleController extends Zend_Controller_Action
|
||||||
$this->view->headScript()->appendFile($baseUrl.'/js/fullcalendar/fullcalendar.js','text/javascript');
|
$this->view->headScript()->appendFile($baseUrl.'/js/fullcalendar/fullcalendar.js','text/javascript');
|
||||||
$this->view->headScript()->appendFile($baseUrl.'/js/timepicker/jquery.ui.timepicker-0.0.6.js','text/javascript');
|
$this->view->headScript()->appendFile($baseUrl.'/js/timepicker/jquery.ui.timepicker-0.0.6.js','text/javascript');
|
||||||
$this->view->headScript()->appendFile($baseUrl.'/js/colorpicker/js/colorpicker.js','text/javascript');
|
$this->view->headScript()->appendFile($baseUrl.'/js/colorpicker/js/colorpicker.js','text/javascript');
|
||||||
|
|
||||||
|
//full-calendar-functions.js requires this variable, so that datePicker widget can be offset to server time instead of client time
|
||||||
|
$this->view->headScript()->appendScript("var timezoneOffset = ".date("Z")."; //in seconds");
|
||||||
$this->view->headScript()->appendFile($baseUrl.'/js/airtime/schedule/full-calendar-functions.js','text/javascript');
|
$this->view->headScript()->appendFile($baseUrl.'/js/airtime/schedule/full-calendar-functions.js','text/javascript');
|
||||||
|
|
||||||
$this->view->headScript()->appendFile($baseUrl.'/js/airtime/schedule/add-show.js','text/javascript');
|
$this->view->headScript()->appendFile($baseUrl.'/js/airtime/schedule/add-show.js','text/javascript');
|
||||||
$this->view->headScript()->appendFile($baseUrl.'/js/airtime/schedule/schedule.js','text/javascript');
|
$this->view->headScript()->appendFile($baseUrl.'/js/airtime/schedule/schedule.js','text/javascript');
|
||||||
$this->view->headScript()->appendFile($baseUrl.'/js/meioMask/jquery.meio.mask.js','text/javascript');
|
$this->view->headScript()->appendFile($baseUrl.'/js/meioMask/jquery.meio.mask.js','text/javascript');
|
||||||
|
|
|
@ -6,3 +6,16 @@ $(document).ready(function() {
|
||||||
savePanelSpace: true
|
savePanelSpace: true
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
function adjustDateToServerDate(date, serverTimezoneOffset){
|
||||||
|
//date object stores time in the browser's localtime. We need to artificially shift
|
||||||
|
//it to
|
||||||
|
var timezoneOffset = date.getTimezoneOffset()*60*1000;
|
||||||
|
|
||||||
|
date.setTime(date.getTime() + timezoneOffset + serverTimezoneOffset*1000);
|
||||||
|
|
||||||
|
/* date object has been shifted to artificial UTC time. Now let's
|
||||||
|
* shift it to the server's timezone */
|
||||||
|
|
||||||
|
return date;
|
||||||
|
}
|
||||||
|
|
|
@ -204,7 +204,7 @@ $(document).ready(function() {
|
||||||
$("#datepicker").datepicker({
|
$("#datepicker").datepicker({
|
||||||
onSelect: function(dateText, inst)
|
onSelect: function(dateText, inst)
|
||||||
{ getData();}});
|
{ getData();}});
|
||||||
$("#datepicker").datepicker("setDate", new Date());
|
$("#datepicker").datepicker("setDate", adjustDateToServerDate(new Date(), timezoneOffset));
|
||||||
} else {
|
} else {
|
||||||
$('#day_view').click(function(){redirect('/Nowplaying/day-view')});
|
$('#day_view').click(function(){redirect('/Nowplaying/day-view')});
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,7 +23,6 @@ function endDpSelect(dateText, inst) {
|
||||||
time = dateText.split("-");
|
time = dateText.split("-");
|
||||||
date = new Date(time[0], time[1] - 1, time[2]);
|
date = new Date(time[0], time[1] - 1, time[2]);
|
||||||
|
|
||||||
//$("#add_show_start_date").datepicker( "option", "maxDate", date);
|
|
||||||
if (inst.input)
|
if (inst.input)
|
||||||
inst.input.trigger('change');
|
inst.input.trigger('change');
|
||||||
}
|
}
|
||||||
|
@ -32,7 +31,7 @@ function createDateInput(el, onSelect) {
|
||||||
var date;
|
var date;
|
||||||
|
|
||||||
el.datepicker({
|
el.datepicker({
|
||||||
minDate: new Date(),
|
minDate: adjustDateToServerDate(new Date(), timezoneOffset),
|
||||||
onSelect: onSelect,
|
onSelect: onSelect,
|
||||||
dateFormat: 'yy-mm-dd'
|
dateFormat: 'yy-mm-dd'
|
||||||
});
|
});
|
||||||
|
@ -188,7 +187,7 @@ function setAddShowEvents() {
|
||||||
});
|
});
|
||||||
|
|
||||||
form.find('input[name^="add_show_rebroadcast_date_absolute"]').datepicker({
|
form.find('input[name^="add_show_rebroadcast_date_absolute"]').datepicker({
|
||||||
minDate: new Date(),
|
minDate: adjustDateToServerDate(new Date(), timezoneOffset),
|
||||||
dateFormat: 'yy-mm-dd'
|
dateFormat: 'yy-mm-dd'
|
||||||
});
|
});
|
||||||
form.find('input[name^="add_show_rebroadcast_time"]').timepicker({
|
form.find('input[name^="add_show_rebroadcast_time"]').timepicker({
|
||||||
|
|
|
@ -75,19 +75,6 @@ function makeTimeStamp(date){
|
||||||
return timestamp;
|
return timestamp;
|
||||||
}
|
}
|
||||||
|
|
||||||
function adjustDateToServerDate(date, serverTimezoneOffset){
|
|
||||||
//date object stores time in the browser's localtime. We need to artificially shift
|
|
||||||
//it to
|
|
||||||
var timezoneOffset = date.getTimezoneOffset()*60*1000;
|
|
||||||
|
|
||||||
date.setTime(date.getTime() + timezoneOffset + serverTimezoneOffset*1000);
|
|
||||||
|
|
||||||
/* date object has been shifted to artificial UTC time. Now let's
|
|
||||||
* shift it to the server's timezone */
|
|
||||||
|
|
||||||
return date;
|
|
||||||
}
|
|
||||||
|
|
||||||
function pad(number, length) {
|
function pad(number, length) {
|
||||||
var str = '' + number;
|
var str = '' + number;
|
||||||
while (str.length < length) {
|
while (str.length < length) {
|
||||||
|
|
|
@ -50,7 +50,7 @@ martin@Thinkpad-T410:~/workspace/airtime/airtime_mvc/public/js/fullcalendar$ dif
|
||||||
+})(jQuery);
|
+})(jQuery);
|
||||||
|
|
||||||
|
|
||||||
adjustDateToServerDate() function is defined in "js/airtime/schedule/full-calendar-functions.js"
|
adjustDateToServerDate() function is defined in "js/airtime/common/common.js"
|
||||||
|
|
||||||
Please make this change before updating!!!
|
Please make this change before updating!!!
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue