diff options
Diffstat (limited to 'rt/share/html/Elements/CalendarDaySchedule')
-rw-r--r-- | rt/share/html/Elements/CalendarDaySchedule | 73 |
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> |