[Rt-commit] rt branch, 4.0/quick-create-retain-values-on-failure, created. rt-4.0.20-45-gcd52b35
? sunnavy
sunnavy at bestpractical.com
Mon Jul 7 12:48:43 EDT 2014
The branch, 4.0/quick-create-retain-values-on-failure has been created
at cd52b35ea0551f7345127134a199d08874052df7 (commit)
- Log -----------------------------------------------------------------
commit cd52b35ea0551f7345127134a199d08874052df7
Author: sunnavy <sunnavy at bestpractical.com>
Date: Mon May 12 21:47:21 2014 +0800
retain form values for QuickCreate when it fails to create
so users can try again more easily.
see also #14136
diff --git a/share/html/Elements/QuickCreate b/share/html/Elements/QuickCreate
index 425694c..cebd25e 100644
--- a/share/html/Elements/QuickCreate
+++ b/share/html/Elements/QuickCreate
@@ -55,27 +55,31 @@
<input type="hidden" class="hidden" name="QuickCreate" value="1" />
<table>
<tr class="input-row"><td class="label"><&|/l&>Subject</&>:</td>
- <td colspan="3" class="value"><input type="text" size="50" name="Subject" /></td>
+ <td colspan="3" class="value"><input type="text" size="50" name="Subject" value="<% $args->{Subject} || '' %>" /></td>
</tr><tr class="input-row">
-<td class="label"><&|/l&>Queue</&>:</td><td class="value"><& /Elements/SelectNewTicketQueue, Name => 'Queue' &>
+<td class="label"><&|/l&>Queue</&>:</td><td class="value"><& /Elements/SelectNewTicketQueue, Name => 'Queue', Default => $args->{Queue} &>
</td>
<td class="label"><&|/l&>Owner</&>:</td><td class="value">
<select type="select" name="Owner">
-<option value="<%$session{'CurrentUser'}->id%>" selected="selected"><&|/l&>Me</&></option>
-<option value="<%RT->Nobody->id%>"><%loc('Nobody')%></option>
+% my $default_owner = $args->{Owner} || $session{'CurrentUser'}->id;
+<option value="<%$session{'CurrentUser'}->id%>" <% $default_owner == $session{'CurrentUser'}->id ? 'selected="selected"' : '' |n %>><&|/l&>Me</&></option>
+<option value="<%RT->Nobody->id%>" <% $default_owner == RT->Nobody->id ? 'selected="selected"' : '' |n %>><%loc('Nobody')%></option>
</select>
</td>
</tr>
<tr class="input-row">
<td class="label"><&|/l&>Requestors</&>:</td>
- <td colspan="3" class="value"><& /Elements/EmailInput, Name => 'Requestors', Size => '40', Default => $ARGS{Requestors} || $session{CurrentUser}->EmailAddress &></td>
+ <td colspan="3" class="value"><& /Elements/EmailInput, Name => 'Requestors', Size => '40', Default => $args->{Requestors} || $session{CurrentUser}->EmailAddress &></td>
</tr>
<tr class="input-row">
<td class="labeltop"><&|/l&>Content</&>:</td>
-<td colspan="3" class="value"><textarea name="Content" cols="50" rows="3"></textarea></td></tr>
+<td colspan="3" class="value"><textarea name="Content" cols="50" rows="3"><% $args->{Content} || ''%></textarea></td></tr>
</table>
<& /Elements/Submit, Label => loc('Create') &>
</form>
</&>
</div>
+<%INIT>
+my $args = delete $session{QuickCreate} || {};
+</%INIT>
diff --git a/share/html/index.html b/share/html/index.html
index 45ebc62..04a27ab 100644
--- a/share/html/index.html
+++ b/share/html/index.html
@@ -102,6 +102,7 @@ if ( $ARGS{'QuickCreate'} ) {
);
+ my $created;
if ( $ValidCFs && !$skip_create ) {
my ($t, $msg) = CreateTicket(
Queue => $ARGS{'Queue'},
@@ -114,12 +115,15 @@ if ( $ARGS{'QuickCreate'} ) {
Subject => $ARGS{'Subject'});
push @results, $msg;
- if ( $t && $t->Id && RT->Config->Get('DisplayTicketAfterQuickCreate', $session{'CurrentUser'}) ) {
- MaybeRedirectForResults(
- Actions => \@results,
- Path => '/Ticket/Display.html',
- Arguments => { id => $t->Id },
- );
+ if ( $t && $t->Id ) {
+ $created = 1;
+ if ( RT->Config->Get('DisplayTicketAfterQuickCreate', $session{'CurrentUser'}) ) {
+ MaybeRedirectForResults(
+ Actions => \@results,
+ Path => '/Ticket/Display.html',
+ Arguments => { id => $t->Id },
+ );
+ }
}
}
@@ -127,6 +131,9 @@ if ( $ARGS{'QuickCreate'} ) {
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.';
}
+
+ $session{QuickCreate} = \%ARGS unless $created;
+
MaybeRedirectForResults(
Actions => \@results,
Path => '/',
-----------------------------------------------------------------------
More information about the rt-commit
mailing list