RT# 35259 - Added option to attach a file thru quick ticket creation
authorChristopher Burger <burgerc@freeside.biz>
Mon, 7 Jan 2019 18:33:21 +0000 (13:33 -0500)
committerChristopher Burger <burgerc@freeside.biz>
Mon, 7 Jan 2019 20:44:23 +0000 (15:44 -0500)
Conflicts:
rt/share/html/index.html

rt/share/html/Elements/QuickCreate
rt/share/html/index.html

index fa03f20..af8d849 100644 (file)
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
+% my $QueueObj = RT::Queue->new($session{'CurrentUser'});
 <div class="quick-create">
 <&| /Widgets/TitleBox, title => loc('Quick ticket creation') &>
 <form
     method="post"
+    enctype="multipart/form-data"
     action="<%RT->Config->Get('WebPath')%>/index.html"
 % $m->callback(CallbackName => 'InFormElement');
 >
@@ -74,6 +76,7 @@
 <tr class="input-row">
 <td class="labeltop"><&|/l&>Content</&>:</td>
 <td colspan="3" class="value"><textarea name="Content" cols="50" rows="3"><% $args->{Content} || ''%></textarea></td></tr>
+<& /Ticket/Elements/AddAttachments, %ARGS, QueueObj => $QueueObj &>
 </table>
 <& /Elements/Submit, Label => loc('Create') &>
 </form>
index fafba1c..b635f3c 100755 (executable)
@@ -90,6 +90,9 @@ $m->callback( ARGSRef => \%ARGS, results => \@results, CallbackName => 'Initial'
               skip_create => \$skip_create );
 
 if ( $ARGS{'QuickCreate'} ) {
+
+    ProcessAttachments(ARGSRef => \%ARGS);
+
     my $QueueObj = RT::Queue->new($session{'CurrentUser'});
     $QueueObj->Load($ARGS{Queue}) or Abort(loc("Queue could not be loaded."));
     
@@ -105,14 +108,16 @@ if ( $ARGS{'QuickCreate'} ) {
     my $created;
     if ( $ValidCFs && !$skip_create ) {
         my ($t, $msg) = CreateTicket( 
-                        Queue => $ARGS{'Queue'},
-                        Owner => $ARGS{'Owner'},
-                        Status => $ARGS{'Status'},
-                        # yes! it's Requestors, not Requestor
-                        Requestors => $ARGS{'Requestors'},
-                        From => $session{'CurrentUser'}->EmailAddress,
-                        Content => $ARGS{'Content'},
-                        Subject => $ARGS{'Subject'});
+                          Queue => $ARGS{'Queue'},
+                          Owner => $ARGS{'Owner'},
+                          Status => $ARGS{'Status'},
+                          # yes! it's Requestors, not Requestor
+                          Requestors => $ARGS{'Requestors'},
+                          From => $session{'CurrentUser'}->EmailAddress,
+                          Content => $ARGS{'Content'},
+                          Subject => $ARGS{'Subject'},
+                          Attachments => delete $session{'Attachments'},
+                        );
         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 {