[Rt-commit] rt branch, 4.4/single-pending-ticket, created. rt-4.2.11-187-gff78c6d

Dustin Graves dustin at bestpractical.com
Wed Sep 23 10:47:54 EDT 2015


The branch, 4.4/single-pending-ticket has been created
        at  ff78c6d6073990fc392c84797e582ddf1ff94f0c (commit)

- Log -----------------------------------------------------------------
commit ff78c6d6073990fc392c84797e582ddf1ff94f0c
Author: Dustin Graves <dustin at bestpractical.com>
Date:   Mon Aug 17 21:05:52 2015 +0000

    Show ticket number when pending on 1 ticket
    
    Fixes: I#30692

diff --git a/share/html/Elements/RT__Ticket/ColumnMap b/share/html/Elements/RT__Ticket/ColumnMap
index e61b223..4a03c3c 100644
--- a/share/html/Elements/RT__Ticket/ColumnMap
+++ b/share/html/Elements/RT__Ticket/ColumnMap
@@ -123,7 +123,9 @@ $COLUMN_MAP = {
         value     => sub {
             my $Ticket = shift;
 
-            if ( my $count = $Ticket->HasUnresolvedDependencies ) {
+            my $unresolved_dependencies = $Ticket->UnresolvedDependencies;
+            my $count = $unresolved_dependencies->Count;
+            if ( $count ) {
                 if (   $Ticket->HasUnresolvedDependencies( Type => 'approval' )
                     or $Ticket->HasUnresolvedDependencies( Type => 'code' ) )
                 {
@@ -135,6 +137,12 @@ $COLUMN_MAP = {
 
                     my $SearchURL = RT->Config->Get('WebPath') . '/Search/Results.html?' . $m->comp('/Elements/QueryString', Query => $Query);
 
+                    if ($count == 1) {
+                        my $pending_ticket = $unresolved_dependencies->Next;
+                        my $pending_ticket_url = RT->Config->Get('WebPath') . '/Ticket/Display.html?id=' . $pending_ticket->id;
+                        return \'<a href="',$pending_ticket_url,\'">', loc('(pending ticket #[_1])',$pending_ticket->id), \'</a>';
+                    }
+
                     return \'<a href="',$SearchURL,\'">', loc('(pending [quant,_1,other ticket,other tickets])',$count), \'</a>';
                 }
             }
diff --git a/t/web/pending-tickets.t b/t/web/pending-tickets.t
new file mode 100644
index 0000000..d3e072b
--- /dev/null
+++ b/t/web/pending-tickets.t
@@ -0,0 +1,31 @@
+use strict;
+use warnings;
+
+use RT::Test tests => 12;
+my ($baseurl, $m) = RT::Test->started_ok;
+my $url = $m->rt_base_url;
+ok $m->login, 'logged in';
+
+my @tickets;
+for my $ticket_num (1..3) {
+    my $t = RT::Ticket->new(RT->SystemUser);
+    $t->Create(Subject => "test $ticket_num", Queue => 'general', Owner => 'root');
+    ok(my $id = $t->id, "created ticket $ticket_num");
+    push @tickets, $t;
+}
+
+my ($t1, $t2, $t3) = @tickets;
+
+my ($status, $msg) = $t2->AddLink( Type => 'DependsOn', Base => $t1->id );
+ok($status, "created a link: $msg");
+
+($status, $msg) = $t3->AddLink( Type => 'DependsOn', Base => $t1->id );
+ok($status, "created a link: $msg");
+
+($status, $msg) = $t3->AddLink( Type => 'DependsOn', Base => $t2->id );
+ok($status, "created a link: $msg");
+
+$m->reload();
+
+$m->content_contains('pending ticket #'.$t3->id.'', 'single ticket pending text');
+$m->content_contains('pending 2 other tickets', 'multiple tickets pending text');

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


More information about the rt-commit mailing list