Skip saving template file when using runtime mode Production
This commit is contained in:
@@ -1,8 +1,10 @@
|
||||
using System.Text;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Microsoft.Extensions.Options;
|
||||
using NPoco;
|
||||
using Umbraco.Cms.Core;
|
||||
using Umbraco.Cms.Core.Cache;
|
||||
using Umbraco.Cms.Core.Configuration.Models;
|
||||
using Umbraco.Cms.Core.IO;
|
||||
using Umbraco.Cms.Core.Models;
|
||||
using Umbraco.Cms.Core.Models.Entities;
|
||||
@@ -24,17 +26,26 @@ internal class TemplateRepository : EntityRepositoryBase<int, ITemplate>, ITempl
|
||||
{
|
||||
private readonly IIOHelper _ioHelper;
|
||||
private readonly IShortStringHelper _shortStringHelper;
|
||||
private readonly IViewHelper _viewHelper;
|
||||
private readonly IFileSystem? _viewsFileSystem;
|
||||
private readonly IViewHelper _viewHelper;
|
||||
private readonly IOptionsMonitor<RuntimeSettings> _runtimeSettings;
|
||||
|
||||
public TemplateRepository(IScopeAccessor scopeAccessor, AppCaches cache, ILogger<TemplateRepository> logger,
|
||||
FileSystems fileSystems, IIOHelper ioHelper, IShortStringHelper shortStringHelper, IViewHelper viewHelper)
|
||||
public TemplateRepository(
|
||||
IScopeAccessor scopeAccessor,
|
||||
AppCaches cache,
|
||||
ILogger<TemplateRepository> logger,
|
||||
FileSystems fileSystems,
|
||||
IIOHelper ioHelper,
|
||||
IShortStringHelper shortStringHelper,
|
||||
IViewHelper viewHelper,
|
||||
IOptionsMonitor<RuntimeSettings> runtimeSettings)
|
||||
: base(scopeAccessor, cache, logger)
|
||||
{
|
||||
_ioHelper = ioHelper;
|
||||
_shortStringHelper = shortStringHelper;
|
||||
_viewsFileSystem = fileSystems.MvcViewsFileSystem;
|
||||
_viewHelper = viewHelper;
|
||||
_runtimeSettings = runtimeSettings;
|
||||
}
|
||||
|
||||
public Stream GetFileContentStream(string filepath)
|
||||
@@ -421,8 +432,12 @@ internal class TemplateRepository : EntityRepositoryBase<int, ITemplate>, ITempl
|
||||
template.Id = nodeDto.NodeId; //Set Id on entity to ensure an Id is set
|
||||
template.Path = nodeDto.Path;
|
||||
|
||||
//now do the file work
|
||||
SaveFile(template);
|
||||
// Only save file when not in production runtime mode
|
||||
if (_runtimeSettings.CurrentValue.Mode != RuntimeMode.Production)
|
||||
{
|
||||
//now do the file work
|
||||
SaveFile(template);
|
||||
}
|
||||
|
||||
template.ResetDirtyProperties();
|
||||
|
||||
@@ -476,8 +491,12 @@ internal class TemplateRepository : EntityRepositoryBase<int, ITemplate>, ITempl
|
||||
IEnumerable<IUmbracoEntity> axisDefs = GetAxisDefinitions(dto);
|
||||
template.IsMasterTemplate = axisDefs.Any(x => x.ParentId == dto.NodeId);
|
||||
|
||||
//now do the file work
|
||||
SaveFile((Template)entity, originalAlias);
|
||||
// Only save file when not in production runtime mode
|
||||
if (_runtimeSettings.CurrentValue.Mode != RuntimeMode.Production)
|
||||
{
|
||||
//now do the file work
|
||||
SaveFile((Template)entity, originalAlias);
|
||||
}
|
||||
|
||||
entity.ResetDirtyProperties();
|
||||
|
||||
|
||||
@@ -5,10 +5,12 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Microsoft.Extensions.Options;
|
||||
using Moq;
|
||||
using NUnit.Framework;
|
||||
using Umbraco.Cms.Core;
|
||||
using Umbraco.Cms.Core.Cache;
|
||||
using Umbraco.Cms.Core.Configuration.Models;
|
||||
using Umbraco.Cms.Core.IO;
|
||||
using Umbraco.Cms.Core.Mapping;
|
||||
using Umbraco.Cms.Core.Models;
|
||||
@@ -84,7 +86,8 @@ public class ContentTypeRepositoryTest : UmbracoIntegrationTest
|
||||
FileSystems,
|
||||
IOHelper,
|
||||
ShortStringHelper,
|
||||
Mock.Of<IViewHelper>());
|
||||
Mock.Of<IViewHelper>(),
|
||||
Mock.Of<IOptionsMonitor<RuntimeSettings>>());
|
||||
var repository = ContentTypeRepository;
|
||||
Template[] templates =
|
||||
{
|
||||
|
||||
@@ -111,7 +111,7 @@ public class DocumentRepositoryTest : UmbracoIntegrationTest
|
||||
{
|
||||
appCaches ??= AppCaches;
|
||||
|
||||
templateRepository = new TemplateRepository(scopeAccessor, appCaches, LoggerFactory.CreateLogger<TemplateRepository>(), FileSystems, IOHelper, ShortStringHelper, Mock.Of<IViewHelper>());
|
||||
templateRepository = new TemplateRepository(scopeAccessor, appCaches, LoggerFactory.CreateLogger<TemplateRepository>(), FileSystems, IOHelper, ShortStringHelper, Mock.Of<IViewHelper>(), Mock.Of<IOptionsMonitor<RuntimeSettings>>());
|
||||
var tagRepository = new TagRepository(scopeAccessor, appCaches, LoggerFactory.CreateLogger<TagRepository>());
|
||||
var commonRepository =
|
||||
new ContentTypeCommonRepository(scopeAccessor, templateRepository, appCaches, ShortStringHelper);
|
||||
|
||||
@@ -7,6 +7,7 @@ using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Microsoft.Extensions.Options;
|
||||
using Moq;
|
||||
using NUnit.Framework;
|
||||
using Umbraco.Cms.Core;
|
||||
@@ -59,7 +60,7 @@ public class TemplateRepositoryTest : UmbracoIntegrationTest
|
||||
private IViewHelper ViewHelper => GetRequiredService<IViewHelper>();
|
||||
|
||||
private ITemplateRepository CreateRepository(IScopeProvider provider) =>
|
||||
new TemplateRepository((IScopeAccessor)provider, AppCaches.Disabled, LoggerFactory.CreateLogger<TemplateRepository>(), FileSystems, IOHelper, ShortStringHelper, ViewHelper);
|
||||
new TemplateRepository((IScopeAccessor)provider, AppCaches.Disabled, LoggerFactory.CreateLogger<TemplateRepository>(), FileSystems, IOHelper, ShortStringHelper, ViewHelper, Mock.Of<IOptionsMonitor<RuntimeSettings>>());
|
||||
|
||||
[Test]
|
||||
public void Can_Instantiate_Repository()
|
||||
|
||||
Reference in New Issue
Block a user