X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;ds=sidebyside;f=rt%2Fshare%2Fhtml%2FSearch%2FSchedule.html;h=ccd844bf86ed796f74249daff2345c0c90055eb4;hb=f27e48e51e2154468d960f1be656538373332ee5;hp=14956b2dbade933fed76381adf71103d139b5060;hpb=7cfd11c02730df0bd27f03b8da765666af0a0edc;p=freeside.git diff --git a/rt/share/html/Search/Schedule.html b/rt/share/html/Search/Schedule.html index 14956b2db..ccd844bf8 100644 --- a/rt/share/html/Search/Schedule.html +++ b/rt/share/html/Search/Schedule.html @@ -1,26 +1,257 @@ -<& /Elements/Header, Title => 'Schedule' &> +<& /Elements/Header, Title => 'Schedule', JavaScript => 0 &> -%#init_overlib.html -%foreach my $file (@files) { - -%} + <& /Search/Calendar.html, @_, Query => "( Status = 'new' OR Status = 'open' OR Status = 'stalled') - AND ( Type = 'reminder' OR 'Type' = 'ticket' )", - #XXX and we have the magic custom field - slots => scalar( @{ $ARGS{username} } ), + AND ( Type = 'reminder' OR 'Type' = 'ticket' ) + AND Queue = $queueid ", + slots => scalar(@usernames), Embed => 'Schedule.html', DimPast => 1, Display => 'Schedule', - DisplayArgs => [ username => $ARGS{username} ], + DisplayArgs => [ username => \@usernames, + LengthMin => $LengthMin, + #oops, more freeside abstraction-leaking + custnum => $ARGS{custnum}, + pkgnum => $ARGS{pkgnum}, + RedirectToBasics => $ARGS{RedirectToBasics}, + ], &> +<%ONCE> + +my $timestep = RT->Config->Get('CalendarWeeklySizeMin') || 30; #1/2h + + <%init> + +#abstraction-leaking +my $conf = new FS::Conf; +my $queueid = $conf->config('ticket_system-appointment-queueid') + or die "ticket_system-appointment-queueid configuration not set"; + my @files = (); #if ( ! $initialized ) { push @files, map "overlibmws$_", ( '', qw( _iframe _draggable _crossframe ) ); push @files, map { "${_}contentmws" } qw( iframe ajax ); #%} + +my @usernames = (); +if ( ref($ARGS{username}) ) { + @usernames = @{ $ARGS{username} }; +} elsif ( $ARGS{username} ) { + @usernames = ( $ARGS{username} ); +} else { + #look them up ourslves... again, more FS abstraction-leaking, but + # we want to link to the schedule view, and better than doing this every + # menu render + use FS::Record qw( qsearch ); + use FS::sched_item; + my @sched_item = qsearch('sched_item', { 'disabled' => '', }); + @usernames = map $_->access_user->username, @sched_item; +} + +( my $LengthMin = $ARGS{LengthMin} ) =~ /^\d+$/ or die 'non-numeric LengthMin'; + +my $cells = int($LengthMin / $timestep); +$cells++ if $LengthMin % $timestep; +