<%args> $Date => undef $today => undef $Tickets => undef $DateTypes => undef @username => () $CurrentUser => undef %if ( DateTime->compare( $Date, $today ) == -1 ) {#flag to show the past anyway? % #the past already happened... %} else { % foreach my $username ( @username ) { % my $mapname = "$username-$date"; % my $img = "$RT::WebPath/Schedule/UserBar?Username=$username;Date=$date"; <% $username %> width = <%$width%> >
% my %schedule = UserDaySchedule( CurrentUser => $CurrentUser, % username => $username, % 'date' => $date, #$Date->strftime('%F'), % ); % % #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; % #false laziness w/misc/xmlhttp-ticket-update.html & CalendarSlotSchedule % my %hash = $m->comp('/Ticket/Elements/Customers', Ticket => $t); % my @cust_main = values( %{$hash{cust_main}} ); %# % } % % #white out available times % foreach my $avail ( @{ $schedule{'avail'} } ) { % my( $start, $end ) = @$avail; % % my $s = $start >= $stime ? int(($start-$stime)/10) : 0; % my $e = int(($end-$stime)/10)-1; %# % } %# % } %} <%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 <%init> use RTx::Schedule qw( UserDaySchedule ); use FS::sched_avail; #just for pretty_time #my( $date, $time ) = split('T', $Date); my $date = $Date->strftime('%F');