fix: New Calendar/Event not handling gateway properly.

This commit is contained in:
Doug Bell 2006-12-11 18:17:21 +00:00
parent 385fb92479
commit ca21c7d5da
3 changed files with 33 additions and 63 deletions

View file

@ -13,6 +13,7 @@
Added tests for File and Image assets to verify that this happens correctly. Added tests for File and Image assets to verify that this happens correctly.
- fix - Unable to add EventsCalendar - fix - Unable to add EventsCalendar
- fix - Some functions in InOutBoard not internationalized - fix - Some functions in InOutBoard not internationalized
- fix: Calendar/Event not handling gateway properly.
7.3.0 7.3.0

View file

@ -1262,13 +1262,10 @@ sub getTemplateVars
# Make some friendly URLs # Make some friendly URLs
$dtStart->truncate(to=>"day"); $dtStart->truncate(to=>"day");
$var{"urlDay"} = "/".$self->getParent->get("url")."?type=day;start=" $var{"urlDay"} = $self->getParent->getUrl("type=day;start=".$dtStart->toMysql);
. $dtStart->toMysql; $var{"urlWeek"} = $self->getParent->getUrl("type=week;start=".$dtStart->toMysql);
$var{"urlWeek"} = "/".$self->getParent->get("url")."?type=week;start=" $var{"urlMonth"} = $self->getParent->getUrl("type=month;start=".$dtStart->toMysql);
. $dtStart->toMysql; $var{"urlParent"} = $self->getParent->getUrl;
$var{"urlMonth"} = "/".$self->getParent->get("url")."?type=month;start="
. $dtStart->toMysql;
$var{"urlParent"} = "/".$self->getParent->get("url");
# Related links # Related links
@ -1416,18 +1413,11 @@ sub processPropertiesFromFormPost
# Set storable to canonical so that we can compare data structures # Set storable to canonical so that we can compare data structures
$Storable::canonical = 1; $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 # Pattern keys
if (nfreeze(\%recurrence_new) ne nfreeze(\%recurrence_old)) if (nfreeze(\%recurrence_new) ne nfreeze(\%recurrence_old))
{ {
# Delete all old events and create new ones # Delete all old events and create new ones
my $old_id = $self->get("recurId"); 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."] return ["There's something wrong with your recurrence pattern."]
unless $self->generateRecurringEvents(\%recurrence_new); unless $self->generateRecurringEvents(\%recurrence_new);
@ -1453,9 +1443,7 @@ sub processPropertiesFromFormPost
# No change # No change
else else
{ {
# Just update related events # Just update related events
#$self->session->errorHandler->warn("No changes to recurrence.");
my $properties = $self->get; my $properties = $self->get;
delete $properties->{startDate}; delete $properties->{startDate};
delete $properties->{endDate}; delete $properties->{endDate};
@ -1561,9 +1549,6 @@ sub setRecurrence
endDate => $end, endDate => $end,
}; };
#use Data::Dumper;
#$self->session->errorHandler->warn("Setting recurrence: ".Dumper $data);
## Set to the database ## Set to the database
## Return the new recurId ## Return the new recurId
return $self->session->db->setRow("Event_recur","recurId",$data); return $self->session->db->setRow("Event_recur","recurId",$data);
@ -1619,11 +1604,11 @@ sub view
# Next and previous events # Next and previous events
my $next = $self->getEventNext; my $next = $self->getEventNext;
$var->{"nextUrl"} = "/".$next->get("url") $var->{"nextUrl"} = $next->getUrl
if ($next); if ($next);
my $prev = $self->getEventPrev; my $prev = $self->getEventPrev;
$var->{"prevUrl"} = "/".$prev->get("url") $var->{"prevUrl"} = $prev->getUrl
if ($prev); if ($prev);
@ -1791,9 +1776,6 @@ sub www_edit
my %recur = $self->getRecurrenceFromForm || $self->getRecurrence; my %recur = $self->getRecurrenceFromForm || $self->getRecurrence;
$recur{every} ||= 1; $recur{every} ||= 1;
#use Data::Dumper;
#$self->session->errorHandler->warn("Assigning recurrence: ".Dumper \%recur);
$var->{"formRecurPattern"} = $var->{"formRecurPattern"} =
q| q|
<p><input type="radio" name="recurType" id="recurType_none" value="none" onclick="toggleRecur()" /> <p><input type="radio" name="recurType" id="recurType_none" value="none" onclick="toggleRecur()" />
@ -1984,7 +1966,7 @@ sub www_edit
} }
} }
toggleTimes(); toggleTimes(); // TODO: Insert into onLoad handler via YUI
function toggleRecur() function toggleRecur()
@ -2011,7 +1993,7 @@ sub www_edit
document.getElementById("recurPattern_yearly").style.display = "block"; document.getElementById("recurPattern_yearly").style.display = "block";
} }
} }
toggleRecur(); toggleRecur(); // TODO: Insert into onLoad handler via YUI
</script> </script>
ENDJS 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 Pages for Next Occurence >> and Prev Occurrence << on the Event Details page

