summaryrefslogtreecommitdiff
path: root/rt/lib/RT/Watchers.pm
diff options
context:
space:
mode:
Diffstat (limited to 'rt/lib/RT/Watchers.pm')
-rwxr-xr-xrt/lib/RT/Watchers.pm226
1 files changed, 0 insertions, 226 deletions
diff --git a/rt/lib/RT/Watchers.pm b/rt/lib/RT/Watchers.pm
deleted file mode 100755
index c55adda..0000000
--- a/rt/lib/RT/Watchers.pm
+++ /dev/null
@@ -1,226 +0,0 @@
-# $Header: /home/cvs/cvsroot/freeside/rt/lib/RT/Attic/Watchers.pm,v 1.1 2002-08-12 06:17:07 ivan Exp $
-# (c) 1996-2000 Jesse Vincent <jesse@fsck.com>
-# This software is redistributable under the terms of the GNU GPL
-
-=head1 NAME
-
- RT::Watchers - Collection of RT Watcher objects
-
-=head1 SYNOPSIS
-
- use RT::Watchers;
- my $watchers = new RT::Watchers($CurrentUser);
- while (my $watcher = $watchers->Next()) {
- print $watcher->Id . "is a watcher";
- }
-
-=head1 DESCRIPTION
-
-This module should never be called directly by client code. it's an internal module which
-should only be accessed through exported APIs in Ticket, Queue and other similar objects.
-
-
-=head1 METHODS
-
-=begin testing
-
-ok(require RT::TestHarness);
-ok(require RT::Watchers);
-
-=end testing
-
-=cut
-
-package RT::Watchers;
-
-use strict;
-use vars qw( @ISA );
-
-
-require RT::EasySearch;
-require RT::Watcher;
-@ISA= qw(RT::EasySearch);
-
-
-# {{{ sub _Init
-sub _Init {
- my $self = shift;
-
- $self->{'table'} = "Watchers";
- $self->{'primary_key'} = "id";
- return($self->SUPER::_Init(@_));
-}
-# }}}
-
-# {{{ sub Limit
-
-=head2 Limit
-
- A wrapper around RT::EasySearch::Limit which sets
-the default entry aggregator to 'AND'
-
-=cut
-
-sub Limit {
- my $self = shift;
- my %args = ( ENTRYAGGREGATOR => 'AND',
- @_);
-
- $self->SUPER::Limit(%args);
-}
-# }}}
-
-# {{{ sub LimitToTicket
-
-=head2 LimitToTicket
-
-Takes a single arg which is a ticket id
-Limits to watchers of that ticket
-
-=cut
-
-sub LimitToTicket {
- my $self = shift;
- my $ticket = shift;
- $self->Limit( ENTRYAGGREGATOR => 'OR',
- FIELD => 'Value',
- VALUE => $ticket);
- $self->Limit (ENTRYAGGREGATOR => 'AND',
- FIELD => 'Scope',
- VALUE => 'Ticket');
-}
-# }}}
-
-# {{{ sub LimitToQueue
-
-=head2 LimitToQueue
-
-Takes a single arg, which is a queue id
-Limits to watchers of that queue.
-
-=cut
-
-sub LimitToQueue {
- my $self = shift;
- my $queue = shift;
- $self->Limit (ENTRYAGGREGATOR => 'OR',
- FIELD => 'Value',
- VALUE => $queue);
- $self->Limit (ENTRYAGGREGATOR => 'AND',
- FIELD => 'Scope',
- VALUE => 'Queue');
-}
-# }}}
-
-# {{{ sub LimitToType
-
-=head2 LimitToType
-
-Takes a single string as its argument. That string is a watcher type
-which is one of 'Requestor', 'Cc' or 'AdminCc'
-Limits to watchers of that type
-
-=cut
-
-
-sub LimitToType {
- my $self = shift;
- my $type = shift;
- $self->Limit(FIELD => 'Type',
- VALUE => "$type");
-}
-# }}}
-
-# {{{ sub LimitToRequestors
-
-=head2 LimitToRequestors
-
-Limits to watchers of type 'Requestor'
-
-=cut
-
-sub LimitToRequestors {
- my $self = shift;
- $self->LimitToType("Requestor");
-}
-# }}}
-
-# {{{ sub LimitToCc
-
-=head2 LimitToCc
-
-Limits to watchers of type 'Cc'
-
-=cut
-
-sub LimitToCc {
- my $self = shift;
- $self->LimitToType("Cc");
-}
-# }}}
-
-# {{{ sub LimitToAdminCc
-
-=head2 LimitToAdminCc
-
-Limits to watchers of type AdminCc
-
-=cut
-
-sub LimitToAdminCc {
- my $self = shift;
- $self->LimitToType("AdminCc");
-}
-# }}}
-
-# {{{ sub Emails
-
-=head2 Emails
-
-# Return a (reference to a) list of emails
-
-=cut
-
-sub Emails {
- my $self = shift;
- my @list; # List is a list of watcher email addresses
-
- # $watcher is an RT::Watcher object
- while (my $watcher=$self->Next()) {
- push(@list, $watcher->Email);
- }
- return \@list;
-}
-# }}}
-
-# {{{ sub EmailsAsString
-
-=head2 EmailsAsString
-
-# Returns the RT::Watchers->Emails as a comma seperated string
-
-=cut
-
-sub EmailsAsString {
- my $self = shift;
- return(join(", ",@{$self->Emails}));
-}
-# }}}
-
-# {{{ sub NewItem
-
-
-
-sub NewItem {
- my $self = shift;
-
- use RT::Watcher;
- my $item = new RT::Watcher($self->CurrentUser);
- return($item);
-}
-# }}}
-1;
-
-
-
-