diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index 2c0fe1d91..731e77ba7 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -13,6 +13,7 @@ Added tests for File and Image assets to verify that this happens correctly. - fix - Unable to add EventsCalendar - fix - Some functions in InOutBoard not internationalized + - fix: Calendar/Event not handling gateway properly. 7.3.0 diff --git a/lib/WebGUI/Asset/Event.pm b/lib/WebGUI/Asset/Event.pm index c8dcc0d65..cb0916ef4 100644 --- a/lib/WebGUI/Asset/Event.pm +++ b/lib/WebGUI/Asset/Event.pm @@ -1262,13 +1262,10 @@ sub getTemplateVars # Make some friendly URLs $dtStart->truncate(to=>"day"); - $var{"urlDay"} = "/".$self->getParent->get("url")."?type=day;start=" - . $dtStart->toMysql; - $var{"urlWeek"} = "/".$self->getParent->get("url")."?type=week;start=" - . $dtStart->toMysql; - $var{"urlMonth"} = "/".$self->getParent->get("url")."?type=month;start=" - . $dtStart->toMysql; - $var{"urlParent"} = "/".$self->getParent->get("url"); + $var{"urlDay"} = $self->getParent->getUrl("type=day;start=".$dtStart->toMysql); + $var{"urlWeek"} = $self->getParent->getUrl("type=week;start=".$dtStart->toMysql); + $var{"urlMonth"} = $self->getParent->getUrl("type=month;start=".$dtStart->toMysql); + $var{"urlParent"} = $self->getParent->getUrl; # Related links @@ -1416,18 +1413,11 @@ sub processPropertiesFromFormPost # Set storable to canonical so that we can compare data structures $Storable::canonical = 1; - #use Data::Dumper; - #$session->errorHandler->warn("OLD (".$self->get("recurId")."): ".Dumper \%recurrence_old); - #$session->errorHandler->warn("NEW: ".Dumper \%recurrence_new); - # Pattern keys if (nfreeze(\%recurrence_new) ne nfreeze(\%recurrence_old)) { # Delete all old events and create new ones my $old_id = $self->get("recurId"); - - #use Data::Dumper; - #$self->session->errorHandler->warn("Form recurrence: ".Dumper \%recurrence_new); return ["There's something wrong with your recurrence pattern."] unless $self->generateRecurringEvents(\%recurrence_new); @@ -1453,9 +1443,7 @@ sub processPropertiesFromFormPost # No change else { - # Just update related events - #$self->session->errorHandler->warn("No changes to recurrence."); - + # Just update related events my $properties = $self->get; delete $properties->{startDate}; delete $properties->{endDate}; @@ -1561,9 +1549,6 @@ sub setRecurrence endDate => $end, }; - #use Data::Dumper; - #$self->session->errorHandler->warn("Setting recurrence: ".Dumper $data); - ## Set to the database ## Return the new recurId return $self->session->db->setRow("Event_recur","recurId",$data); @@ -1619,11 +1604,11 @@ sub view # Next and previous events my $next = $self->getEventNext; - $var->{"nextUrl"} = "/".$next->get("url") + $var->{"nextUrl"} = $next->getUrl if ($next); my $prev = $self->getEventPrev; - $var->{"prevUrl"} = "/".$prev->get("url") + $var->{"prevUrl"} = $prev->getUrl if ($prev); @@ -1791,9 +1776,6 @@ sub www_edit my %recur = $self->getRecurrenceFromForm || $self->getRecurrence; $recur{every} ||= 1; - #use Data::Dumper; - #$self->session->errorHandler->warn("Assigning recurrence: ".Dumper \%recur); - $var->{"formRecurPattern"} = q|

