diff options
Diffstat (limited to 'rt/lib/RT/Keywords.pm')
-rw-r--r-- | rt/lib/RT/Keywords.pm | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/rt/lib/RT/Keywords.pm b/rt/lib/RT/Keywords.pm new file mode 100644 index 000000000..a9ecda2bc --- /dev/null +++ b/rt/lib/RT/Keywords.pm @@ -0,0 +1,106 @@ +#$Header: /home/cvs/cvsroot/freeside/rt/lib/RT/Attic/Keywords.pm,v 1.1 2002-08-12 06:17:07 ivan Exp $ + +=head1 NAME + + RT::Keywords - a collection of RT::Keyword objects + +=head1 SYNOPSIS + + use RT::Keywords; + my $keywords = RT::Keywords->new($user); + $keywords->LimitToParent(0); + while my ($keyword = $keywords->Next()) { + print $keyword->Name ."\n"; + } + + +=head1 DESCRIPTION + + +=head1 METHODS + +=begin testing + +ok (require RT::TestHarness); +ok (require RT::Keywords); + +=end testing + +=cut + +package RT::Keywords; + +use strict; +use vars qw( @ISA ); +use RT::EasySearch; +use RT::Keyword; + +@ISA = qw( RT::EasySearch ); + + +# {{{ sub _Init + +sub _Init { + my $self = shift; + $self->{'table'} = 'Keywords'; + $self->{'primary_key'} = 'id'; + + # By default, order by name + $self->OrderBy( ALIAS => 'main', + FIELD => 'Name', + ORDER => 'ASC'); + + return ($self->SUPER::_Init(@_)); +} +# }}} + +# {{{ sub _DoSearch + +=head2 _DoSearch + + A subclass of DBIx::SearchBuilder::_DoSearch that makes sure that _Disabled rows never get seen unless +we're explicitly trying to see them. + +=cut + +sub _DoSearch { + my $self = shift; + + #unless we really want to find disabled rows, make sure we\'re only finding enabled ones. + unless($self->{'find_disabled_rows'}) { + $self->LimitToEnabled(); + } + + return($self->SUPER::_DoSearch(@_)); + +} + +# }}} + +# {{{ sub NewItem +sub NewItem { + my $self = shift; + return (RT::Keyword->new($self->CurrentUser)); +} +# }}} + +# {{{ sub LimitToParent + +=head2 LimitToParent + +Takes a parent id and limits the returned keywords to children of that parent. + +=cut + +sub LimitToParent { + my $self = shift; + my $parent = shift; + $self->Limit( FIELD => 'Parent', + VALUE => $parent, + OPERATOR => '=', + ENTRYAGGREGATOR => 'OR' ); +} +# }}} + +1; + |