From 2b957305308a551630334ba1f66a155090c232ff Mon Sep 17 00:00:00 2001 From: Sebastien Ros Date: Mon, 2 Jul 2012 10:57:40 -0700 Subject: [PATCH] #18685, #18673: Fixing multi tenancy actions (edit and disable) Work Items: 18673, 18685 --HG-- branch : 1.x --- src/Orchard/Environment/DefaultOrchardHost.cs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/Orchard/Environment/DefaultOrchardHost.cs b/src/Orchard/Environment/DefaultOrchardHost.cs index 2de81037c..b0486efb5 100644 --- a/src/Orchard/Environment/DefaultOrchardHost.cs +++ b/src/Orchard/Environment/DefaultOrchardHost.cs @@ -229,8 +229,9 @@ namespace Orchard.Environment { /// void IShellSettingsManagerEventHandler.Saved(ShellSettings settings) { lock (_syncLock) { - // if a tenant has been altered, and is not disabled or invalid, reload it - if (settings.State.CurrentState != TenantState.State.Disabled && settings.State.CurrentState != TenantState.State.Invalid) { + + // if a tenant has been altered, and is not invalid, reload it + if (settings.State.CurrentState != TenantState.State.Invalid) { _tenantsToRestart = _tenantsToRestart.Where(x => x.Name != settings.Name).Union(new[] { settings }); } } @@ -240,8 +241,8 @@ namespace Orchard.Environment { // look for the associated shell context var shellContext = _shellContexts.FirstOrDefault(c => c.Settings.Name == settings.Name); - // is this is a new tenant ? - if (shellContext == null) { + // is this is a new tenant ? or is it a tenant waiting for setup ? + if (shellContext == null || settings.State.CurrentState == TenantState.State.Uninitialized) { // create the Shell var context = CreateShellContext(settings);