Adjust window in listView for Calendar. Fixes ug #11183

This commit is contained in:
Colin Kuskie 2009-10-29 18:14:21 -07:00
parent a4a5403e8c
commit 5510710b53
3 changed files with 70 additions and 13 deletions

View file

@ -26,6 +26,7 @@
- fixed #11176: New upgrade error in 7.6.35 to 7.7.17
- fixed #11181: ableToBeFriend label not i18n
- fixed #11179: user.CanStartThread missing from help
- fixed #11183: Calendar List View
7.8.2
- Added scheduled vendor payout workflow activity. (Special thanks to Martin @ Oqapi)

View file

@ -1291,11 +1291,16 @@ sub viewList {
my $session = $self->session;
my $i18n = WebGUI::International->new($session,"Asset_Calendar");
my $var = $self->getTemplateVars;
my $tz = $session->datetime->getTimeZone();
### Get the events
my $dtStart = WebGUI::DateTime->new( $session, $params->{start} )->truncate( to => "day" );
my $dtStart = WebGUI::DateTime->new( $session, $params->{start} );
$dtStart->set_time_zone($tz);
$dtStart->truncate( to => 'day' );
my $dtEnd = $dtStart->clone->add( seconds => $self->get('listViewPageInterval') );
warn 'truncated: '.$dtStart->toDatabase;
warn 'end date: '.$dtEnd->toDatabase;
my @events
= $self->getEventsIn(
$dtStart->toDatabase,

View file

@ -66,7 +66,7 @@ my $node = WebGUI::Asset->getImportNode($session);
my $versionTag = WebGUI::VersionTag->getWorking($session);
$versionTag->set({name=>"Calendar Test"});
WebGUI::Test->tagsToRollback($versionTag);
addToCleanup($versionTag);
my $cal = $node->addChild({className=>'WebGUI::Asset::Wobject::Calendar'});
my $windowCal = $node->addChild({
@ -264,7 +264,7 @@ my $coincidentHigh = $windowCal->addChild({
my $tag2 = WebGUI::VersionTag->getWorking($session);
$tag2->commit;
WebGUI::Test->tagsToRollback($tag2);
addToCleanup($tag2);
is(scalar @{ $windowCal->getLineage(['children'])}, 13, 'added events to the window calendar');
@ -321,7 +321,7 @@ my $endOfWeek = $weekCal->addChild({
my $tag3 = WebGUI::VersionTag->getWorking($session);
$tag3->commit;
WebGUI::Test->tagsToRollback($tag3);
addToCleanup($tag3);
my $weekVars = $weekCal->viewWeek({ start => $bday });
my @eventBins = ();
@ -401,7 +401,7 @@ my $endOfMonth = $monthCal->addChild({
my $tag4 = WebGUI::VersionTag->getWorking($session);
$tag4->commit;
WebGUI::Test->tagsToRollback($tag4);
addToCleanup($tag4);
my $monthVars = $monthCal->viewMonth({ start => $bday });
@eventBins = ();
@ -447,7 +447,7 @@ my $dayCal = $node->addChild({
title => 'Calendar for doing event span testing, day',
});
$allDayDt = $bday->cloneToUserTimeZone;
$allDayDt = $bday->cloneToUserTimeZone;
my $nextDayDt = $bday->cloneToUserTimeZone->add(days => 1)->truncate( to => 'day')->add(hours => 19);
$allDay = $dayCal->addChild({
@ -472,7 +472,7 @@ my $nextDay = $dayCal->addChild({
my $tag5 = WebGUI::VersionTag->getWorking($session);
$tag5->commit;
WebGUI::Test->tagsToRollback($tag5);
addToCleanup($tag5);
my $hourVars = $dayCal->viewDay({ start => $nextDayDt });
@eventBins = ();
@ -488,6 +488,62 @@ cmp_deeply(
'... end of day event in proper bin'
);
######################################################################
#
# viewList
#
######################################################################
my $listCal = $node->addChild({
className => 'WebGUI::Asset::Wobject::Calendar',
title => 'Calendar for doing event span testing, list',
listViewPageInterval => 3600*24*3,
});
$allDayDt = $bday->cloneToUserTimeZone->truncate( to => 'day' );
my $prevDayDt = $bday->cloneToUserTimeZone->truncate( to => 'day' )->subtract(days => 1)->add(hours => 19);
diag $allDayDt->toDatabase;
diag $prevDayDt->toDatabase;
$allDay = $listCal->addChild({
className => 'WebGUI::Asset::Event',
title => 'An event with explicit times that lasts all day',
startDate => $allDayDt->toDatabaseDate,
endDate => $allDayDt->clone->add(days => 1)->toDatabaseDate,
startTime => $allDayDt->toDatabaseTime,
endTime => $allDayDt->clone->add(days => 1)->toDatabaseTime,
timeZone => $tz,
}, undef, undef, {skipAutoCommitWorkflows => 1});
my $prevDay = $listCal->addChild({
className => 'WebGUI::Asset::Event',
title => 'Event at the end of the previous day',
startDate => $prevDayDt->toDatabaseDate,
endDate => $prevDayDt->toDatabaseDate,
startTime => $prevDayDt->toDatabaseTime,
endTime => $prevDayDt->clone->add(hours => 1)->toDatabaseTime,
timeZone => $tz,
}, undef, undef, {skipAutoCommitWorkflows => 1});
my $tag6 = WebGUI::VersionTag->getWorking($session);
$tag6->commit;
addToCleanup($tag6);
my $listVars = $listCal->viewList({ start => $bday });
@eventBins = ();
foreach my $event (@{ $listVars->{events} }) {
push @eventBins, $event->{eventAssetId};
}
cmp_deeply(
\@eventBins,
[ $allDay->getId ],
'... correct set of events in list view'
);
######################################################################
#
# getFeeds
@ -501,7 +557,7 @@ my $feedCal = $node->addChild({
my $feedTag = WebGUI::VersionTag->getWorking($session);
$feedTag->set({name=>"Calendar Feed Test"});
WebGUI::Test->tagsToRollback($feedTag);
addToCleanup($feedTag);
$feedTag->commit;
cmp_deeply(
@ -509,8 +565,3 @@ cmp_deeply(
[],
'getFeeds: returns an empty array ref with no feeds'
);
TODO: {
local $TODO = "Tests to make later";
ok(0, 'Lots more to test');
}