reverting to vendor branch rt 3.0.4, hopefully
[freeside.git] / rt / lib / RT / ObjectKeywords.pm
diff --git a/rt/lib/RT/ObjectKeywords.pm b/rt/lib/RT/ObjectKeywords.pm
deleted file mode 100644 (file)
index 5df996e..0000000
+++ /dev/null
@@ -1,234 +0,0 @@
-#$Header: /home/cvs/cvsroot/freeside/rt/lib/RT/Attic/ObjectKeywords.pm,v 1.1 2002-08-12 06:17:07 ivan Exp $
-
-package RT::ObjectKeywords;
-
-use strict;
-use vars qw( @ISA );
-
-=head1 NAME
-
-       RT::ObjectKeywords - note warning
-
-=head1 WARNING
-
-This module should B<NEVER> be called directly by client code. its API is entirely through RT ticket or other objects which can have keywords assigned.
-
-=head1 SYNOPSIS
-
-=head1 DESCRIPTION
-
-=begin testing
-
-ok (require RT::TestHarness);
-ok (require RT::ObjectKeywords);
-
-=end testing
-
-=cut
-
-use RT::EasySearch;
-use RT::ObjectKeyword;
-
-@ISA = qw( RT::EasySearch );
-
-# {{{ sub _Init
-sub _Init {
-    my $self = shift;
-    $self->{'table'} = 'ObjectKeywords';
-    $self->{'primary_key'} = 'id';
-    return ($self->SUPER::_Init(@_));
-}
-# }}}
-
-# {{{ sub NewItem
-sub NewItem {
-    my $self = shift;
-    return (new RT::ObjectKeyword($self->CurrentUser));
-}
-# }}}
-
-# {{{ sub LimitToKeywordSelect
-
-=head2 LimitToKeywordSelect
-
-  Takes a B<RT::KeywordSelect> id or Nameas its single argument. limits the returned set of ObjectKeywords
-to ObjectKeywords which apply to that ticket
-
-=cut
-
-
-sub LimitToKeywordSelect {
-    my $self = shift;
-    my $keywordselect = shift;
-    
-    if ($keywordselect =~ /^\d+$/) {
-
-       $self->Limit(FIELD => 'KeywordSelect',
-                    OPERATOR => '=',
-                    ENTRYAGGREGATOR => 'OR',
-                    VALUE => "$keywordselect");
-    }
-
-    #We're limiting by name. time to be klever
-    else {
-       my $ks = $self->NewAlias('KeywordSelects');
-       $self->Join(ALIAS1 => $ks, FIELD1 => 'id',
-                   ALIAS2 => 'main', FIELD2 => 'KeywordSelect');
-       
-       $self->Limit( ALIAS => "$ks",
-                      FIELD => 'Name',
-                      VALUE => "$keywordselect",
-                      OPERATOR => "=",
-                      ENTRYAGGREGATOR => "OR");
-
-       $self->Limit ( ALIAS => "$ks",
-                      FIELD => 'ObjectType',
-                      VALUE => 'Ticket',
-                      OPERATOR => '=',
-                    );
-
-       $self->Limit ( ALIAS => "$ks",
-                      FIELD => 'ObjectField',
-                      VALUE => 'Queue',
-                      OPERATOR => '=',
-                    );
-
-
-       # TODO +++ we need to be able to limit the returned
-       # keywordselects to ones that apply only to this queue
-       #       $self->Limit( ALIAS => "$ks",
-       #                      FIELD => 'ObjectValue',
-       #                      VALUE => $self->QueueObj->Id,
-       #                      OPERATOR => "=",
-       #                      ENTRYAGGREGATOR => "OR");        
-
-    }
-
-
-
-}
-
-# }}}
-
-# {{{ LimitToTicket
-
-=head2 LimitToTicket TICKET_ID
-
-  Takes an B<RT::Ticket> id as its single argument. limits the returned set of ObjectKeywords
-to ObjectKeywords which apply to that ticket
-
-=cut
-
-sub LimitToTicket {
-    my $self = shift;
-    my $ticket = shift;
-    $self->Limit(FIELD => 'ObjectId',
-                OPERATOR => '=',
-                ENTRYAGGREGATOR => 'OR',
-                VALUE => "$ticket");
-
-    $self->Limit(FIELD => 'ObjectType',
-                OPERATOR => '=',
-                ENTRYAGGREGATOR => 'OR',
-                VALUE => "Ticket");
-    
-}
-
-# }}}
-
-# {{{ sub _DoSearch
-#wrap around _DoSearch  so that we can build the hash of returned
-#values 
-
-sub _DoSearch {
-    my $self = shift;
-   # $RT::Logger->debug("Now in ".$self."->_DoSearch");
-    my $return = $self->SUPER::_DoSearch(@_);
-  #  $RT::Logger->debug("In $self ->_DoSearch. return from SUPER::_DoSearch was $return\n");
-    $self->_BuildHash();
-    return ($return);
-}
-# }}}
-
-# {{{ sub _BuildHash
-#Build a hash of this ACL's entries.
-sub _BuildHash {
-    my $self = shift;
-
-    while (my $entry = $self->Next) {
-
-       my $hashkey = $entry->Keyword;
-        $self->{'as_hash'}->{"$hashkey"} =1;
-    }
-
-}
-# }}}
-
-# {{{ HasEntry
-
-=head2 HasEntry KEYWORD_ID
-  
-  Takes a keyword id and returns true if this ObjectKeywords object has an entry for that
-keyword.  Returns undef otherwise.
-
-=cut
-
-sub HasEntry {
-
-    my $self = shift;
-    my $keyword = shift;
-
-
-    #if we haven't done the search yet, do it now.
-    $self->_DoSearch();
-    
-    #    $RT::Logger->debug("Now in ".$self."->HasEntry\n");
-    
-    
-    if ($self->{'as_hash'}->{ $keyword } == 1) {
-       return(1);
-    }
-    else {
-       return(undef);
-    }
-}
-
-# }}}
-
-# {{{ sub RelativePaths
-
-=head2 RelativePaths
-
-# Return a (reference to a) list of KeywordRelativePaths
-
-=cut
-
-sub RelativePaths  {
-    my $self = shift;
-
-    my @list;
-
-    # Here $key is a RT::ObjectKeyword
-    while (my $key=$self->Next()) {
-       push(@list, $key->KeywordRelativePath);
-    }
-    return(\@list);
-}
-# }}}
-
-# {{{ sub RelativePathsAsString
-
-=head2 RelativePathsAsString
-
-# Returns the RT::ObjectKeywords->RelativePaths as a comma seperated string
-
-=cut
-
-sub RelativePathsAsString {
-    my $self = shift;
-    return(join(", ",@{$self->KeywordRelativePaths}));
-}
-# }}}
-
-1;
-