[Rt-commit] rt branch, 4.2/drop-validation-bits-from-shredder, created. rt-4.0.5-282-g4fb4865

Ruslan Zakirov ruz at bestpractical.com
Mon Mar 26 11:57:13 EDT 2012


The branch, 4.2/drop-validation-bits-from-shredder has been created
        at  4fb4865dd44a2825cb1fe7dbf337925d53dfb0c2 (commit)

- Log -----------------------------------------------------------------
commit 4fb4865dd44a2825cb1fe7dbf337925d53dfb0c2
Author: Ruslan Zakirov <ruz at bestpractical.com>
Date:   Mon Mar 26 16:42:49 2012 +0400

    drop __Relates and friends
    
    These functions were used in old validator, new one is isolated.

diff --git a/lib/RT/Shredder.pm b/lib/RT/Shredder.pm
index 10d3536..b9c80cb 100644
--- a/lib/RT/Shredder.pm
+++ b/lib/RT/Shredder.pm
@@ -609,17 +609,6 @@ sub _Wipeout
     return;
 }
 
-sub ValidateRelations
-{
-    my $self = shift;
-    my %args = ( @_ );
-
-    foreach my $record( values %{ $self->{'cache'} } ) {
-        next if( $record->{'State'} & VALID );
-        $record->{'Object'}->ValidateRelations( Shredder => $self );
-    }
-}
-
 =head3 Data storage and backups
 
 =head4 GetFileName( FileName => '<ISO DATETIME>-XXXX.sql', FromStorage => 1 )
diff --git a/lib/RT/Shredder/ACE.pm b/lib/RT/Shredder/ACE.pm
index e2fa750..e6af75e 100644
--- a/lib/RT/Shredder/ACE.pm
+++ b/lib/RT/Shredder/ACE.pm
@@ -78,24 +78,4 @@ sub __DependsOn
     return $self->SUPER::__DependsOn( %args );
 }
 
-sub __Relates
-{
-    my $self = shift;
-    my %args = (
-            Shredder => undef,
-            Dependencies => undef,
-            @_,
-           );
-    my $deps = $args{'Dependencies'};
-    my $list = [];
-
-    $deps->_PushDependencies(
-            BaseObject => $self,
-            Flags => RELATES,
-            TargetObjects => $list,
-            Shredder => $args{'Shredder'}
-        );
-    return $self->SUPER::__Relates( %args );
-}
 1;
-
diff --git a/lib/RT/Shredder/Attachment.pm b/lib/RT/Shredder/Attachment.pm
index aa59bf6..2a27b5d 100644
--- a/lib/RT/Shredder/Attachment.pm
+++ b/lib/RT/Shredder/Attachment.pm
@@ -91,46 +91,4 @@ sub __DependsOn
     return $self->SUPER::__DependsOn( %args );
 }
 
-sub __Relates
-{
-    my $self = shift;
-    my %args = (
-            Shredder => undef,
-            Dependencies => undef,
-            @_,
-           );
-    my $deps = $args{'Dependencies'};
-    my $list = [];
-
-# Parent, nested parts
-    if( $self->Parent ) {
-        if( $self->ParentObj && $self->ParentId ) {
-            push( @$list, $self->ParentObj );
-        } else {
-            my $rec = $args{'Shredder'}->GetRecord( Object => $self );
-            $self = $rec->{'Object'};
-            $rec->{'State'} |= INVALID;
-            $rec->{'Description'} = "Have no parent attachment #". $self->Parent ." object";
-        }
-    }
-
-# Transaction
-    my $obj = $self->TransactionObj;
-    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 transaction #". $self->TransactionId ." object";
-    }
-
-    $deps->_PushDependencies(
-            BaseObject => $self,
-            Flags => RELATES,
-            TargetObjects => $list,
-            Shredder => $args{'Shredder'}
-        );
-    return $self->SUPER::__Relates( %args );
-}
 1;
