From ae779fa0d96155024771bec208928fe1e09e10d8 Mon Sep 17 00:00:00 2001
From: Wouter van Oijen
Date: Fri, 2 Jun 2006 15:28:22 +0000
Subject: [PATCH] Fixed another Events Calendar bug Fixed XHTML compliance
Added 'today' option as Start Month for Event Calendar Added 'owner' template
variable to Event Calendar Templates
---
docs/changelog/6.x.x.txt | 2 +
lib/WebGUI/Asset/Wobject/EventsCalendar.pm | 63 +++++++++++--------
.../i18n/English/Asset_EventsCalendar.pm | 15 ++++-
3 files changed, 52 insertions(+), 28 deletions(-)
diff --git a/docs/changelog/6.x.x.txt b/docs/changelog/6.x.x.txt
index cbad12a30..7322d7101 100644
--- a/docs/changelog/6.x.x.txt
+++ b/docs/changelog/6.x.x.txt
@@ -35,6 +35,8 @@
- fix: Reply count off when restoring from trash
- fix: Karma not spent properly
- fix: Avatar Message Board Template Not Working
+ - fixed another Events Calendar bug
+ - added template variable 'owner' for Events Calendar templates
6.99.2
diff --git a/lib/WebGUI/Asset/Wobject/EventsCalendar.pm b/lib/WebGUI/Asset/Wobject/EventsCalendar.pm
index 7a1065d2e..032d66506 100644
--- a/lib/WebGUI/Asset/Wobject/EventsCalendar.pm
+++ b/lib/WebGUI/Asset/Wobject/EventsCalendar.pm
@@ -89,24 +89,24 @@ sub definition {
#-------------------------------------------------------------------
-
-=head2 epochToArray ( epoch )
-
-Returns an array date.
-
-=head3 epoch
-
-The number of seconds since January 1, 1970.
-
-=cut
-
-sub epochToArray {
- my $self = shift;
- my $timeZone = $self->session->user->profileField("timeZone") || "America/Chicago";
- use DateTime;
- return map {$_ += 0} split / /, DateTime->from_epoch( epoch =>shift, time_zone=>$timeZone)->strftime("%Y %m %d %H %M %S");
-}
-
+#
+#=head2 epochToArray ( epoch )
+#
+#Returns an array date.
+#
+#=head3 epoch
+#
+#The number of seconds since January 1, 1970.
+#
+#=cut
+#
+#sub epochToArray {
+# my $self = shift;
+# my $timeZone = $self->session->user->profileField("timeZone") || "America/Chicago";
+# use DateTime;
+# return map {$_ += 0} split / /, DateTime->from_epoch( epoch =>shift, time_zone=>$timeZone)->strftime("%Y %m %d %H %M %S");
+#}
+#
#-------------------------------------------------------------------
@@ -152,6 +152,7 @@ sub getEditForm {
-options=>{
"january"=>$i18n->get('january'),
"now"=>$i18n->get(98),
+ "today"=>$i18n->get('today'),
"current"=>$i18n->get(82),
"first"=>$i18n->get(83)
},
@@ -217,7 +218,7 @@ sub prepareView {
#-------------------------------------------------------------------
-=head2 purgeCache ()
+=head2 purgeCache ( )
See WebGUI::Asset::purgeCache() for details.
@@ -329,6 +330,7 @@ sub view {
# Filter events
my %filteredEvents;
+ my %userNames;
my $previousDate;
foreach my $event (@sortedEvents) {
# ignore events we're not allowed to see
@@ -357,9 +359,17 @@ sub view {
$daysInEvent++;
}
# add event to each day it takes place
- for (my $day = $firstDay; $day <= $lastDay; $day = $dt->addToDate($day, 0, 0, 1)) {
- next if ($day < $minDate);
- next if ($day > $maxDate);
+ my $firstViewableDay = $firstDay;
+ my $lastViewableDay = $lastDay;
+ ($firstViewableDay, $dummy) = $dt->dayStartEnd($minDate) if ($firstViewableDay < $minDate);
+ ($lastViewableDay, $dummy) = $dt->dayStartEnd($maxDate) if ($lastViewableDay > $maxDate);
+ my $ownerUserId = $event->get('ownerUserId');
+ unless ($userNames{$ownerUserId}) {
+ my $owner = WebGUI::User->new($session, $ownerUserId);
+ $userNames{$ownerUserId} = $owner->username();
+ }
+ my $ownerName = $userNames{$ownerUserId};
+ for (my $day = $firstViewableDay; $day <= $lastViewableDay; $day = $dt->addToDate($day, 0, 0, 1)) {
push (@{$filteredEvents{$day}}, {
'description' => $event->get('description'),
'name' => $event->get('title'),
@@ -383,7 +393,8 @@ sub view {
'isFirstDayOfEvent' => $day == $firstDay,
'dateIsSameAsPrevious' => "$firstDay-$lastDay" eq $previousDate,
'daysInEvent' => $daysInEvent,
- 'url' => $event->getUrl()
+ 'url' => $event->getUrl(),
+ 'owner' => $ownerName
});
}
$previousDate = "$firstDay-$lastDay";
@@ -522,8 +533,8 @@ sub view {
$var{'pagination.nextPageUrl'} = $self->getUrl.'?calMonthEnd='.$calMonthStart+$monthRangeLength.';calMonthEnd='.$calMonthEnd+$monthRangeLength;
$var{'pagination.nextPage'} = ''.$i18n->get(559).' '.$monthRangeLength.' '.$monthLabel.'';
$var{'pagination.pageList.upTo20'} = '
-
+owner
+The username of the owner of the event.
+
+
url
@@ -440,7 +451,7 @@ The 4 digit year in the current month of the month_loop.
|,
- lastUpdated => 1146775609
+ lastUpdated => 1149238798
},
'509' => {