import rt 3.6.4
[freeside.git] / rt / html / Ticket / ModifyAll.html
index 23cd935..7f7ae30 100644 (file)
@@ -2,7 +2,7 @@
 %# 
 %# COPYRIGHT:
 %#  
-%# This software is Copyright (c) 1996-2005 Best Practical Solutions, LLC 
+%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC 
 %#                                          <jesse@bestpractical.com>
 %# 
 %# (Except where explicitly superseded by other copyright notices)
@@ -22,7 +22,9 @@
 %# 
 %# You should have received a copy of the GNU General Public License
 %# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/copyleft/gpl.html.
 %# 
 %# 
 %# CONTRIBUTION SUBMISSION POLICY:
 
 <& /Elements/ListActions, actions => \@results &>
 
-<FORM METHOD=POST ACTION="ModifyAll.html" ENCTYPE="multipart/form-data">
-<INPUT TYPE=HIDDEN NAME=id VALUE="<%$Ticket->Id%>">
+<form method="post" action="ModifyAll.html" enctype="multipart/form-data">
+<& /Elements/Callback, _CallbackName => 'FormStart',ARGSRef =>\%ARGS &>
+<input type="hidden" class="hidden" name="id" value="<%$Ticket->Id%>" />
 
-
-<& /Elements/TitleBoxStart, title => loc('Modify ticket # [_1]', $Ticket->Id),   color=> "#993333", width => "100%" &>
+<&| /Widgets/TitleBox, title => loc('Modify ticket # [_1]', $Ticket->Id) &>
 <& Elements/EditBasics, TicketObj => $Ticket &>
 <& Elements/EditCustomFields, TicketObj => $Ticket &>
-<& /Elements/TitleBoxEnd &>
+</&>
 
-<BR>
+<br />
 
-<& /Elements/TitleBoxStart, title => loc('Dates'),  width => "100%", color => "#663366"  &>
+<&| /Widgets/TitleBox, title => loc('Dates') &>
 <& Elements/EditDates, TicketObj => $Ticket &>
-<& /Elements/TitleBoxEnd &>
+</&>
 
-<BR>
+<br />
 
 
-<& /Elements/TitleBoxStart, title => loc('People'),width => "100%", color=> "#333399" &>
+<&| /Widgets/TitleBox, title => loc('People') &>
 <& Elements/EditPeople, Ticket => $Ticket, UserField => $UserField, UserString => $UserString, UserOp => $UserOp &>
-<& /Elements/TitleBoxEnd &>
+</&>
 
-<BR>
+<br />
 
-<& /Elements/TitleBoxStart, title => loc('Links'), color => "#336633"&>
+<&| /Widgets/TitleBox, title => loc('Links') &>
 <& /Elements/EditLinks, Object => $Ticket, Merge => 1 &>
-<& /Elements/TitleBoxEnd &>
+</&>
 
-<BR>
+<br />
 
-<& /Elements/TitleBoxStart, title => loc('Update ticket') &>
+<&| /Widgets/TitleBox, title => loc('Update ticket') &>
 <table>
   <tr>
     <td class="label"><&|/l&>Update Type</&>:</td>
   </tr>
   <tr>
     <td class="label"><&|/l&>Subject</&>:</td>
-    <td class="entry"><input name="UpdateSubject" size=60 value="<%$Ticket->Subject%>"></td>
+    <td class="entry"><input name="UpdateSubject" size="60" value="<%$Ticket->Subject%>" /></td>
   </tr>
 % if (my $TxnCFs = $Ticket->TransactionCustomFields) {
 %    while (my $CF = $TxnCFs->Next()) {
-<TR>
-<TD class="label"><% $CF->Name %>:</TD>
-<TD class="entry"><& /Elements/EditCustomField, 
+<tr>
+<td class="label"><% $CF->Name %>:</td>
+<td class="entry"><& /Elements/EditCustomField, 
     CustomField => $CF, 
     NamePrefix => "Object-RT::Transaction--CustomField-"
-    &><em><% $CF->FriendlyType %></em></TD>
-</TD></TR>
+    &><em><% $CF->FriendlyType %></em></td>
+</td></tr>
 %    } # end if while
 % } # end of if
   <tr>
     <td class="label"><&|/l&>Attach</&>:</td>
-    <td class="entry"><input name="UpdateAttachment" type=file></td>
+    <td class="entry"><input name="UpdateAttachment" type="file" /></td>
   </tr>
   <tr>
     <td class="labeltop"><&|/l&>Content</&>:</td>
     <td class="entry"><& /Elements/MessageBox, Name=>"UpdateContent", QuoteTransaction=>$ARGS{QuoteTransaction} &></td>
   </tr>
 </table>
-<& /Elements/TitleBoxEnd &>
+</&>
   
 
 <& /Elements/Submit, 
@@ -145,9 +147,20 @@ $CanComment = 1 if ( $Ticket->CurrentUserHasRight('CommentOnTicket') or
                      $Ticket->CurrentUserHasRight('ModifyTicket') );
 
 
+$m->comp('/Elements/Callback', TicketObj => $Ticket, ARGSRef => \%ARGS);
 my (@wresults, @results,  @dresults, @lresults, @cf_results);
 
 unless ($OnlySearchForPeople) {
+    # There might be two owners. 
+    if ( ref ($ARGS{'Owner'} )) {
+        my @owners =@{$ARGS{'Owner'}};
+        delete $ARGS{'Owner'};
+        foreach my $owner(@owners){
+            $ARGS{'Owner'} = $owner unless ($Ticket->OwnerObj->id == $owner);
+        }
+
+    }
+
     @wresults = ProcessTicketWatchers( TicketObj => $Ticket, ARGSRef => \%ARGS);
  @cf_results = ProcessObjectCustomFieldUpdates( Object => $Ticket, ARGSRef => \%ARGS);
     @dresults = ProcessTicketDates( TicketObj => $Ticket, ARGSRef => \%ARGS);
@@ -169,7 +182,7 @@ unless ($OnlySearchForPeople) {
        $ARGS{'UpdateAttachments'}->{ $subject } = $attachment;
     }
 
-    $ARGS{'UpdateContent'} =~ s/\r+\n/\n/g;
+    $ARGS{'UpdateContent'} =~ s/\r+\n/\n/g if $ARGS{'UpdateContent'};
 
     if ($ARGS{'UpdateAttachments'} || ( $ARGS{'UpdateContent'} && $ARGS{'UpdateContent'} ne  "-- \n" . 
                                $session{'CurrentUser'}->UserObj->Signature)) {
@@ -182,6 +195,10 @@ push @results, @dresults;
 push @results, @lresults;
 push @results, @cf_results;
 
+# undef so that TransactionBatch scrips run and update the ticket
+$Ticket = undef;
+$Ticket = LoadTicket($id);
+
 # If they've gone and moved the ticket to somewhere they can't see, etc...
 # TODO: display the results, even if we can't display the ticket.