handle caching in Global Replace
This commit is contained in:
@@ -6,6 +6,7 @@ using Microsoft.Extensions.DependencyInjection;
|
|||||||
using Oqtane.Models;
|
using Oqtane.Models;
|
||||||
using Oqtane.Modules;
|
using Oqtane.Modules;
|
||||||
using Oqtane.Repository;
|
using Oqtane.Repository;
|
||||||
|
using Oqtane.Shared;
|
||||||
|
|
||||||
namespace Oqtane.Infrastructure
|
namespace Oqtane.Infrastructure
|
||||||
{
|
{
|
||||||
@@ -19,6 +20,8 @@ namespace Oqtane.Infrastructure
|
|||||||
var siteRepository = provider.GetRequiredService<ISiteRepository>();
|
var siteRepository = provider.GetRequiredService<ISiteRepository>();
|
||||||
var pageRepository = provider.GetRequiredService<IPageRepository>();
|
var pageRepository = provider.GetRequiredService<IPageRepository>();
|
||||||
var pageModuleRepository = provider.GetRequiredService<IPageModuleRepository>();
|
var pageModuleRepository = provider.GetRequiredService<IPageModuleRepository>();
|
||||||
|
var TenantManager = provider.GetRequiredService<ITenantManager>();
|
||||||
|
var syncManager = provider.GetRequiredService<ISyncManager>();
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(parameters))
|
if (!string.IsNullOrEmpty(parameters))
|
||||||
{
|
{
|
||||||
@@ -28,6 +31,7 @@ namespace Oqtane.Infrastructure
|
|||||||
var find = globalReplace.Find;
|
var find = globalReplace.Find;
|
||||||
var replace = globalReplace.Replace;
|
var replace = globalReplace.Replace;
|
||||||
var comparisonType = (globalReplace.CaseSensitive) ? StringComparison.Ordinal : StringComparison.OrdinalIgnoreCase;
|
var comparisonType = (globalReplace.CaseSensitive) ? StringComparison.Ordinal : StringComparison.OrdinalIgnoreCase;
|
||||||
|
var refresh = false;
|
||||||
|
|
||||||
log += $"Replacing: '{find}' With: '{replace}' Case Sensitive: {globalReplace.CaseSensitive}<br />";
|
log += $"Replacing: '{find}' With: '{replace}' Case Sensitive: {globalReplace.CaseSensitive}<br />";
|
||||||
|
|
||||||
@@ -53,6 +57,7 @@ namespace Oqtane.Infrastructure
|
|||||||
{
|
{
|
||||||
siteRepository.UpdateSite(site);
|
siteRepository.UpdateSite(site);
|
||||||
log += $"Site Updated<br />";
|
log += $"Site Updated<br />";
|
||||||
|
refresh = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
var pages = pageRepository.GetPages(site.SiteId).ToList();
|
var pages = pageRepository.GetPages(site.SiteId).ToList();
|
||||||
@@ -87,6 +92,7 @@ namespace Oqtane.Infrastructure
|
|||||||
{
|
{
|
||||||
pageRepository.UpdatePage(page);
|
pageRepository.UpdatePage(page);
|
||||||
log += $"Page Updated: /{page.Path}<br />";
|
log += $"Page Updated: /{page.Path}<br />";
|
||||||
|
refresh = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach (var pageModule in pageModules.Where(item => item.PageId == page.PageId))
|
foreach (var pageModule in pageModules.Where(item => item.PageId == page.PageId))
|
||||||
@@ -112,6 +118,7 @@ namespace Oqtane.Infrastructure
|
|||||||
{
|
{
|
||||||
pageModuleRepository.UpdatePageModule(pageModule);
|
pageModuleRepository.UpdatePageModule(pageModule);
|
||||||
log += $"Module Updated: {pageModule.Title} Page: /{page.Path}<br />";
|
log += $"Module Updated: {pageModule.Title} Page: /{page.Path}<br />";
|
||||||
|
refresh = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// module content
|
// module content
|
||||||
@@ -139,6 +146,12 @@ namespace Oqtane.Infrastructure
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (refresh)
|
||||||
|
{
|
||||||
|
// clear cache
|
||||||
|
syncManager.AddSyncEvent(TenantManager.GetAlias(), EntityNames.Site, site.SiteId, SyncEventActions.Refresh);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user