%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
+%# use Data::Dumper; warn Dumper \%ARGS; #DEBUG
<& /Elements/Header,
Title => $title,
onload => "function () { hide(document.getElementById('Ticket-Create-details')) }" &>
Default => $QueueObj->Name,
ShowNullOption => 0,
ShowAllQueues => 0,
- OnChange => "document.getElementsByName('id')[0].value = ''; form.submit()" &>
+ OnChange => "document.getElementsByName('id')[0].value = 'refresh'; form.submit()" &>
</td>
<td class="label"><&|/l&>Status</&>:
</td>
<&|/l&>Requestors</&>:
</td>
<td class="value" colspan="5">
-<& /Elements/EmailInput, Name => 'Requestors', Size => '40', Default => $ARGS{Requestors} || $session{CurrentUser}->EmailAddress &>
+<& /Elements/EmailInput, Name => 'Requestors', Size => '40', Default => exists($ARGS{Requestors}) ? $ARGS{Requestors} : $session{CurrentUser}->EmailAddress &>
% $m->callback( CallbackName => 'AfterRequestors', QueueObj => $QueueObj, ARGSRef => \%ARGS );
</td>
</tr>
<tr><td class="label"><&|/l&>Children</&></td><td><input size="10" name="MemberOf-new" value="<% $ARGS{'MemberOf-new'} || '' %>" /></td></tr>
<tr><td class="label"><&|/l&>Refers to</&></td><td><input size="10" name="new-RefersTo" value="<% $ARGS{'new-RefersTo'} || '' %>" /></td></tr>
<tr><td class="label"><&|/l&>Referred to by</&></td><td><input size="10" name="RefersTo-new" value="<% $ARGS{'RefersTo-new'} || '' %>" /></td></tr>
+<tr><td class="label">Customer ID</td><td><input size="10" name="new-Customer" value="<% $ARGS{'new-Customer'} || '' %>" /></td></tr>
</table>
@cf_values;
}
+ # Pass customer links along (even though cloning of parent links
+ # in general is disabled).
+ my $customers = $CloneTicketObj->Customers;
+ my @customers;
+ while ( my $customer = $customers->Next ) {
+ my ($custnum) = $customer->Target =~ /cust_main\/(\d+)$/;
+ push @customers, $custnum if $custnum;
+ }
+ $clone->{'new-Customer'} = join(' ', @customers);
+
for ( keys %$clone ) {
$ARGS{$_} = $clone->{$_} if not defined $ARGS{$_};
}
# }}}
# delete temporary storage entry to make WebUI clean
-unless (keys %{$session{'Attachments'}} and $ARGS{'id'} eq 'new') {
+unless (keys %{$session{'Attachments'}} and
+ ($ARGS{'id'} eq 'new' or $ARGS{'id'} eq 'refresh')) {
delete $session{'Attachments'};
}
if ((!exists $ARGS{'AddMoreAttach'}) and (defined($ARGS{'id'}) and $ARGS{'id'} eq 'new')) { # new ticket?
if ( $ValidCFs && !$checks_failure && !$skip_create ) {
+# CREATE THE TICKET.
+# For some reason it's done by a Mason component named "Display.html"
+# and the call is buried in obscure error-handling stuff.
+# This comment exists to make it more visually obvious.
+# ************************************************************
+
$m->comp('Display.html', %ARGS);
+
+# ************************************************************
+# Execution should not continue here. Display.html calls
+# Redirect() which does an $m->abort. We only get here if the
+# code dies before then, hence "$@".
$RT::Logger->crit("After display call; error is $@");
$m->abort();
}