From 2ec38b1407867b364abb5cbf547eabfc4aa3e01c Mon Sep 17 00:00:00 2001 From: Colin Kuskie Date: Thu, 1 Nov 2012 17:52:51 -0700 Subject: [PATCH] When Group->new is called with a group that doesn't exist, it returns a faked Group object. Calling delete on this object fails for some Cache types. --- docs/changelog/7.x.x.txt | 1 + lib/WebGUI/Group.pm | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index 54fce78b7..a0133e4a1 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -1,4 +1,5 @@ 7.10.28 + - fixed: Clearing the caches for groups that don't exist, but have created group objects. 7.10.27 - fixed #12379: userImport documentation error diff --git a/lib/WebGUI/Group.pm b/lib/WebGUI/Group.pm index fa456f092..b4a0ecad9 100644 --- a/lib/WebGUI/Group.pm +++ b/lib/WebGUI/Group.pm @@ -277,7 +277,8 @@ sub clearCaches { my $session = $self->session; ##Clear my cache and the cache of all groups above me. my $groups = $self->getAllGroupsFor(); - foreach my $groupId ( $self->getId, @{ $groups } ) { + GROUPID: foreach my $groupId ( $self->getId, @{ $groups } ) { + next GROUPID if !$groupId; WebGUI::Cache->new($session, $groupId)->delete; WebGUI::Cache->new($session, ["groupMembers", $groupId])->delete; }