diff --git a/lib/RT/Shredder/CachedGroupMember.pm b/lib/RT/Shredder/CachedGroupMember.pm
index f5542a2..af083bf 100644
--- a/lib/RT/Shredder/CachedGroupMember.pm
+++ b/lib/RT/Shredder/CachedGroupMember.pm
@@ -98,46 +98,4 @@ sub __DependsOn
     return $self->SUPER::__DependsOn( %args );
 }
 
-#TODO: If we plan write export tool we also should fetch parent groups
-# now we only wipeout things.
-
-sub __Relates
-{
-    my $self = shift;
-    my %args = (
-            Shredder => undef,
-            Dependencies => undef,
-            @_,
-           );
-    my $deps = $args{'Dependencies'};
-    my $list = [];
-
-    my $obj = $self->MemberObj;
-    if( $obj && $obj->id ) {
-        push( @$list, $obj );
-    } else {
-        my $rec = $args{'Shredder'}->GetRecord( Object => $self );
-        $self = $rec->{'Object'};
-        $rec->{'State'} |= INVALID;
-        $rec->{'Description'} = "Have no related Principal #". $self->MemberId ." object.";
-    }
-
-    $obj = $self->GroupObj;
-    if( $obj && $obj->id ) {
-        push( @$list, $obj );
-    } else {
-        my $rec = $args{'Shredder'}->GetRecord( Object => $self );
-        $self = $rec->{'Object'};
-        $rec->{'State'} |= INVALID;
-        $rec->{'Description'} = "Have no related Principal #". $self->GroupId ." object.";
-    }
-
-    $deps->_PushDependencies(
-            BaseObject => $self,
-            Flags => RELATES,
-            TargetObjects => $list,
-            Shredder => $args{'Shredder'}
-        );
-    return $self->SUPER::__Relates( %args );
-}
 1;
diff --git a/lib/RT/Shredder/Constants.pm b/lib/RT/Shredder/Constants.pm
index ba160ce..fc6620c 100644
--- a/lib/RT/Shredder/Constants.pm
+++ b/lib/RT/Shredder/Constants.pm
@@ -84,18 +84,11 @@ This flag is used to mark dependencies that can be resolved with changing
 value in target object. For example ticket can be created by user we can
 change this reference when we delete user.
 
-=head2 RELATES
-
-This flag is used to validate relationships integrity. Base object
-is valid only when all target objects which are marked with this flags
-exist.
-
 =cut
 
 use constant {
     DEPENDS_ON    => 0x000001,
     WIPE_AFTER    => 0x000010,
-    RELATES        => 0x000100,
     VARIABLE    => 0x001000,
 };
 
@@ -112,33 +105,21 @@ Objects with this state are not exist any more in DB, but perl
 object is still in memory. This state is used to be shure that
 delete query is called once.
 
-=head2 VALID
-
-Object is marked with this state only when its relationships
-are valid.
-
-=head2 INVALID
-
 =cut
 
 use constant {
     ON_STACK    => 0x00000,
     IN_WIPING    => 0x00001,
     WIPED        => 0x00010,
-    VALID        => 0x00100,
-    INVALID        => 0x01000,
 };
 
 our @EXPORT = qw(
         DEPENDS_ON
         WIPE_AFTER
-        RELATES
         VARIABLE
         ON_STACK
         IN_WIPING
         WIPED
-        VALID
-        INVALID
         );
 
 1;
diff --git a/lib/RT/Shredder/CustomField.pm b/lib/RT/Shredder/CustomField.pm
index 43b759e..e1b9ddb 100644
--- a/lib/RT/Shredder/CustomField.pm
+++ b/lib/RT/Shredder/CustomField.pm
@@ -87,40 +87,4 @@ sub __DependsOn
     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;
-
-# Queue
-# Skip if it's global CF
-    if( $self->Queue ) {
-        if( $self->QueueObj && $self->QueueObj->Id ) {
-            push( @$list, $obj );
-        } else {
-            my $rec = $args{'Shredder'}->GetRecord( Object => $self );
-            $self = $rec->{'Object'};
-            $rec->{'State'} |= INVALID;
-            $rec->{'Description'} = "Have no related queue #". $self->Queue ." object";
-        }
-    }
-
-    $deps->_PushDependencies(
-            BaseObject => $self,
-            Flags => RELATES,
-            TargetObjects => $list,
-            Shredder => $args{'Shredder'}
-        );
-    return $self->SUPER::__Relates( %args );
-}
-
 1;
