X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=rt%2Fshare%2Fhtml%2Findex.html;h=acf6c129b69e4a4d2dc78b3ab17a442aacf4db51;hb=5b5eb87bf66f1fac003a13dc2db48e8970c5c986;hp=49d524a961d7b8246e628b1cefdd3af80245d88d;hpb=fc6209f398899f0211cfcedeb81a3cd65e04a941;p=freeside.git diff --git a/rt/share/html/index.html b/rt/share/html/index.html index 49d524a96..acf6c129b 100755 --- a/rt/share/html/index.html +++ b/rt/share/html/index.html @@ -1,9 +1,7 @@ - + @@ -20,7 +18,7 @@ You appear to have installed RT's web interface correctly, but haven't yet confi server to "run" the RT server which powers the web interface. The next step is to edit your webserver's configuration file to instruct it to use -RT's mod_perl, FastCGI or SpeedyCGI handler. +RT's mod_perl or FastCGI handler. If you need commercial support, please contact us at sales@bestpractical.com. @@ -32,7 +30,7 @@ If you need commercial support, please contact us at sales@bestpractical.com. %# %# COPYRIGHT: %# -%# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC +%# This software is Copyright (c) 1996-2017 Best Practical Solutions, LLC %# %# %# (Except where explicitly superseded by other copyright notices) @@ -75,17 +73,16 @@ If you need commercial support, please contact us at sales@bestpractical.com. %# those contributions and any derivatives thereof. %# %# END BPS TAGGED BLOCK }}} -<& /Elements/Tabs, - Title => loc("RT at a glance"), - current_tab => 'index.html', - current_toptab => 'index.html', - tabs => $tabs, - actions => $actions, - &> +<& /Elements/Tabs &> <& /Elements/ListActions, actions => \@results &> <& /Elements/MyRT &> <%init> +if ( RT::Interface::Web->MobileClient()) { + RT::Interface::Web::Redirect(RT->Config->Get('WebURL') ."m/"); + $m->abort(); +} + my @results; my $skip_create = 0; @@ -93,51 +90,75 @@ $m->callback( ARGSRef => \%ARGS, results => \@results, CallbackName => 'Initial' skip_create => \$skip_create ); if ( $ARGS{'QuickCreate'} ) { - my $QueueObj = new RT::Queue($session{'CurrentUser'}); + my $QueueObj = RT::Queue->new($session{'CurrentUser'}); $QueueObj->Load($ARGS{Queue}) or Abort(loc("Queue could not be loaded.")); my $CFs = $QueueObj->TicketCustomFields(); - my $ValidCFs = $m->comp( + my ($ValidCFs, @msg) = $m->comp( '/Elements/ValidateCustomFields', - CustomFields => $CFs, - ARGSRef => \%ARGS + CustomFields => $CFs, + ARGSRef => \%ARGS, + ValidateUnsubmitted => 1, ); + my $created; if ( $ValidCFs && !$skip_create ) { my ($t, $msg) = CreateTicket( Queue => $ARGS{'Queue'}, Owner => $ARGS{'Owner'}, - Status => $ARGS{'Status'}||'new', + Status => $ARGS{'Status'}, # yes! it's Requestors, not Requestor Requestors => $ARGS{'Requestors'}, - From => $session{'CurrentUser'}->EmailAddress, Content => $ARGS{'Content'}, Subject => $ARGS{'Subject'}); push @results, $msg; + + if ( $t && $t->Id ) { + $created = 1; + if ( RT->Config->Get('DisplayTicketAfterQuickCreate', $session{'CurrentUser'}) ) { + MaybeRedirectForResults( + Actions => \@results, + Path => '/Ticket/Display.html', + Arguments => { id => $t->Id }, + ); + } + } } elsif ( !$ValidCFs ) { - push @results, "can't quickly create ticket in queue " . - $QueueObj->Name . ' because some custom fields need to be set, please go to normal ticket creation page to do that.'; + push @results, loc("Can't quickly create ticket in queue [_1] because custom fields are required. Please finish by using the normal ticket creation page.", $QueueObj->Name); + push @results, @msg; + + MaybeRedirectForResults( + Actions => \@results, + Path => "/Ticket/Create.html", + Arguments => { + (map { $_ => $ARGS{$_} } qw(Queue Owner Status Content Subject)), + Requestors => $ARGS{Requestors}, + # From is set above when CFs are OK, but not here since we're + # not calling CreateTicket() directly. The proper place to set + # a default for From, if desired in the future, is in + # CreateTicket() itself, or at least /Ticket/Display.html + # (which processes /Ticket/Create.html). From is rarely used + # overall. + }, + ); } -} + $session{QuickCreate} = \%ARGS unless $created; -if ( $ARGS{'q'} ) { - RT::Interface::Web::Redirect(RT->Config->Get('WebURL')."Search/Simple.html?q=".$m->interp->apply_escapes($ARGS{q})); + MaybeRedirectForResults( + Actions => \@results, + Path => '/', + ); } -my $actions; -if ($session{'CurrentUser'}->HasRight(Right => 'ModifySelf', Object => $RT::System)) { - $actions = { - A => { title => loc('Edit'), - path => 'Prefs/MyRT.html', - }, - }; + +if ( $ARGS{'q'} ) { + RT::Interface::Web::Redirect(RT->Config->Get('WebURL')."Search/Simple.html?q=".$m->interp->apply_escapes($ARGS{q}, 'u')); } -my $tabs = $m->comp("/Elements/DashboardTabs"); %# -->