From 4c39aadff40cdbdde9c5ca68906280cf66df882e Mon Sep 17 00:00:00 2001 From: sbwalker Date: Mon, 30 Mar 2026 08:29:47 -0400 Subject: [PATCH] fix #6148 - ensure cache is refreshed when CultureCode is modified --- Oqtane.Server/Services/SiteService.cs | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/Oqtane.Server/Services/SiteService.cs b/Oqtane.Server/Services/SiteService.cs index 3c356fbd..a327a0e3 100644 --- a/Oqtane.Server/Services/SiteService.cs +++ b/Oqtane.Server/Services/SiteService.cs @@ -195,13 +195,24 @@ namespace Oqtane.Services if (site.SiteId == alias.SiteId && current != null) { site = _sites.UpdateSite(site); + _syncManager.AddSyncEvent(alias, EntityNames.Site, site.SiteId, SyncEventActions.Update); - string action = SyncEventActions.Refresh; - if (current.RenderMode != site.RenderMode || current.Runtime != site.Runtime) + + string action = (current.RenderMode != site.RenderMode || current.Runtime != site.Runtime) ? SyncEventActions.Reload : SyncEventActions.Refresh; + if (current.CultureCode != site.CultureCode) { - action = SyncEventActions.Reload; + // when a culture code changes, all sites in the tenant need to be refreshed + foreach (var siteId in _sites.GetSites().Select(item => item.SiteId)) + { + _syncManager.AddSyncEvent(alias, EntityNames.Site, siteId, action); + } } - _syncManager.AddSyncEvent(alias, EntityNames.Site, site.SiteId, action); + else + { + // refresh current site + _syncManager.AddSyncEvent(alias, EntityNames.Site, site.SiteId, action); + } + _logger.Log(site.SiteId, LogLevel.Information, this, LogFunction.Update, "Site Updated {Site}", site); } else