Fix User.t so that it assigns IPs in a way that works with the new isInGroup code.

User.pm: Collapse all methods into getUsers(1) inside isInGroup
Group.pm: Disable the cache whenever a scratchFilter or ipFilter is assigned.
Begin updating Group documentation for changes to dbQuery
This commit is contained in:
Colin Kuskie 2006-04-12 23:33:11 +00:00
parent 649e5bac06
commit ad694fb030
4 changed files with 27 additions and 19 deletions

View file

@ -258,20 +258,18 @@ sub isInGroup {
return 1 if ($gid eq '2' && $uid ne '1'); # if you're not a visitor, then you're a registered user
return 1 if ($uid eq '3'); #Admin is in every group
### Get data for auxillary checks.
my $group = WebGUI::Group->new($self->session,$gid);
my $isInGroup = $self->session->stow->get("isInGroup");
### Look to see if we've already looked up this group.
return $isInGroup->{$uid}{$gid} if exists $isInGroup->{$uid}{$gid};
### Lookup the actual groupings.
unless ($secondRun) { # don't look up users if we've already done it once.
### Check for groups of groups.
my $users = $group->getUsers(1);
foreach my $user (@{$users}) {
$isInGroup->{$user}{$gid} = 1;
if ($uid eq $user) {
$self->session->stow->set("isInGroup",$isInGroup);
return 1;
}
my $group = WebGUI::Group->new($self->session,$gid);
### Check for groups of groups.
my $users = $group->getUsers(1);
foreach my $user (@{$users}) {
$isInGroup->{$user}{$gid} = 1;
if ($uid eq $user) {
$self->session->stow->set("isInGroup",$isInGroup);
return 1;
}
}