CC-4528: Calendar: Can drag and drop current show into past (it's forbidden to set it by editing show)
-fixed
This commit is contained in:
parent
279737751b
commit
dc410f4289
1 changed files with 12 additions and 3 deletions
|
@ -179,14 +179,19 @@ SQL;
|
|||
if ($deltaDay > 0) {
|
||||
return "Shows can have a max length of 24 hours.";
|
||||
}
|
||||
|
||||
$utc = new DateTimeZone("UTC");
|
||||
|
||||
$nowDateTime = new DateTime("now", $utc);
|
||||
|
||||
$showInstances = CcShowInstancesQuery::create()
|
||||
->filterByDbShowId($this->_showId)
|
||||
->find($con);
|
||||
|
||||
/* Check if the show being resized and any of its repeats * overlap
|
||||
with other scheduled shows */
|
||||
$utc = new DateTimeZone("UTC");
|
||||
/* Check two things:
|
||||
1. If the show being resized and any of its repeats end in the past
|
||||
2. If the show being resized and any of its repeats overlap
|
||||
with other scheduled shows */
|
||||
|
||||
foreach ($showInstances as $si) {
|
||||
$startsDateTime = new DateTime($si->getDbStarts(), new DateTimeZone("UTC"));
|
||||
|
@ -201,6 +206,10 @@ SQL;
|
|||
|
||||
$newStartsDateTime = Application_Model_ShowInstance::addDeltas($startsDateTime, $deltaDay, $deltaMin);
|
||||
$newEndsDateTime = Application_Model_ShowInstance::addDeltas($endsDateTime, $deltaDay, $deltaMin);
|
||||
|
||||
if ($newEndsDateTime->getTimestamp() < $nowDateTime->getTimestamp()) {
|
||||
return "End date/time cannot be in the past";
|
||||
}
|
||||
|
||||
//convert our new starts/ends to UTC.
|
||||
$newStartsDateTime->setTimezone($utc);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue