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.
- fix - Unable to add EventsCalendar
- fix - Some functions in InOutBoard not internationalized
- fix: Calendar/Event not handling gateway properly.
7.3.0

View file

@ -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|
<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()
@ -2011,7 +1993,7 @@ sub www_edit
document.getElementById("recurPattern_yearly").style.display = "block";
}
}
toggleRecur();
toggleRecur(); // TODO: Insert into onLoad handler via YUI
</script>
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

View file

@ -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;