CC-3822 : NowPlaying-> Time filter is allowing Start_Time be greater than the End_Time
This commit is contained in:
parent
63b0d4194a
commit
408ecc530d
3 changed files with 74 additions and 34 deletions
|
@ -105,6 +105,10 @@ div.sb-timerange input#sb_date_start {
|
||||||
margin-left: 30px;
|
margin-left: 30px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
div.sb-timerange input.error {
|
||||||
|
background-color: rgba(255,0,0,0.2);
|
||||||
|
}
|
||||||
|
|
||||||
.sb-starts,
|
.sb-starts,
|
||||||
.sb-ends {
|
.sb-ends {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
|
|
@ -35,7 +35,8 @@ AIRTIME = (function(AIRTIME) {
|
||||||
dayNamesMin: i18n_days_short,
|
dayNamesMin: i18n_days_short,
|
||||||
onClick: function(sDate, oDatePicker) {
|
onClick: function(sDate, oDatePicker) {
|
||||||
$(this).datepicker( "setDate", sDate );
|
$(this).datepicker( "setDate", sDate );
|
||||||
}
|
},
|
||||||
|
onClose: validateTimeRange
|
||||||
};
|
};
|
||||||
|
|
||||||
oBaseTimePickerSettings = {
|
oBaseTimePickerSettings = {
|
||||||
|
@ -90,32 +91,61 @@ AIRTIME = (function(AIRTIME) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function validateTimeRange() {
|
||||||
|
var oRange,
|
||||||
|
inputs = $('.sb-timerange > input'),
|
||||||
|
start, end;
|
||||||
|
|
||||||
|
oRange = AIRTIME.utilities.fnGetScheduleRange(dateStartId, timeStartId, dateEndId, timeEndId);
|
||||||
|
|
||||||
|
start = oRange.start;
|
||||||
|
end = oRange.end;
|
||||||
|
|
||||||
|
if (end >= start) {
|
||||||
|
inputs.removeClass('error');
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (!inputs.hasClass('error')) {
|
||||||
|
inputs.addClass('error');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
start: start,
|
||||||
|
end: end,
|
||||||
|
isValid: end >= start
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
function showSearchSubmit() {
|
function showSearchSubmit() {
|
||||||
var fn,
|
var fn,
|
||||||
oRange,
|
|
||||||
op,
|
op,
|
||||||
oTable = $('#show_builder_table').dataTable();
|
oTable = $('#show_builder_table').dataTable(),
|
||||||
|
check;
|
||||||
//reset timestamp value since input values could have changed.
|
|
||||||
AIRTIME.showbuilder.resetTimestamp();
|
check = validateTimeRange();
|
||||||
|
|
||||||
oRange = AIRTIME.utilities.fnGetScheduleRange(dateStartId, timeStartId, dateEndId, timeEndId);
|
if (check.isValid) {
|
||||||
|
|
||||||
fn = oTable.fnSettings().fnServerData;
|
//reset timestamp value since input values could have changed.
|
||||||
fn.start = oRange.start;
|
AIRTIME.showbuilder.resetTimestamp();
|
||||||
fn.end = oRange.end;
|
|
||||||
|
fn = oTable.fnSettings().fnServerData;
|
||||||
op = $("div.sb-advanced-options");
|
fn.start = check.start;
|
||||||
if (op.is(":visible")) {
|
fn.end = check.end;
|
||||||
|
|
||||||
if (fn.ops === undefined) {
|
op = $("div.sb-advanced-options");
|
||||||
fn.ops = {};
|
if (op.is(":visible")) {
|
||||||
}
|
|
||||||
fn.ops.showFilter = op.find("#sb_show_filter").val();
|
if (fn.ops === undefined) {
|
||||||
fn.ops.myShows = op.find("#sb_my_shows").is(":checked") ? 1 : 0;
|
fn.ops = {};
|
||||||
|
}
|
||||||
|
fn.ops.showFilter = op.find("#sb_show_filter").val();
|
||||||
|
fn.ops.myShows = op.find("#sb_my_shows").is(":checked") ? 1 : 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
oTable.fnDraw();
|
||||||
}
|
}
|
||||||
|
|
||||||
oTable.fnDraw();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
mod.onReady = function() {
|
mod.onReady = function() {
|
||||||
|
@ -134,10 +164,22 @@ AIRTIME = (function(AIRTIME) {
|
||||||
$(this).removeClass("ui-state-hover");
|
$(this).removeClass("ui-state-hover");
|
||||||
});
|
});
|
||||||
|
|
||||||
$builder.find(dateStartId).datepicker(oBaseDatePickerSettings);
|
$builder.find(dateStartId)
|
||||||
$builder.find(timeStartId).timepicker(oBaseTimePickerSettings);
|
.datepicker(oBaseDatePickerSettings)
|
||||||
$builder.find(dateEndId).datepicker(oBaseDatePickerSettings);
|
.blur(validateTimeRange);
|
||||||
$builder.find(timeEndId).timepicker(oBaseTimePickerSettings);
|
|
||||||
|
$builder.find(timeStartId)
|
||||||
|
.timepicker(oBaseTimePickerSettings)
|
||||||
|
.blur(validateTimeRange);
|
||||||
|
|
||||||
|
$builder.find(dateEndId)
|
||||||
|
.datepicker(oBaseDatePickerSettings)
|
||||||
|
.blur(validateTimeRange);
|
||||||
|
|
||||||
|
$builder.find(timeEndId)
|
||||||
|
.timepicker(oBaseTimePickerSettings)
|
||||||
|
.blur(validateTimeRange);
|
||||||
|
|
||||||
|
|
||||||
oRange = AIRTIME.utilities.fnGetScheduleRange(dateStartId, timeStartId,
|
oRange = AIRTIME.utilities.fnGetScheduleRange(dateStartId, timeStartId,
|
||||||
dateEndId, timeEndId);
|
dateEndId, timeEndId);
|
||||||
|
|
|
@ -88,19 +88,13 @@ var AIRTIME = (function(AIRTIME){
|
||||||
mod.fnGetScheduleRange = function(dateStart, timeStart, dateEnd, timeEnd) {
|
mod.fnGetScheduleRange = function(dateStart, timeStart, dateEnd, timeEnd) {
|
||||||
var iStart,
|
var iStart,
|
||||||
iEnd,
|
iEnd,
|
||||||
iRange,
|
iRange;
|
||||||
DEFAULT_RANGE = 60*60*24;
|
|
||||||
|
|
||||||
iStart = AIRTIME.utilities.fnGetTimestamp(dateStart, timeStart);
|
iStart = AIRTIME.utilities.fnGetTimestamp(dateStart, timeStart);
|
||||||
iEnd = AIRTIME.utilities.fnGetTimestamp(dateEnd, timeEnd);
|
iEnd = AIRTIME.utilities.fnGetTimestamp(dateEnd, timeEnd);
|
||||||
|
|
||||||
iRange = iEnd - iStart;
|
iRange = iEnd - iStart;
|
||||||
|
|
||||||
if (iEnd < iStart) {
|
|
||||||
iEnd = iStart + DEFAULT_RANGE;
|
|
||||||
iRange = DEFAULT_RANGE;
|
|
||||||
}
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
start: iStart,
|
start: iStart,
|
||||||
end: iEnd,
|
end: iEnd,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue