X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=rt%2Fshare%2Fhtml%2FSearch%2FCalendar.html;h=092f6a5a1e5acf86e9e2bacf87b0a06b27f87103;hb=ddcefead29544e7813f942e0eca062bf6433763e;hp=bf07ff3e2021181a4f6fa27de64847c1e104a8ee;hpb=282d98b8ebad35123455dd8ccb414805a1624c6c;p=freeside.git diff --git a/rt/share/html/Search/Calendar.html b/rt/share/html/Search/Calendar.html index bf07ff3e2..092f6a5a1 100644 --- a/rt/share/html/Search/Calendar.html +++ b/rt/share/html/Search/Calendar.html @@ -16,6 +16,7 @@ $Embed => undef $Display => undef @DisplayArgs => () $slots => $default_slots +$DimPast => 0 % my $title; @@ -79,52 +80,54 @@ $slots => $default_slots - - - -% for ( @{$week{$weekstart}} ) { - + + +% unless ( $WeekDay ) { + + + +% for ( @{$week{$weekstart}} ) { + +% } + + + + % } - - - -% if ( $WeekDay ) { - - -% } else { +% unless ( $WeekDay ) { <& td_week_expand, date=>$start, Month=>$Month, Year=>$Year, QueryString=>$QueryString, Embed=>$Embed, &> % } % if ( $WeekDay ) { - + % my $date = $start; +% my $sday = 0; % while ($date <= $end) { % % my $is_today = (DateTime->compare($today, $date) == 0); % my $is_yesterday = (DateTime->compare($yesterday, $date) == 0); % my $is_aweekago = (DateTime->compare($aweekago, $date) == 0); - + % $date = $set->next($date); % if ( $date->day_of_week == $startday_of_week ) { @@ -141,7 +144,15 @@ $slots => $default_slots + + + + + + % #slot header callback % if ( defined($Display) && $Display =~ /^(\w+)$/ ) { % @@ -192,12 +203,10 @@ $slots => $default_slots % grep { % my $meth = $_.'Obj'; % -% #XXX off by 1h on daylight savings boundaries.. 2 sundays a year -% my $tod = ( $Ticket->$meth->Unix -% - $Ticket->$meth->SetToMidnight(Timezone=>'user') -% ) / 60; +% my($m, $h) = ($Ticket->$meth->Localtime('user'))[1,2]; +% my $tod = $h*60 + $m; % -% RTx::Calendar::LocalDate($Ticket->$meth->Unix) eq $date->strftime('%F') #today +% LocalDate($Ticket->$meth->Unix) eq $date->strftime('%F') #today % && $tod >= $row && $tod < ($row+$timestep); #and in timeslot % } keys %DateTypes; % next unless keys %dt; @@ -239,27 +248,30 @@ $slots => $default_slots % my $is_today = (DateTime->compare($today, $date) == 0); % my $is_yesterday = (DateTime->compare($yesterday, $date) == 0); % my $is_aweekago = (DateTime->compare($aweekago, $date) == 0); +% +% my $past = $DimPast && DateTime->compare($today, $date) == 1;
>><%$rtdate->GetWeekday($_)%>
>><%$rtdate->GetWeekday($_)%>
valign="middle"> - <& week_collapse, date=>$start, Month=>$OrigMonth, Year=>$OrigYear, QueryString=>$QueryString, Embed=>$Embed, &> - - class="weekly - <% $is_today ? 'today' - : $is_yesterday ? 'yesterday' - : $is_aweekago ? 'aweekago' - : '' - %>" - > -
<% $rtdate->GetMonth($date->month-1). ' '. $date->day %>
- -
+ class="labels" +%# <% $is_today ? 'today' +%# : $is_yesterday ? 'yesterday' +%# : $is_aweekago ? 'aweekago' +%# : '' +%# %>" +%#
<% $rtdate->GetWeekday( $week{$weekstart}->[$sday++] ). ' '. + $rtdate->GetMonth($date->month-1). ' '. + $date->day + %> +
valign="middle"> + <& week_collapse, date=>$start, Month=>$OrigMonth, Year=>$OrigYear, QueryString=>$QueryString, Embed=>$Embed, &> + <% $offmonth ? 'offmonth' : '' %><% + $is_today ? ' today' + : $is_yesterday ? ' yesterday' + : $is_aweekago ? ' aweekago' : '' %>" >
<% $date->day %>
% if ( defined($Display) && $Display =~ /^(\w+)$/ ) { % % my $el = "/Elements/CalendarDay$1"; - <& $el, Tickets => $Tickets{$date->strftime("%F")}, - Date => $date, - DateTypes => \%DateTypes, + <& $el, CurrentUser => $session{CurrentUser}, + Tickets => $Tickets{$date->strftime("%F")}, + Date => $date, + today => $today, + DateTypes => \%DateTypes, @DisplayArgs, &> % @@ -389,7 +401,8 @@ while ( $wt < $etime ) { push @week_rows, $wt; $wt+=$timestep } <%INIT> -use RTx::Calendar qw(FirstDay LastDay LastDayOfWeek); +use RTx::Calendar qw( FirstDay LastDay LastDayOfWeek DatesClauses LocalDate + SearchDefaultCalendar FindTickets ); $Embed =~ /^[\w\.]*$/ or die 'xss'; @@ -460,7 +473,7 @@ my $TempQuery = "( Status = 'new' OR Status = 'open' OR Status = 'stalled') AND ( Owner = '" . $session{CurrentUser}->Id ."' OR Owner = 'Nobody' ) AND ( Type = 'reminder' OR 'Type' = 'ticket' )"; -if ( my $Search = RTx::Calendar::SearchDefaultCalendar($session{CurrentUser}) ) { +if ( my $Search = SearchDefaultCalendar($session{CurrentUser}) ) { $TempFormat = $Search->SubValue('Format'); $TempQuery = $Search->SubValue('Query'); } @@ -475,11 +488,11 @@ my @Dates = grep { $TempFormat =~ m/__${_}(Relative)?__/ } @DateTypes; # used to display or not a date in Element/CalendarEvent my %DateTypes = map { $_ => 1 } @Dates; -$TempQuery .= RTx::Calendar::DatesClauses(\@Dates, $start->strftime("%F"), $end->strftime("%F")); +$TempQuery .= DatesClauses(\@Dates, $start->strftime("%F"), $end->strftime("%F")); # print STDERR ("-" x 30), "\n", $TempQuery, "\n"; -my %Tickets = RTx::Calendar::FindTickets($session{'CurrentUser'}, $TempQuery, \@Dates, $start->strftime("%F"), $end->strftime("%F")); +my %Tickets = FindTickets($session{'CurrentUser'}, $TempQuery, \@Dates, $start->strftime("%F"), $end->strftime("%F")); <%def td_week_expand> @@ -503,7 +516,7 @@ my %Tickets = RTx::Calendar::FindTickets($session{'CurrentUser'}, $TempQuery, \@ $QueryString => undef $Embed => undef - + <%def td_time>