diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index 41f262c8e..0d9b219c8 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -49,6 +49,8 @@ occurs on a day that ALSO has a recurrence of that event). - fix: Calendar Event Edit erroneously apply time zone changes to all day events. + - fix: Event edit doesn't re-apply "all day event" radio selector after + error. 7.3.8 - Fixed a template variable rewriting problem with HTML::Template::Expr diff --git a/lib/WebGUI/Asset/Event.pm b/lib/WebGUI/Asset/Event.pm index 1d3f68d8f..a95c9c4e8 100644 --- a/lib/WebGUI/Asset/Event.pm +++ b/lib/WebGUI/Asset/Event.pm @@ -1760,7 +1760,7 @@ sub www_edit } my ($startDate, $startTime); - if ($form->param("func") ne "add") { + if ($form->param("func") ne "add" && $form->param("assetId") ne "new") { my $dtStart = $self->getDateTimeStart; if ($self->isAllDay) { $startDate = $dtStart->toUserTimeZoneDate; @@ -1774,13 +1774,13 @@ sub www_edit $var->{"formStartDate"} = WebGUI::Form::date($session, { name => "startDate", - value => $form->process("startDate") || $startDate, + value => $form->param("startDate") || $startDate, defaultValue => $default_start->toUserTimeZoneDate, }); $var->{"formStartTime"} = WebGUI::Form::timeField($session, { name => "startTime", - value => $form->process("startTime") || $startTime, + value => $form->param("startTime") || $startTime, defaultValue => $default_start->toUserTimeZoneTime, }); @@ -1789,7 +1789,7 @@ sub www_edit $default_start->add(hours => 1); my ($endDate, $endTime); - if ($form->process("func") ne "add") { + if ($form->param("func") ne "add" && $form->param("assetId") ne "new") { my $dtEnd = $self->getDateTimeEnd; if ($self->isAllDay) { $endDate = $dtEnd->toUserTimeZoneDate; @@ -1800,21 +1800,25 @@ sub www_edit } } - $var->{"formEndDate"} = WebGUI::Form::date($session, - { - name => "endDate", - value => $form->process("endDate") || $endDate, - defaultValue => $default_start->toUserTimeZoneDate, - }); - $var->{"formEndTime"} = WebGUI::Form::timeField($session, - { - name => "endTime", - value => $form->process("endTime") || $endTime, - defaultValue => $default_start->toUserTimeZoneTime, - }); + $var->{"formEndDate"} + = WebGUI::Form::date($session, { + name => "endDate", + value => $form->param("endDate") || $endDate, + defaultValue => $default_start->toUserTimeZoneDate, + }); + $var->{"formEndTime"} + = WebGUI::Form::timeField($session, { + name => "endTime", + value => $form->param("endTime") || $endTime, + defaultValue => $default_start->toUserTimeZoneTime, + }); # time - my $allday = ($form->param("allday") eq "yes" ? 1 : $self->isAllDay); + my $allday = defined $form->param("allday") + ? $form->param("allday") + : $self->isAllDay + ; + $var->{"formTime"} = q|session->errorHandler->security("add a ".$properties->{className}." to a ".$self->get("className")); return undef; } - use Carp qw(cluck); use Data::Dumper; cluck Dumper $self; + return $self->SUPER::addChild($properties, @other); }