summaryrefslogtreecommitdiff
path: root/rt/share/html/Elements/CalendarDaySchedule
diff options
context:
space:
mode:
Diffstat (limited to 'rt/share/html/Elements/CalendarDaySchedule')
-rw-r--r--rt/share/html/Elements/CalendarDaySchedule73
1 files changed, 52 insertions, 21 deletions
diff --git a/rt/share/html/Elements/CalendarDaySchedule b/rt/share/html/Elements/CalendarDaySchedule
index 0f9f909..f378674 100644
--- a/rt/share/html/Elements/CalendarDaySchedule
+++ b/rt/share/html/Elements/CalendarDaySchedule
@@ -1,32 +1,63 @@
<%args>
-$Date => undef
-$Tickets => undef
-$DateTypes => undef
-@username => ()
+$Date => undef
+$Tickets => undef
+$DateTypes => undef
+@username => ()
+$CurrentUser => undef
</%args>
% foreach my $username ( @username ) {
% my $mapname = "$username-$date";
-<span class="calendarright"><% $username %><img src="<%$RT::WebPath%>/Schedule/UserBar?Username=<%$username%>;Date=<%$date%>" useMap="#<%$mapname%>"><span><br>
-<MAP name="<%$mapname%>">
-%# false laziness w/Schedule/UserBar
-%#XXX block out unavailable times
-%#alas. abstractions break, freeside-specific stuff to get availability
-%# move availability to RT side? make it all callback/pluggable?
-%
-%#XXX block out / show / color code existing appointments
+% my $img = "$RT::WebPath/Schedule/UserBar?Username=$username;Date=$date";
+ <span class="calendarright"
+ ><% $username %><img src = "<%$img|n%>"
+ useMap = "#<%$mapname%>"
+ height = <%$height%>
+ width = <%$width%>
+ ></span><br>
+
+ <MAP name="<%$mapname%>">
+
+% my %schedule = UserDaySchedule( CurrentUser => $CurrentUser,
+% username => $username,
+% 'date' => $Date->strftime('%F'),
+% );
+
+% #XXX block out unavailable times
%
-<AREA onmouseover="overlib('XX miles away<BR>more info')"
- onmouseout="nd(); return true;"
- shape = "rect"
- coords="0,0,59,11"
- href="test_href"
-%# alt=
-%# title=
->
-</MAP>
+% #block out / show / color code existing appointments
+% foreach my $id ( keys %{ $schedule{'scheduled'} } ) {
+% my( $starts, $due, $col, $t ) = @{ $schedule{'scheduled'}->{$id} };
+% my $s = int(($starts-$stime)/10);
+% my $e = int(($due-$stime)/10)-1;
+ <AREA
+ onmouseover = "overlib('<%$id%>: XX miles away<BR>more info', BGCOLOR, '#000000', FGCOLOR, '#<%$col%>')"
+ onmouseout = "nd(); return true;"
+ shape = "rect"
+ coords = "<%$s%>,0,<%$e%>,<%$height-1%>"
+%# href = "test_href"
+%# alt =
+%# title =
+ >
+% }
+
+ </MAP>
+
% }
+<%once>
+
+my $stime = RT->Config->Get('CalendarWeeklyStartMin');
+$stime = 480 unless $stime =~ /^\d+$/; #8am
+my $etime = RT->Config->Get('CalendarWeeklyEndMin');
+$etime = 1080 unless $etime =~ /^\d+$/; #6pm
+
+my $width = int( ( $etime - $stime ) / 10 );
+my $height = 12; #Schedule/UserBar
+
+</%once>
<%init>
+use RTx::Schedule qw( UserDaySchedule );
+
my( $date, $time ) = split('T', $Date);
</%init>