-
diff --git a/lib/RT/Shredder/CustomFieldValue.pm b/lib/RT/Shredder/CustomFieldValue.pm
index 769336c..7cd5f99 100644
--- a/lib/RT/Shredder/CustomFieldValue.pm
+++ b/lib/RT/Shredder/CustomFieldValue.pm
@@ -61,34 +61,4 @@ use RT::Shredder::Dependencies;
 # I should decide is TicketCustomFieldValue depends by this or not.
 # Today I think no. What would be tomorrow I don't know.
 
-sub __Relates
-{
-    my $self = shift;
-    my %args = (
-            Shredder => undef,
-            Dependencies => undef,
-            @_,
-           );
-    my $deps = $args{'Dependencies'};
-    my $list = [];
-
-    my $obj = $self->CustomFieldObj;
-    if( $obj && 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 CustomField #". $self->id ." object";
-    }
-
-    $deps->_PushDependencies(
-            BaseObject => $self,
-            Flags => RELATES,
-            TargetObjects => $list,
-            Shredder => $args{'Shredder'}
-        );
-    return $self->__Relates( %args );
-}
-
 1;
diff --git a/lib/RT/Shredder/Dependency.pm b/lib/RT/Shredder/Dependency.pm
index 7300bee..22bc741 100644
--- a/lib/RT/Shredder/Dependency.pm
+++ b/lib/RT/Shredder/Dependency.pm
@@ -56,7 +56,6 @@ my %FlagDescs = (
     DEPENDS_ON, 'depends on',
     VARIABLE,   'resolvable dependency',
     WIPE_AFTER, 'delete after',
-    RELATES,    'relates with',
 );
 
 sub new
diff --git a/lib/RT/Shredder/Group.pm b/lib/RT/Shredder/Group.pm
index 0736793..d293f5f 100644
--- a/lib/RT/Shredder/Group.pm
+++ b/lib/RT/Shredder/Group.pm
@@ -128,51 +128,6 @@ sub __DependsOn
     return $self->SUPER::__DependsOn( %args );
 }
 
-sub __Relates
-{
-    my $self = shift;
-    my %args = (
-            Shredder => undef,
-            Dependencies => undef,
-            @_,
-           );
-    my $deps = $args{'Dependencies'};
-    my $list = [];
-
-# Equivalence group id inconsistent without User
-    if( $self->Domain eq 'ACLEquivalence' ) {
-        my $obj = RT::User->new($self->CurrentUser);
-        $obj->Load( $self->Instance );
-        if( $obj->id ) {
-            push( @$list, $obj );
-        } else {
-            my $rec = $args{'Shredder'}->GetRecord( Object => $self );
-            $self = $rec->{'Object'};
-            $rec->{'State'} |= INVALID;
-            $rec->{'Description'} = "ACLEguvivalence group have no related User #". $self->Instance ." object.";
-        }
-    }
-
-# Principal
-    my $obj = $self->PrincipalObj;
-    if( $obj && $obj->id ) {
-        push( @$list, $obj );
-    } else {
-        my $rec = $args{'Shredder'}->GetRecord( Object => $self );
-        $self = $rec->{'Object'};
-        $rec->{'State'} |= INVALID;
-        $rec->{'Description'} = "Have no related Principal #". $self->id ." object.";
-    }
-
-    $deps->_PushDependencies(
-            BaseObject => $self,
-            Flags => RELATES,
-            TargetObjects => $list,
-            Shredder => $args{'Shredder'}
-        );
-    return $self->SUPER::__Relates( %args );
-}
-
 sub BeforeWipeout
 {
     my $self = shift;
diff --git a/lib/RT/Shredder/GroupMember.pm b/lib/RT/Shredder/GroupMember.pm
index 5f06fae..2da6cbd 100644
--- a/lib/RT/Shredder/GroupMember.pm
+++ b/lib/RT/Shredder/GroupMember.pm
@@ -136,48 +136,4 @@ sub __DependsOn
     return $self->SUPER::__DependsOn( %args );
 }
 
