[Rt-commit] rt branch, 3.9-trunk, updated. rt-3.9.4-181-g6160683

? sunnavy sunnavy at bestpractical.com
Wed Oct 20 04:00:44 EDT 2010


The branch, 3.9-trunk has been updated
       via  6160683c58469be4f59f97e0b65645b49e396e17 (commit)
       via  243d28c20528e9a04445c13c122243e24ecee091 (commit)
       via  e96138073f69ed354f882c95d04ec6c34ac7db96 (commit)
      from  42be2d45c1ec305a5c64e8d356ee1ffe33464d1b (commit)

Summary of changes:
 lib/RT/Interface/Email.pm      |   35 ++++++++++++++++++-
 lib/RT/Transaction_Overlay.pm  |    7 ++++
 share/html/Ticket/Forward.html |    8 ++--
 t/web/ticket_forward.t         |   73 ++++++++++++++++++++++++++++++++++++++++
 4 files changed, 117 insertions(+), 6 deletions(-)
 create mode 100644 t/web/ticket_forward.t

- Log -----------------------------------------------------------------
commit e96138073f69ed354f882c95d04ec6c34ac7db96
Author: sunnavy <sunnavy at bestpractical.com>
Date:   Wed Oct 20 15:43:24 2010 +0800

    warning fix

diff --git a/share/html/Ticket/Forward.html b/share/html/Ticket/Forward.html
index de4afa7..1ad025f 100644
--- a/share/html/Ticket/Forward.html
+++ b/share/html/Ticket/Forward.html
@@ -57,7 +57,7 @@
 <form action="Forward.html" name="ForwardMessage" method="post">
 % $m->callback( CallbackName => 'FormStart', ARGSRef => \%ARGS );
 <input type="hidden" class="hidden" name="id" value="<% $id %>" /><br />
-<input type="hidden" class="hidden" name="QuoteTransaction" value="<% $ARGS{'QuoteTransaction'} %>" />
+<input type="hidden" class="hidden" name="QuoteTransaction" value="<% $ARGS{'QuoteTransaction'} || '' %>" />
 
 <table border="0">
 
@@ -65,13 +65,13 @@
 <td><% $TicketObj->Subject %></td></tr>
 
 <tr><td align="right"><&|/l&>To</&>:</td>
-<td><input name="To" size="60" value="<% $ARGS{'To'} %>" /></td></tr>
+<td><input name="To" size="60" value="<% $ARGS{'To'} || '' %>" /></td></tr>
 
 <tr><td align="right"><&|/l&>Cc</&>:</td>
-<td><input name="Cc" size="60" value="<% $ARGS{'Cc'} %>" /></td></tr>
+<td><input name="Cc" size="60" value="<% $ARGS{'Cc'} || '' %>" /></td></tr>
 
 <tr><td align="right"><&|/l&>BCc</&>:</td>
-<td><input name="Bcc" size="60" value="<% $ARGS{'Bcc'} %>" /></td></tr>
+<td><input name="Bcc" size="60" value="<% $ARGS{'Bcc'} || '' %>" /></td></tr>
 
 </table>
 

commit 243d28c20528e9a04445c13c122243e24ecee091
Author: sunnavy <sunnavy at bestpractical.com>
Date:   Wed Oct 20 15:45:21 2010 +0800

    record forward records to txn

diff --git a/lib/RT/Interface/Email.pm b/lib/RT/Interface/Email.pm
index 0567740..92d3022 100755
--- a/lib/RT/Interface/Email.pm
+++ b/lib/RT/Interface/Email.pm
@@ -614,7 +614,19 @@ sub ForwardTransaction {
 
     my $entity = $txn->ContentAsMIME;
 
-    return SendForward( %args, Entity => $entity, Transaction => $txn );
+    my ( $ret, $msg ) = SendForward( %args, Entity => $entity, Transaction => $txn );
+    if ($ret) {
+        my $ticket = $txn->TicketObj;
+        my ( $ret, $msg ) = $ticket->_NewTransaction(
+            Type  => 'Forward Transaction',
+            Field => $txn->id,
+            Data  => join ', ', grep { length } $args{To}, $args{Cc}, $args{Bcc},
+        );
+        unless ($ret) {
+            $RT::Logger->error("Failed to create transaction: $msg");
+        }
+    }
+    return ( $ret, $msg );
 }
 
 =head2 ForwardTicket TICKET, To => '', Cc => '', Bcc => ''
