summaryrefslogtreecommitdiff
path: root/rt/lib/RT/Groups.pm
diff options
context:
space:
mode:
authorivan <ivan>2002-08-12 06:17:09 +0000
committerivan <ivan>2002-08-12 06:17:09 +0000
commit3ef62a0570055da710328937e7f65dbb2c027c62 (patch)
treed549158b172fd499b4f81a2981b62aabbde4f99b /rt/lib/RT/Groups.pm
parent030438c9cb1c12ccb79130979ef0922097b4311a (diff)
import rt 2.0.14
Diffstat (limited to 'rt/lib/RT/Groups.pm')
-rwxr-xr-xrt/lib/RT/Groups.pm100
1 files changed, 100 insertions, 0 deletions
diff --git a/rt/lib/RT/Groups.pm b/rt/lib/RT/Groups.pm
new file mode 100755
index 000000000..f44f1fdb3
--- /dev/null
+++ b/rt/lib/RT/Groups.pm
@@ -0,0 +1,100 @@
+#$Header: /home/cvs/cvsroot/freeside/rt/lib/RT/Groups.pm,v 1.1 2002-08-12 06:17:07 ivan Exp $
+
+=head1 NAME
+
+ RT::Groups - a collection of RT::Group objects
+
+=head1 SYNOPSIS
+
+ use RT::Groups;
+ my $groups = $RT::Groups->new($CurrentUser);
+ $groups->LimitToReal();
+ while (my $group = $groups->Next()) {
+ print $group->Id ." is a group id\n";
+ }
+
+=head1 DESCRIPTION
+
+
+=head1 METHODS
+
+
+=begin testing
+
+ok (require RT::TestHarness);
+ok (require RT::Groups);
+
+=end testing
+
+=cut
+
+package RT::Groups;
+use RT::EasySearch;
+use RT::Groups;
+
+@ISA= qw(RT::EasySearch);
+
+# {{{ sub _Init
+
+sub _Init {
+ my $self = shift;
+ $self->{'table'} = "Groups";
+ $self->{'primary_key'} = "id";
+
+ $self->OrderBy( ALIAS => 'main',
+ FIELD => 'Name',
+ ORDER => 'ASC');
+
+
+ return ( $self->SUPER::_Init(@_));
+}
+# }}}
+
+# {{{ LimitToReal
+
+=head2 LimitToReal
+
+Make this groups object return only "real" groups, which can be
+granted rights and have members assigned to them
+
+=cut
+
+sub LimitToReal {
+ my $self = shift;
+
+ return ($self->Limit( FIELD => 'Pseudo',
+ VALUE => '0',
+ OPERATOR => '='));
+
+}
+# }}}
+
+# {{{ sub LimitToPseudo
+
+=head2 LimitToPseudo
+
+Make this groups object return only "pseudo" groups, which can be
+granted rights but whose membership lists are determined dynamically.
+
+=cut
+
+ sub LimitToPseudo {
+ my $self = shift;
+
+ return ($self->Limit( FIELD => 'Pseudo',
+ VALUE => '1',
+ OPERATOR => '='));
+
+}
+# }}}
+
+# {{{ sub NewItem
+sub NewItem {
+ my $self = shift;
+ return (RT::Group->new($self->CurrentUser));
+}
+# }}}
+
+
+1;
+