-
-#TODO: If we plan write export tool we also should fetch parent groups
-# now we only wipeout things.
-
-sub __Relates
-{
-    my $self = shift;
-    my %args = (
-            Shredder => undef,
-            Dependencies => undef,
-            @_,
-           );
-    my $deps = $args{'Dependencies'};
-    my $list = [];
-
-    my $obj = $self->MemberObj;
-    if( $obj && $obj->id ) {
-        push( @$list, $obj );
-    } else {
-        my $rec = $args{'Shredder'}->GetRecord( Object => $self );
-        $self = $rec->{'Object'};
-        $rec->{'State'} |= INVALID;
-        $rec->{'Description'} = "Have no related Principal #". $self->MemberId ." object.";
-    }
-
-    $obj = $self->GroupObj;
-    if( $obj && $obj->id ) {
-        push( @$list, $obj );
-    } else {
-        my $rec = $args{'Shredder'}->GetRecord( Object => $self );
-        $self = $rec->{'Object'};
-        $rec->{'State'} |= INVALID;
-        $rec->{'Description'} = "Have no related Principal #". $self->GroupId ." object.";
-    }
-
-    $deps->_PushDependencies(
-            BaseObject => $self,
-            Flags => RELATES,
-            TargetObjects => $list,
-            Shredder => $args{'Shredder'}
-        );
-    return $self->SUPER::__Relates( %args );
-}
-
 1;
diff --git a/lib/RT/Shredder/Link.pm b/lib/RT/Shredder/Link.pm
index 94beb86..a2335d1 100644
--- a/lib/RT/Shredder/Link.pm
+++ b/lib/RT/Shredder/Link.pm
@@ -119,22 +119,4 @@ sub __DependsOn
     return $self->SUPER::__DependsOn( %args );
 }
 
-#TODO: Link record has small strength, but should be encountered
-# if we plan write export tool.
-
-sub __Relates
-{
-    my $self = shift;
-    my %args = (
-            Shredder => undef,
-            Dependencies => undef,
-            @_,
-           );
-    my $deps = $args{'Dependencies'};
-    my $list = [];
-# FIXME: if link is local then object should exist
-
-    return $self->SUPER::__Relates( %args );
-}
-
 1;
diff --git a/lib/RT/Shredder/ObjectCustomFieldValue.pm b/lib/RT/Shredder/ObjectCustomFieldValue.pm
index 6bd236c..6cf6fcd 100644
--- a/lib/RT/Shredder/ObjectCustomFieldValue.pm
+++ b/lib/RT/Shredder/ObjectCustomFieldValue.pm
@@ -57,60 +57,4 @@ use RT::Shredder::Constants;
 use RT::Shredder::Exceptions;
 use RT::Shredder::Dependencies;
 
-sub __DependsOn
-{
-    my $self = shift;
-    my %args = (
-            Shredder => undef,
-            Dependencies => undef,
-            @_,
-           );
-    my $deps = $args{'Dependencies'};
-    my $list = [];
-
-    return $self->SUPER::__DependsOn( %args );
-}
-
-sub __Relates
-{
-    my $self = shift;
-    my %args = (
-            Shredder => undef,
-            Dependencies => undef,
-            @_,
-           );
-    my $deps = $args{'Dependencies'};
-    my $list = [];
-
-# Ticket
-    my $obj = $self->TicketObj;
-    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 Ticket #". $self->id ." object";
-    }
-
-# Custom Field
-    $obj = $self->CustomFieldObj;
-    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 CustomField #". $self->id ." object";
-    }
-
-    $deps->_PushDependencies(
-            BaseObject => $self,
-            Flags => RELATES,
-            TargetObjects => $list,
-            Shredder => $args{'Shredder'}
-        );
-    return $self->SUPER::__Relates( %args );
-}
-
 1;