@@ -640,7 +652,26 @@ sub ForwardTicket {
         map $_->ContentAsMIME,
         @{ $txns->ItemsArrayRef };
 
-    return SendForward( %args, Entity => $entity, Ticket => $ticket, Template => 'Forward Ticket' );
+    my ( $ret, $msg ) = SendForward(
+        %args,
+        Entity   => $entity,
+        Ticket   => $ticket,
+        Template => 'Forward Ticket',
+    );
+
+    if ($ret) {
+        my ( $ret, $msg ) = $ticket->_NewTransaction(
+            Type  => 'Forward Ticket',
+            Field => $ticket->id,
+            Data  => join ', ', grep { length } $args{To}, $args{Cc}, $args{Bcc},
+        );
+        unless ($ret) {
+            $RT::Logger->error("Failed to create transaction: $msg");
+        }
+    }
+
+    return ( $ret, $msg );
+
 }
 
 =head2 SendForward Entity => undef, Ticket => undef, Transaction => undef, Template => undef, To => '', Cc => '', Bcc => ''
diff --git a/lib/RT/Transaction_Overlay.pm b/lib/RT/Transaction_Overlay.pm
index a480927..e03f133 100755
--- a/lib/RT/Transaction_Overlay.pm
+++ b/lib/RT/Transaction_Overlay.pm
@@ -668,6 +668,13 @@ sub BriefDescription {
     elsif ( $type =~ /SystemError/ ) {
         return $self->loc("System error");
     }
+    elsif ( $type =~ /Forward Transaction/ ) {
+        return $self->loc( "Forwarded Transaction #[_1] to [_2]",
+            $self->Field, $self->Data );
+    }
+    elsif ( $type =~ /Forward Ticket/ ) {
+        return $self->loc( "Forwarded Ticket to [_1]", $self->Data );
+    }
 
     if ( my $code = $_BriefDescriptions{$type} ) {
         return $code->($self);

commit 6160683c58469be4f59f97e0b65645b49e396e17
Author: sunnavy <sunnavy at bestpractical.com>
Date:   Wed Oct 20 15:45:52 2010 +0800

    /Ticket/Forward.html test

diff --git a/t/web/ticket_forward.t b/t/web/ticket_forward.t
new file mode 100644
index 0000000..045cdf5
--- /dev/null
+++ b/t/web/ticket_forward.t
@@ -0,0 +1,73 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+use RT::Test tests => 19;
+my ( $baseurl, $m ) = RT::Test->started_ok;
+ok $m->login, 'logged in as root';
+
+RT::Test->set_mail_catcher;
+$m->get_ok( $baseurl . '/Ticket/Create.html?Queue=1' );
+
+$m->form_number(3);
+$m->submit_form(
+    form_number => 3,
+    fields      => {
+        Subject => 'test forward',
+        Content => 'this is content',
+    },
+);
+$m->content_like( qr/Ticket \d+ created/i, 'created the ticket' );
+RT::Test->clean_caught_mails;
+
+diag "Foward Ticket" if $ENV{TEST_VERBOSE};
+{
+    $m->follow_link_ok( { text => 'Forward' },
+        'follow 1st Forward to forward ticket' );
+
+    $m->submit_form(
+        form_number => 3,
+        fields      => {
+            To  => 'rt-test, rt-to at example.com',
+            Cc  => 'rt-cc at example.com',
+        },
+        button => 'ForwardAndReturn'
+    );
+    $m->content_contains( 'Send email successfully', 'sent mail msg' );
+    $m->content_contains(
+'Forwarded Ticket to rt-test, rt-to at example.com, rt-cc at example.com',
+        'txn msg'
+    );
+    my ($mail) = RT::Test->fetch_caught_mails;
+    like( $mail, qr!Subject: test forward!, 'Subject field' );
+    like( $mail, qr!To: rt-test, rt-to\@example.com!, 'To field' );
+    like( $mail, qr!Cc: rt-cc\@example.com!, 'Cc field' );
+    like( $mail, qr!This is a forward of ticket!, 'content' );
+}
+
+diag "Foward Transaction" if $ENV{TEST_VERBOSE};
+{
+    $m->follow_link_ok( { text => 'Forward', n => 2 }, 'follow 2nd Forward' );
+    $m->submit_form(
+        form_number => 3,
+        fields      => {
+            To  => 'rt-test, rt-to at example.com',
+            Cc  => 'rt-cc at example.com',
+            Bcc => 'rt-bcc at example.com'
+        },
+        button => 'ForwardAndReturn'
+    );
+    $m->content_contains( 'Send email successfully', 'sent mail msg' );
+    $m->content_like(
+qr/Forwarded Transaction #\d+ to rt-test, rt-to\@example.com, rt-cc\@example.com, rt-bcc\@example.com/,
+        'txn msg'
+    );
+    my ($mail) = RT::Test->fetch_caught_mails;
+    like( $mail, qr!Subject: test forward!, 'Subject field' );
+    like( $mail, qr!To: rt-test, rt-to\@example.com!, 'To field' );
+    like( $mail, qr!Cc: rt-cc\@example.com!, 'Cc field' );
+    like( $mail, qr!Bcc: rt-bcc\@example.com!, 'Bcc field' );
+    like( $mail, qr!This is a forward of transaction!, 'content' );
+}
+

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


More information about the Rt-commit mailing list