CC-5359: Update show fails sometimes with overlapping check

Some DateTime objects were not getting created in correct timezone
Used format() to get the day of week value instead of getTimestamp()
getTimestamp() sometimes returns the wrong value
This commit is contained in:
drigato 2013-10-03 18:02:15 -04:00
parent c707967567
commit 37a0c271f6
1 changed files with 4 additions and 4 deletions

View File

@ -168,9 +168,9 @@ class Application_Form_AddShowWhen extends Zend_Form_SubForm
if ($valid) { if ($valid) {
$utc = new DateTimeZone('UTC'); $utc = new DateTimeZone('UTC');
$showTimezone = new DateTimeZone($formData["add_show_timezone"]); $showTimezone = new DateTimeZone($formData["add_show_timezone"]);
$show_start = new DateTime($start_time); $show_start = new DateTime($start_time, $showTimezone);
$show_start->setTimezone($utc); $show_start->setTimezone($utc);
$show_end = new DateTime($end_time); $show_end = new DateTime($end_time, $showTimezone);
$show_end->setTimezone($utc); $show_end->setTimezone($utc);
if ($formData["add_show_repeats"]) { if ($formData["add_show_repeats"]) {
@ -188,7 +188,7 @@ class Application_Form_AddShowWhen extends Zend_Form_SubForm
} elseif (!$formData["add_show_no_end"]) { } elseif (!$formData["add_show_no_end"]) {
$popUntil = $formData["add_show_end_date"]." ".$formData["add_show_end_time"]; $popUntil = $formData["add_show_end_date"]." ".$formData["add_show_end_time"];
$populateUntilDateTime = new DateTime($popUntil); $populateUntilDateTime = new DateTime($popUntil, $showTimezone);
$populateUntilDateTime->setTimezone($utc); $populateUntilDateTime->setTimezone($utc);
} }
@ -216,7 +216,7 @@ class Application_Form_AddShowWhen extends Zend_Form_SubForm
* Do this for each show day * Do this for each show day
*/ */
if (!$overlapping) { if (!$overlapping) {
$startDow = date("w", $show_start->getTimestamp()); $startDow = $show_start->format("w");
if (!isset($formData['add_show_day_check'])) { if (!isset($formData['add_show_day_check'])) {
return false; return false;