Putting 4.2.0 on top of 4.0.17
[usit-rt.git] / lib / RT / Shredder / Principal.pm
index 5dc04b3..65d2ce7 100644 (file)
@@ -85,43 +85,21 @@ sub __DependsOn
            );
     push( @$list, $objs );
 
-    $deps->_PushDependencies(
-            BaseObject => $self,
-            Flags => DEPENDS_ON,
-            TargetObjects => $list,
-            Shredder => $args{'Shredder'}
-        );
-    return $self->SUPER::__DependsOn( %args );
-}
-
-sub __Relates
-{
-    my $self = shift;
-    my %args = (
-            Shredder => undef,
-            Dependencies => undef,
-            @_,
-           );
-    my $deps = $args{'Dependencies'};
-    my $list = [];
-
-    my $obj = $self->Object;
-    if( defined $obj->id ) {
-        push( @$list, $obj );
-    } else {
-        my $rec = $args{'Shredder'}->GetRecord( Object => $self );
-        $self = $rec->{'Object'};
-        $rec->{'State'} |= INVALID;
-        $rec->{'Description'} = "Have no related ". $self->Type ." #". $self->id ." object";
+# AddWatcher/DelWatcher txns
+    foreach my $type ( qw(AddWatcher DelWatcher) ) {
+        my $objs = RT::Transactions->new( $self->CurrentUser );
+        $objs->Limit( FIELD => $type =~ /Add/? 'NewValue': 'OldValue', VALUE => $self->Id );
+        $objs->Limit( FIELD => 'Type', VALUE => $type );
+        push( @$list, $objs );
     }
 
     $deps->_PushDependencies(
             BaseObject => $self,
-            Flags => RELATES,
+            Flags => DEPENDS_ON,
             TargetObjects => $list,
             Shredder => $args{'Shredder'}
         );
-    return $self->SUPER::__Relates( %args );
+    return $self->SUPER::__DependsOn( %args );
 }
 
 1;