[Rt-commit] rt branch, 4.2/allow-status-change-in-inactive-set-with-unresolved-deps, created. rt-4.0.4-302-g39887f9

? sunnavy sunnavy at bestpractical.com
Wed Dec 21 01:33:32 EST 2011


The branch, 4.2/allow-status-change-in-inactive-set-with-unresolved-deps has been created
        at  39887f9c9bf1d10785473c3aecf117a2283fffbc (commit)

- Log -----------------------------------------------------------------
commit 39887f9c9bf1d10785473c3aecf117a2283fffbc
Author: sunnavy <sunnavy at bestpractical.com>
Date:   Wed Dec 21 14:21:43 2011 +0800

    allow to set inactive status with unresolved deps if current status is inactive

diff --git a/lib/RT/Ticket.pm b/lib/RT/Ticket.pm
index 74f74c4..d6d378d 100644
--- a/lib/RT/Ticket.pm
+++ b/lib/RT/Ticket.pm
@@ -3143,8 +3143,12 @@ sub SetStatus {
         return ( 0, $self->loc('Permission Denied') );
     }
 
-    if ( !$args{Force} && $lifecycle->IsInactive( $new ) && $self->HasUnresolvedDependencies) {
-        return (0, $self->loc('That ticket has unresolved dependencies'));
+    if (   !$args{Force}
+        && !$lifecycle->IsInactive($self->Status)
+        && $lifecycle->IsInactive($new)
+        && $self->HasUnresolvedDependencies )
+    {
+        return ( 0, $self->loc('That ticket has unresolved dependencies') );
     }
 
     my $now = RT::Date->new( $self->CurrentUser );
diff --git a/t/api/ticket.t b/t/api/ticket.t
index 92c8a85..53476f6 100644
--- a/t/api/ticket.t
+++ b/t/api/ticket.t
@@ -2,7 +2,7 @@
 use strict;
 use warnings;
 use RT;
-use RT::Test tests => 87;
+use RT::Test tests => 89;
 
 
 {
@@ -250,7 +250,16 @@ like($msg, qr/resolved/i, "Status message is correct");
 ($id, $msg) = $tt->SetStatus('resolved');
 ok(!$id,$msg);
 
+my $dep = RT::Ticket->new( RT->SystemUser );
+my ( $dep_id, undef, $dep_msg ) = $dep->Create(
+    Queue          => 'general',
+    Subject        => 'dep ticket',
+    'DependedOnBy' => $tt->id,
+);
+ok( $dep->id, $dep_msg );
 
+($id, $msg) = $tt->SetStatus('rejected');
+ok( $id, $msg );
 
 }
 

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


More information about the Rt-commit mailing list