diff options
author | Ivan Kohler <ivan@freeside.biz> | 2015-07-09 22:18:55 -0700 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2015-07-09 22:18:55 -0700 |
commit | 1c538bfabc2cd31f27067505f0c3d1a46cba6ef0 (patch) | |
tree | 96922ad4459eda1e649327fd391d60c58d454c53 /rt/share/html/index.html | |
parent | 4f5619288413a185e9933088d9dd8c5afbc55dfa (diff) |
RT 4.2.11, ticket#13852
Diffstat (limited to 'rt/share/html/index.html')
-rwxr-xr-x | rt/share/html/index.html | 49 |
1 files changed, 39 insertions, 10 deletions
diff --git a/rt/share/html/index.html b/rt/share/html/index.html index fafba1cb5..e70f4cc91 100755 --- a/rt/share/html/index.html +++ b/rt/share/html/index.html @@ -95,10 +95,11 @@ if ( $ARGS{'QuickCreate'} ) { 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, ); @@ -110,19 +111,47 @@ if ( $ARGS{'QuickCreate'} ) { Status => $ARGS{'Status'}, # yes! it's Requestors, not Requestor Requestors => $ARGS{'Requestors'}, - From => $session{'CurrentUser'}->EmailAddress, Content => $ARGS{'Content'}, Subject => $ARGS{'Subject'}); - if ( $t && $t->Id && RT->Config->Get('DisplayAfterQuickCreate', $session{'CurrentUser'}) ) { - RT::Interface::Web::Redirect(RT->Config->Get('WebURL')."Ticket/Display.html?id=". $t->Id); - } else { - push @results, $msg; + 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; + + MaybeRedirectForResults( + Actions => \@results, + Path => '/', + ); } |