diff --git a/lib/RT/Shredder/Principal.pm b/lib/RT/Shredder/Principal.pm
index 4444164..d14c93d 100644
--- a/lib/RT/Shredder/Principal.pm
+++ b/lib/RT/Shredder/Principal.pm
@@ -94,34 +94,4 @@ sub __DependsOn
     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";
-    }
-
-    $deps->_PushDependencies(
-            BaseObject => $self,
-            Flags => RELATES,
-            TargetObjects => $list,
-            Shredder => $args{'Shredder'}
-        );
-    return $self->SUPER::__Relates( %args );
-}
-
 1;
diff --git a/lib/RT/Shredder/Record.pm b/lib/RT/Shredder/Record.pm
index d1c74bf..2da0721 100644
--- a/lib/RT/Shredder/Record.pm
+++ b/lib/RT/Shredder/Record.pm
@@ -112,9 +112,6 @@ sub Dependencies
     if( $args{'Flags'} & DEPENDS_ON ) {
         $self->__DependsOn( %args, Dependencies => $deps );
     }
-    if( $args{'Flags'} & RELATES ) {
-        $self->__Relates( %args, Dependencies => $deps );
-    }
     return $deps;
 }
 
@@ -170,62 +167,6 @@ sub __DependsOn
     return;
 }
 
-sub __Relates
-{
-    my $self = shift;
-    my %args = (
-            Shredder => undef,
-            Dependencies => undef,
-            @_,
-           );
-    my $deps = $args{'Dependencies'};
-    my $list = [];
-
-    if( $self->_Accessible( 'Creator', 'read' ) ) {
-        my $obj = RT::Principal->new( $self->CurrentUser );
-        $obj->Load( $self->Creator );
-
-        if( $obj && defined $obj->id ) {
-            push( @$list, $obj );
-        } else {
-            my $rec = $args{'Shredder'}->GetRecord( Object => $self );
-            $self = $rec->{'Object'};
-            $rec->{'State'} |= INVALID;
-            push @{ $rec->{'Description'} },
-                "Have no related User(Creator) #". $self->Creator ." object";
-        }
-    }
-
-    if( $self->_Accessible( 'LastUpdatedBy', 'read' ) ) {
-        my $obj = RT::Principal->new( $self->CurrentUser );
-        $obj->Load( $self->LastUpdatedBy );
-
-        if( $obj && defined $obj->id ) {
-            push( @$list, $obj );
-        } else {
-            my $rec = $args{'Shredder'}->GetRecord( Object => $self );
-            $self = $rec->{'Object'};
-            $rec->{'State'} |= INVALID;
-            push @{ $rec->{'Description'} },
-                "Have no related User(LastUpdatedBy) #". $self->LastUpdatedBy ." object";
-        }
-    }
-
-    $deps->_PushDependencies(
-            BaseObject => $self,
-            Flags => RELATES,
-            TargetObjects => $list,
-            Shredder => $args{'Shredder'}
-        );
-
-    # cause of this $self->SUPER::__Relates should be called last
-    # in overridden subs
-    my $rec = $args{'Shredder'}->GetRecord( Object => $self );
-    $rec->{'State'} |= VALID unless( $rec->{'State'} & INVALID );
-
-    return;
-}
-
 # implement proxy method because some RT classes
 # override Delete method
 sub __Wipeout
@@ -237,37 +178,4 @@ sub __Wipeout
     return;
 }
 
-sub ValidateRelations
-{
-    my $self = shift;
-    my %args = (
-            Shredder => undef,
-            @_
-           );
-    unless( $args{'Shredder'} ) {
-        $args{'Shredder'} = RT::Shredder->new();
-    }
-
-    my $rec = $args{'Shredder'}->PutObject( Object => $self );
-    return if( $rec->{'State'} & VALID );
-    $self = $rec->{'Object'};
-
-    $self->_ValidateRelations( %args, Flags => RELATES );
-    $rec->{'State'} |= VALID unless( $rec->{'State'} & INVALID );
-
-    return;
-}
-
-sub _ValidateRelations
-{
-    my $self = shift;
-    my %args = ( @_ );
-
-    my $deps = $self->Dependencies( %args );
-
-    $deps->ValidateRelations( %args );
-
-    return;
-}
-
 1;
