[Rt-commit] rt branch, 4.0/web-forward-show-from, created. rt-4.0.1rc1-6-ga920952

? sunnavy sunnavy at bestpractical.com
Thu May 26 03:13:45 EDT 2011


The branch, 4.0/web-forward-show-from has been created
        at  a920952a6873c34f77c94170b409d2bb117e2169 (commit)

- Log -----------------------------------------------------------------
commit 9b345a44a60607247d0197be9ef9e71ce66c1a8f
Author: sunnavy <sunnavy at bestpractical.com>
Date:   Thu May 26 15:03:52 2011 +0800

    abstract GetForwardFrom so we can use otherwhere

diff --git a/lib/RT/Interface/Email.pm b/lib/RT/Interface/Email.pm
index 620ca60..96d07c2 100644
--- a/lib/RT/Interface/Email.pm
+++ b/lib/RT/Interface/Email.pm
@@ -750,16 +750,18 @@ sub SendForward {
     my $subject = '';
     $subject = $txn->Subject if $txn;
     $subject ||= $ticket->Subject if $ticket;
-    if ( RT->Config->Get('ForwardFromUser') ) {
-        $from = ($txn || $ticket)->CurrentUser->UserObj->EmailAddress;
-    } else {
+
+    unless ( RT->Config->Get('ForwardFromUser') ) {
         # XXX: what if want to forward txn of other object than ticket?
         $subject = AddSubjectTag( $subject, $ticket );
-        $from = $ticket->QueueObj->CorrespondAddress
-            || RT->Config->Get('CorrespondAddress');
     }
+
     $mail->head->set( Subject => EncodeToMIME( String => "Fwd: $subject" ) );
-    $mail->head->set( From    => EncodeToMIME( String => $from ) );
+    $mail->head->set(
+        From => EncodeToMIME(
+            String => GetForwardFrom( Transaction => $txn, Ticket => $ticket )
+        )
+    );
 
     my $status = RT->Config->Get('ForwardFromUser')
         # never sign if we forward from User
@@ -769,6 +771,26 @@ sub SendForward {
     return (1, $ticket->loc("Sent email successfully"));
 }
 
+=head2 GetForwardFrom Ticket => undef, Transaction => undef
+
+Resolve the From field to use in forward mail
+
+=cut
+
+sub GetForwardFrom {
+    my %args   = ( Ticket => undef, Transaction => undef, @_ );
+    my $txn    = $args{Transaction};
+    my $ticket = $args{Ticket} || $txn->Object;
+
+    unless ( RT->Config->Get('ForwardFromUser') ) {
+        return ( $txn || $ticket )->CurrentUser->UserObj->EmailAddress;
+    }
+    else {
+        return $ticket->QueueObj->CorrespondAddress
+          || RT->Config->Get('CorrespondAddress');
+    }
+}
+
 =head2 SignEncrypt Entity => undef, Sign => 0, Encrypt => 0
 
 Signs and encrypts message using L<RT::Crypt::GnuPG>, but as well

commit a920952a6873c34f77c94170b409d2bb117e2169
Author: sunnavy <sunnavy at bestpractical.com>
Date:   Thu May 26 15:04:29 2011 +0800

    good to show From in forward page

diff --git a/share/html/Ticket/Forward.html b/share/html/Ticket/Forward.html
index 2e6f8bd..386662a 100644
--- a/share/html/Ticket/Forward.html
+++ b/share/html/Ticket/Forward.html
@@ -57,6 +57,8 @@
 <input type="hidden" class="hidden" name="QuoteTransaction" value="<% $ARGS{'QuoteTransaction'} || '' %>" />
 
 <table border="0">
+<tr><td align="right"><&|/l&>From</&>:</td>
+<td><% $from %></td></tr>
 
 <tr><td align="right"><&|/l&>Subject</&>:</td>
 <td><% $TicketObj->Subject %></td></tr>
@@ -110,6 +112,9 @@ my $Title = $txn
     ? loc('Forward transaction #[_1]', $txn->id)
     : loc('Forward ticket #[_1]', $TicketObj->id);
 
+my $from = RT::Interface::Email::GetForwardFrom(
+    $txn ? ( Transaction => $txn ) : ( Ticket => $TicketObj ) );
+
 </%INIT>
 
 <%ARGS>

-----------------------------------------------------------------------


More information about the Rt-commit mailing list