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
+
+%ONCE>
<%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;
+
%init>