diff --git a/lib/RT/Shredder/Scrip.pm b/lib/RT/Shredder/Scrip.pm
index 0af7a03..8828e5b 100644
--- a/lib/RT/Shredder/Scrip.pm
+++ b/lib/RT/Shredder/Scrip.pm
@@ -57,74 +57,4 @@ use RT::Shredder::Constants;
 use RT::Shredder::Exceptions;
 use RT::Shredder::Dependencies;
 
-sub __DependsOn
-{
-    my $self = shift;
-    my %args = (
-            Shredder => undef,
-            Dependencies => undef,
-            @_,
-           );
-    my $deps = $args{'Dependencies'};
-    my $list = [];
-
-# No dependencies that should be deleted with record
-# Scrip actions and conditions should be exported in feature with it.
-
-    return $self->SUPER::__DependsOn( %args );
-}
-
-sub __Relates
-{
-    my $self = shift;
-    my %args = (
-            Shredder => undef,
-            Dependencies => undef,
-            @_,
-           );
-    my $deps = $args{'Dependencies'};
-    my $list = [];
-
-# Queue
-    my $obj = $self->QueueObj;
-    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 Queue #". $self->id ." object";
-    }
-
-# Condition
-    $obj = $self->ConditionObj;
-    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 ScripCondition #". $self->id ." object";
-    }
-# Action
-    $obj = $self->ActionObj;
-    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 ScripAction #". $self->id ." object";
-    }
-
-    $deps->_PushDependencies(
-            BaseObject => $self,
-            Flags => RELATES,
-            TargetObjects => $list,
-            Shredder => $args{'Shredder'}
-        );
-
-    return $self->SUPER::__Relates( %args );
-}
-
 1;
diff --git a/lib/RT/Shredder/ScripAction.pm b/lib/RT/Shredder/ScripAction.pm
index 62f01f8..1b15642 100644
--- a/lib/RT/Shredder/ScripAction.pm
+++ b/lib/RT/Shredder/ScripAction.pm
@@ -81,20 +81,4 @@ sub __DependsOn
     return $self->SUPER::__DependsOn( %args );
 }
 
-sub __Relates
-{
-    my $self = shift;
-    my %args = (
-            Shredder => undef,
-            Dependencies => undef,
-            @_,
-           );
-    my $deps = $args{'Dependencies'};
-    my $list = [];
-
-# TODO: Check here for exec module
-
-    return $self->SUPER::__Relates( %args );
-}
-
 1;
diff --git a/lib/RT/Shredder/ScripCondition.pm b/lib/RT/Shredder/ScripCondition.pm
index b48862a..2817d9b 100644
--- a/lib/RT/Shredder/ScripCondition.pm
+++ b/lib/RT/Shredder/ScripCondition.pm
@@ -81,21 +81,4 @@ sub __DependsOn
     return $self->SUPER::__DependsOn( %args );
 }
 
-sub __Relates
-{
-    my $self = shift;
-    my %args = (
-            Shredder => undef,
-            Dependencies => undef,
-            @_,
-           );
-    my $deps = $args{'Dependencies'};
-    my $list = [];
-
-# TODO: Check here for exec module
-
-    return $self->SUPER::__Relates( %args );
-}
-
-
 1;
diff --git a/lib/RT/Shredder/Template.pm b/lib/RT/Shredder/Template.pm
index 40a03c9..415fda0 100644
--- a/lib/RT/Shredder/Template.pm
+++ b/lib/RT/Shredder/Template.pm
@@ -57,7 +57,6 @@ use RT::Shredder::Constants;
 use RT::Shredder::Exceptions;
 use RT::Shredder::Dependencies;
 
-
 sub __DependsOn
 {
     my $self = shift;
@@ -84,37 +83,4 @@ sub __DependsOn
     return $self->SUPER::__DependsOn( %args );
 }
 
