X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=rt%2Fshare%2Fhtml%2FSchedule%2FUserBar;fp=rt%2Fshare%2Fhtml%2FSchedule%2FUserBar;h=2345fe8217d82d25faaca56927d42e4f0dcbb213;hp=5e834a0236bcefb988d3a38c3f49ed09fed4a5a8;hb=cebcd8658ba5f45fc21d59769d591b1418a3fdd2;hpb=afb12da321c052f3628f628e429b59f8ab6453a8 diff --git a/rt/share/html/Schedule/UserBar b/rt/share/html/Schedule/UserBar index 5e834a023..2345fe821 100644 --- a/rt/share/html/Schedule/UserBar +++ b/rt/share/html/Schedule/UserBar @@ -1,6 +1,7 @@ <%perl> use GD; +use RTx::Schedule qw( UserDaySchedule ); my $im = new GD::Image($width, $height) or die; @@ -10,11 +11,21 @@ my $black = $im->colorAllocate(0,0,0); # Put a black frame around the picture $im->rectangle(0,0,$width-1,$height-1,$black); +my %schedule = UserDaySchedule( CurrentUser => $session{CurrentUser}, + username => $Username, + 'date' => $Date, + ); + #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 +#block out / show / color code existing appointments +foreach my $id ( keys %{ $schedule{'scheduled'} } ) { + + my( $starts, $due, $col, $t ) = @{ $schedule{'scheduled'}->{$id} }; + my $color = $im->colorAllocate( unpack 'C*', pack 'H*', $col ); + $im->filledRectangle( int(($starts-$stime)/10), 1, int(($due-$stime)/10)-1, $height-2, $color ); + +} $r->content_type('image/png'); $m->clear_buffer; @@ -33,7 +44,7 @@ $stime = 480 unless $stime =~ /^\d+$/; #8am my $etime = RT->Config->Get('CalendarWeeklyEndMin'); $etime = 1080 unless $etime =~ /^\d+$/; #6pm -my $width = ( $etime - $stime ) / 10; -my $height = 12; +my $width = int( ( $etime - $stime ) / 10 ); +my $height = 12; #Elements/CalendarDaySchedule