@@ -1984,7 +1966,7 @@ sub www_edit } } - toggleTimes(); + toggleTimes(); // TODO: Insert into onLoad handler via YUI function toggleRecur() @@ -2011,7 +1993,7 @@ sub www_edit document.getElementById("recurPattern_yearly").style.display = "block"; } } - toggleRecur(); + toggleRecur(); // TODO: Insert into onLoad handler via YUI ENDJS @@ -2081,9 +2063,8 @@ sub www_view { -=head1 Todo -Pages for Next Event >> and Prev Event << on the Event Details page +=head1 Todo Pages for Next Occurence >> and Prev Occurrence << on the Event Details page diff --git a/lib/WebGUI/Asset/Wobject/Calendar.pm b/lib/WebGUI/Asset/Wobject/Calendar.pm index 6e6acd60b..06d1bc26b 100644 --- a/lib/WebGUI/Asset/Wobject/Calendar.pm +++ b/lib/WebGUI/Asset/Wobject/Calendar.pm @@ -326,7 +326,7 @@ sub canAddEvent return ( ( $self->get("status") eq "approved" || - $self->getTagCount > 1 # checks to make sure that the cs has been committed at least once + $self->getTagCount > 1 # checks to make sure that the calendar has been committed at least once ) && ( $self->session->user->isInGroup($self->get("groupIdEventEdit")) || $self->SUPER::canEdit @@ -643,9 +643,8 @@ sub getEventsIn whereClause => $where, }); - # ? Perhaps use Stow to cache events ? - #$self->session->errorHandler->warn("Got ".scalar @{$events}." events in ($start -- $end || $startTz -- $endTz)"); - #$self->session->errorHandler->warn("Ref: ".ref $events->[0]); + #? Perhaps use Stow to cache Events ?# + return @{$events}; } @@ -737,7 +736,6 @@ sub prepareView my $view = ucfirst lc $self->session->form->param("type") || ucfirst $self->get("defaultView") || "Month"; - #$self->session->errorHandler->warn("Prepare view ".$view." with template ".$self->get("templateId".$view)); my $template = WebGUI::Asset::Template->new($self->session, $self->get("templateId".$view)); $template->prepare; @@ -776,7 +774,8 @@ sub processPropertiesFromFormPost ### Get feeds from the form - # Workaround WebGUI::Session::Form->param bug + # Workaround WebGUI::Session::Form->param bug that returns duplicate + # names. my %feeds; $feeds{$_}++ for map { s/^feeds-//; $_; } grep /^feeds-/,($form->param()); @@ -899,12 +898,11 @@ sub view } # URLs - $var->{"urlDay"} = "/".$session->url->append($self->get("url") - , "type=day;start=".$params->{start}); - $var->{"urlWeek"} = "/".$session->url->append($self->get("url") - , "type=week;start=".$params->{start}); - $var->{"urlMonth"} = "/".$session->url->append($self->get("url") - , "type=month;start=".$params->{start}); + $var->{"urlDay"} = $self->getUrl("type=day;start=".$params->{start}); + $var->{"urlWeek"} = $self->getUrl("type=week;start=".$params->{start}); + $var->{"urlMonth"} = $self->getUrl("type=month;start=".$params->{start}); + $var->{"urlAdd"} = $self->getUrl("func=add;class=WebGUI::Asset::Event"); + $var->{"urlSearch"} = $self->getUrl("func=search"); # Parameters $var->{"paramStart"} = $params->{start}; @@ -916,8 +914,6 @@ sub view # If user is only a Visitor and we've gotten this far, update the cache # Return the processed template to be displayed for the user - #use Data::Dumper; $session->errorHandler->warn(Dumper $var); - return $self->processTemplate($var, undef, $self->{_viewTemplate}); } @@ -995,11 +991,9 @@ sub viewDay # Make the navigation bars $var->{"pageNextStart"} = $dt->clone->add(days=>1)->toMysql; - $var->{"pageNextUrl"} = "/".$self->get("url")."?type=day;start=" - . $var->{"pageNextStart"}; + $var->{"pageNextUrl"} = $self->getUrl("type=day;start=".$var->{"pageNextStart"}); $var->{"pagePrevStart"} = $dt->clone->subtract(days=>1)->toMysql; - $var->{"pagePrevUrl"} = "/".$self->get("url")."?type=day;start=" - . $var->{"pagePrevStart"}; + $var->{"pagePrevUrl"} = $self->getUrl("type=day;start=".$var->{"pagePrevStart"}); # Some friendly dates $var->{"dayName"} = $dt->day_name; $var->{"dayAbbr"} = $dt->day_abbr; @@ -1084,10 +1078,7 @@ sub viewMonth # Add the day in the appropriate position $var->{weeks}->[$week]->{days}->[$position] = { "dayMonth" => $dt_day->day_of_month, - "dayUrl" => "/" - . $self->get("url") - . "?type=day;start=" - . $dt_day->toMysql, + "dayUrl" => $self->getUrl("type=day;start=".$dt_day->toMysql), "dayCurrent" => ($today eq $dt_day->toMysqlDate ? 1 : 0 ), }; } @@ -1133,10 +1124,7 @@ sub viewMonth "monthName" => $dt_month->month_name, "monthAbbr" => $dt_month->month_abbr, "monthEpoch" => $dt_month->epoch, - "monthUrl" => "/" - . $self->get("url") - . "?type=month;start=" - . $dt_month->toMysql, + "monthUrl" => $self->getUrl("type=month;start=".$dt_month->toMysql), "monthCurrent" => ($dt_month->month eq $dt->month ? 1 : 0), }; @@ -1157,11 +1145,11 @@ sub viewMonth $var->{"pageNextYear"} = $dt->year + 1; - $var->{"pageNextUrl"} = "/".$self->get("url")."?type=month;start=" - . $dt->clone->add(years=>1)->toMysql; + $var->{"pageNextUrl"} = $self->getUrl("type=month;start=" + . $dt->clone->add(years=>1)->toMysql); $var->{"pagePrevYear"} = $dt->year - 1; - $var->{"pagePrevUrl"} = "/".$self->get("url")."?type=month;start=" - . $dt->clone->subtract(years=>1)->toMysql; + $var->{"pagePrevUrl"} = $self->getUrl("type=month;start=" + . $dt->clone->subtract(years=>1)->toMysql); $var->{"monthName"} = $dt->month_name; $var->{"monthAbbr"} = $dt->month_abbr; $var->{"year"} = $dt->year; @@ -1274,10 +1262,10 @@ sub viewWeek } # Make the navigation bars - $var->{"pageNextUrl"} = "/".$self->get("url")."?type=week;start=" - . $dt->clone->add(weeks=>1)->toMysql; - $var->{"pagePrevUrl"} = "/".$self->get("url")."?type=week;start=" - . $dt->clone->subtract(weeks=>1)->toMysql; + $var->{"pageNextUrl"} = $self->getUrl("type=week;start=" + . $dt->clone->add(weeks=>1)->toMysql); + $var->{"pagePrevUrl"} = $self->getUrl("type=week;start=" + . $dt->clone->subtract(weeks=>1)->toMysql); $var->{"startMonthName"} = $dt->month_name; $var->{"startMonthAbbr"} = $dt->month_abbr;