-sub __Relates
-{
-    my $self = shift;
-    my %args = (
-            Shredder => undef,
-            Dependencies => undef,
-            @_,
-           );
-    my $deps = $args{'Dependencies'};
-    my $list = [];
-
-# Queue
-    my $obj = $self->QueueObj;
-    if( $obj && 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 Queue #". $self->id ." object";
-    }
-
-# TODO: Users(Creator, LastUpdatedBy)
-
-    $deps->_PushDependencies(
-            BaseObject => $self,
-            Flags => RELATES,
-            TargetObjects => $list,
-            Shredder => $args{'Shredder'}
-        );
-    return $self->SUPER::__Relates( %args );
-}
-
 1;
diff --git a/lib/RT/Shredder/Ticket.pm b/lib/RT/Shredder/Ticket.pm
index 312b8fd..01caa9d 100644
--- a/lib/RT/Shredder/Ticket.pm
+++ b/lib/RT/Shredder/Ticket.pm
@@ -92,35 +92,4 @@ sub __DependsOn
     return $self->SUPER::__DependsOn( %args );
 }
 
-sub __Relates
-{
-    my $self = shift;
-    my %args = (
-            Shredder => undef,
-            Dependencies => undef,
-            @_,
-           );
-    my $deps = $args{'Dependencies'};
-    my $list = [];
-
-# Queue
-    my $obj = $self->QueueObj;
-    if( $obj && 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 Queue #". $self->Queue ." object";
-    }
-
-    $deps->_PushDependencies(
-            BaseObject => $self,
-            Flags => RELATES,
-            TargetObjects => $list,
-            Shredder => $args{'Shredder'}
-        );
-    return $self->SUPER::__Relates( %args );
-}
-
 1;
diff --git a/lib/RT/Shredder/Transaction.pm b/lib/RT/Shredder/Transaction.pm
index 4b23ce6..1aa70f0 100644
--- a/lib/RT/Shredder/Transaction.pm
+++ b/lib/RT/Shredder/Transaction.pm
@@ -79,37 +79,4 @@ sub __DependsOn
     return $self->SUPER::__DependsOn( %args );
 }
 
-sub __Relates
-{
-    my $self = shift;
-    my %args = (
-            Shredder => undef,
-            Dependencies => undef,
-            @_,
-           );
-    my $deps = $args{'Dependencies'};
-    my $list = [];
-
-# Ticket
-    my $obj = $self->TicketObj;
-    if( $obj && 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 Ticket #". $self->id ." object";
-    }
-
-# TODO: Users(Creator, LastUpdatedBy)
-
-    $deps->_PushDependencies(
-            BaseObject => $self,
-            Flags => RELATES,
-            TargetObjects => $list,
-            Shredder => $args{'Shredder'}
-        );
-    return $self->SUPER::__Relates( %args );
-}
-
 1;
diff --git a/lib/RT/Shredder/User.pm b/lib/RT/Shredder/User.pm
index 1c46203..e233eac 100644
--- a/lib/RT/Shredder/User.pm
+++ b/lib/RT/Shredder/User.pm
@@ -137,48 +137,6 @@ sub __DependsOn
     return $self->SUPER::__DependsOn( %args );
 }
 
-sub __Relates
-{
-    my $self = shift;
-    my %args = (
-            Shredder => undef,
-            Dependencies => undef,
-            @_,
-           );
-    my $deps = $args{'Dependencies'};
-    my $list = [];
-
-# Principal
-    my $obj = $self->PrincipalObj;
-    if( $obj && 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 ACL equivalence Group object";
-    }
-
-    $obj = RT::Group->new( RT->SystemUser );
-    $obj->LoadACLEquivalenceGroup( $self->PrincipalObj );
-    if( $obj && 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 Principal #". $self->id ." object";
-    }
-
-    $deps->_PushDependencies(
-            BaseObject => $self,
-            Flags => RELATES,
-            TargetObjects => $list,
-            Shredder => $args{'Shredder'}
-        );
-    return $self->SUPER::__Relates( %args );
-}
-
 sub BeforeWipeout
 {
     my $self = shift;

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


More information about the Rt-commit mailing list