From 1e921362fcac33120eea71d23b9f6e1e04b03b1a Mon Sep 17 00:00:00 2001 From: Luke Hudson Date: Tue, 2 Mar 2010 22:46:27 +0000 Subject: [PATCH] BUGFIX: Sam's fix for "Unknown column Group.SubsiteID" with new subsites git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/branches/2.4@100375 467b73ca-7a2a-4603-9d3b-597d59a354a9 --- security/Security.php | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/security/Security.php b/security/Security.php index a9006cb05..9709bed71 100644 --- a/security/Security.php +++ b/security/Security.php @@ -619,14 +619,22 @@ class Security extends Controller { */ static function findAnAdministrator() { // coupling to subsites module - $subsiteCheck = class_exists('GroupSubsites') ? ' AND "Group"."SubsiteID" = 0' : ''; - + $origSubsite = null; + if(is_callable('Subsite::changeSubsite')) { + $origSubsite = Subsite::currentSubsiteID(); + Subsite::changeSubsite(0); + } + // find a group with ADMIN permission $adminGroup = DataObject::get('Group', - "\"Permission\".\"Code\" = 'ADMIN'$subsiteCheck", + "\"Permission\".\"Code\" = 'ADMIN'", "\"Group\".\"ID\"", "JOIN \"Permission\" ON \"Group\".\"ID\"=\"Permission\".\"GroupID\"", '1'); + + if(is_callable('Subsite::changeSubsite')) { + Subsite::changeSubsite($origSubsite); + } if ($adminGroup) { $adminGroup = $adminGroup->First();