View file

@ -326,7 +326,7 @@ sub canAddEvent
return ( return (
( (
$self->get("status") eq "approved" || $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->session->user->isInGroup($self->get("groupIdEventEdit"))
|| $self->SUPER::canEdit || $self->SUPER::canEdit
@ -643,9 +643,8 @@ sub getEventsIn
whereClause => $where, whereClause => $where,
}); });
# ? Perhaps use Stow to cache events ? #? 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]);
return @{$events}; return @{$events};
} }
@ -737,7 +736,6 @@ sub prepareView
my $view = ucfirst lc $self->session->form->param("type") my $view = ucfirst lc $self->session->form->param("type")
|| ucfirst $self->get("defaultView") || ucfirst $self->get("defaultView")
|| "Month"; || "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)); my $template = WebGUI::Asset::Template->new($self->session, $self->get("templateId".$view));
$template->prepare; $template->prepare;
@ -776,7 +774,8 @@ sub processPropertiesFromFormPost
### Get feeds from the form ### Get feeds from the form
# Workaround WebGUI::Session::Form->param bug # Workaround WebGUI::Session::Form->param bug that returns duplicate
# names.
my %feeds; my %feeds;
$feeds{$_}++ $feeds{$_}++
for map { s/^feeds-//; $_; } grep /^feeds-/,($form->param()); for map { s/^feeds-//; $_; } grep /^feeds-/,($form->param());
@ -899,12 +898,11 @@ sub view
} }
# URLs # URLs
$var->{"urlDay"} = "/".$session->url->append($self->get("url") $var->{"urlDay"} = $self->getUrl("type=day;start=".$params->{start});
, "type=day;start=".$params->{start}); $var->{"urlWeek"} = $self->getUrl("type=week;start=".$params->{start});
$var->{"urlWeek"} = "/".$session->url->append($self->get("url") $var->{"urlMonth"} = $self->getUrl("type=month;start=".$params->{start});
, "type=week;start=".$params->{start}); $var->{"urlAdd"} = $self->getUrl("func=add;class=WebGUI::Asset::Event");
$var->{"urlMonth"} = "/".$session->url->append($self->get("url") $var->{"urlSearch"} = $self->getUrl("func=search");
, "type=month;start=".$params->{start});
# Parameters # Parameters
$var->{"paramStart"} = $params->{start}; $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 # 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 # 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}); return $self->processTemplate($var, undef, $self->{_viewTemplate});
} }
@ -995,11 +991,9 @@ sub viewDay
# Make the navigation bars # Make the navigation bars
$var->{"pageNextStart"} = $dt->clone->add(days=>1)->toMysql; $var->{"pageNextStart"} = $dt->clone->add(days=>1)->toMysql;
$var->{"pageNextUrl"} = "/".$self->get("url")."?type=day;start=" $var->{"pageNextUrl"} = $self->getUrl("type=day;start=".$var->{"pageNextStart"});
. $var->{"pageNextStart"};
$var->{"pagePrevStart"} = $dt->clone->subtract(days=>1)->toMysql; $var->{"pagePrevStart"} = $dt->clone->subtract(days=>1)->toMysql;
$var->{"pagePrevUrl"} = "/".$self->get("url")."?type=day;start=" $var->{"pagePrevUrl"} = $self->getUrl("type=day;start=".$var->{"pagePrevStart"});
. $var->{"pagePrevStart"};
# Some friendly dates # Some friendly dates
$var->{"dayName"} = $dt->day_name; $var->{"dayName"} = $dt->day_name;
$var->{"dayAbbr"} = $dt->day_abbr; $var->{"dayAbbr"} = $dt->day_abbr;
@ -1084,10 +1078,7 @@ sub viewMonth
# Add the day in the appropriate position # Add the day in the appropriate position
$var->{weeks}->[$week]->{days}->[$position] = { $var->{weeks}->[$week]->{days}->[$position] = {
"dayMonth" => $dt_day->day_of_month, "dayMonth" => $dt_day->day_of_month,
"dayUrl" => "/" "dayUrl" => $self->getUrl("type=day;start=".$dt_day->toMysql),
. $self->get("url")
. "?type=day;start="
. $dt_day->toMysql,
"dayCurrent" => ($today eq $dt_day->toMysqlDate ? 1 : 0 ), "dayCurrent" => ($today eq $dt_day->toMysqlDate ? 1 : 0 ),
}; };
} }
@ -1133,10 +1124,7 @@ sub viewMonth
"monthName" => $dt_month->month_name, "monthName" => $dt_month->month_name,
"monthAbbr" => $dt_month->month_abbr, "monthAbbr" => $dt_month->month_abbr,
"monthEpoch" => $dt_month->epoch, "monthEpoch" => $dt_month->epoch,
"monthUrl" => "/" "monthUrl" => $self->getUrl("type=month;start=".$dt_month->toMysql),
. $self->get("url")
. "?type=month;start="
. $dt_month->toMysql,
"monthCurrent" => ($dt_month->month eq $dt->month ? 1 : 0), "monthCurrent" => ($dt_month->month eq $dt->month ? 1 : 0),
}; };
@ -1157,11 +1145,11 @@ sub viewMonth
$var->{"pageNextYear"} = $dt->year + 1; $var->{"pageNextYear"} = $dt->year + 1;
$var->{"pageNextUrl"} = "/".$self->get("url")."?type=month;start=" $var->{"pageNextUrl"} = $self->getUrl("type=month;start="
. $dt->clone->add(years=>1)->toMysql; . $dt->clone->add(years=>1)->toMysql);
$var->{"pagePrevYear"} = $dt->year - 1; $var->{"pagePrevYear"} = $dt->year - 1;
$var->{"pagePrevUrl"} = "/".$self->get("url")."?type=month;start=" $var->{"pagePrevUrl"} = $self->getUrl("type=month;start="
. $dt->clone->subtract(years=>1)->toMysql; . $dt->clone->subtract(years=>1)->toMysql);
$var->{"monthName"} = $dt->month_name; $var->{"monthName"} = $dt->month_name;
$var->{"monthAbbr"} = $dt->month_abbr; $var->{"monthAbbr"} = $dt->month_abbr;
$var->{"year"} = $dt->year; $var->{"year"} = $dt->year;
@ -1274,10 +1262,10 @@ sub viewWeek
} }
# Make the navigation bars # Make the navigation bars
$var->{"pageNextUrl"} = "/".$self->get("url")."?type=week;start=" $var->{"pageNextUrl"} = $self->getUrl("type=week;start="
. $dt->clone->add(weeks=>1)->toMysql; . $dt->clone->add(weeks=>1)->toMysql);
$var->{"pagePrevUrl"} = "/".$self->get("url")."?type=week;start=" $var->{"pagePrevUrl"} = $self->getUrl("type=week;start="
. $dt->clone->subtract(weeks=>1)->toMysql; . $dt->clone->subtract(weeks=>1)->toMysql);
$var->{"startMonthName"} = $dt->month_name; $var->{"startMonthName"} = $dt->month_name;
$var->{"startMonthAbbr"} = $dt->month_abbr; $var->{"startMonthAbbr"} = $dt->month_abbr;