Check if masterpage file exists before populating it (could've been deleted from disk)
This commit is contained in:
@@ -23,20 +23,20 @@ namespace Umbraco.Core.Persistence.Repositories
|
|||||||
private IFileSystem _masterpagesFileSystem;
|
private IFileSystem _masterpagesFileSystem;
|
||||||
private IFileSystem _viewsFileSystem;
|
private IFileSystem _viewsFileSystem;
|
||||||
|
|
||||||
public TemplateRepository(IDatabaseUnitOfWork work)
|
public TemplateRepository(IDatabaseUnitOfWork work)
|
||||||
: base(work)
|
: base(work)
|
||||||
{
|
{
|
||||||
EnsureDepedencies();
|
EnsureDepedencies();
|
||||||
}
|
}
|
||||||
|
|
||||||
public TemplateRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache)
|
public TemplateRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache)
|
||||||
: base(work, cache)
|
: base(work, cache)
|
||||||
{
|
{
|
||||||
EnsureDepedencies();
|
EnsureDepedencies();
|
||||||
}
|
}
|
||||||
|
|
||||||
internal TemplateRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache, IFileSystem masterpageFileSystem, IFileSystem viewFileSystem)
|
internal TemplateRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache, IFileSystem masterpageFileSystem, IFileSystem viewFileSystem)
|
||||||
: base(work, cache)
|
: base(work, cache)
|
||||||
{
|
{
|
||||||
_masterpagesFileSystem = masterpageFileSystem;
|
_masterpagesFileSystem = masterpageFileSystem;
|
||||||
_viewsFileSystem = viewFileSystem;
|
_viewsFileSystem = viewFileSystem;
|
||||||
@@ -74,17 +74,20 @@ namespace Umbraco.Core.Persistence.Repositories
|
|||||||
template.MasterTemplateId = dto.Master.Value;
|
template.MasterTemplateId = dto.Master.Value;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(_viewsFileSystem.FileExists(csViewName))
|
if (_viewsFileSystem.FileExists(csViewName))
|
||||||
{
|
{
|
||||||
PopulateViewTemplate(template, csViewName);
|
PopulateViewTemplate(template, csViewName);
|
||||||
}
|
}
|
||||||
else if(_viewsFileSystem.FileExists(vbViewName))
|
else if (_viewsFileSystem.FileExists(vbViewName))
|
||||||
{
|
{
|
||||||
PopulateViewTemplate(template, vbViewName);
|
PopulateViewTemplate(template, vbViewName);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
PopulateMasterpageTemplate(template, masterpageName);
|
if (_masterpagesFileSystem.FileExists(masterpageName))
|
||||||
|
{
|
||||||
|
PopulateMasterpageTemplate(template, masterpageName);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return template;
|
return template;
|
||||||
@@ -164,9 +167,9 @@ namespace Umbraco.Core.Persistence.Repositories
|
|||||||
|
|
||||||
protected override void PersistNewItem(ITemplate entity)
|
protected override void PersistNewItem(ITemplate entity)
|
||||||
{
|
{
|
||||||
using(var stream = new MemoryStream(Encoding.UTF8.GetBytes(entity.Content)))
|
using (var stream = new MemoryStream(Encoding.UTF8.GetBytes(entity.Content)))
|
||||||
{
|
{
|
||||||
if(entity.GetTypeOfRenderingEngine() == RenderingEngine.Mvc)
|
if (entity.GetTypeOfRenderingEngine() == RenderingEngine.Mvc)
|
||||||
{
|
{
|
||||||
_viewsFileSystem.AddFile(entity.Name, stream, true);
|
_viewsFileSystem.AddFile(entity.Name, stream, true);
|
||||||
}
|
}
|
||||||
@@ -337,7 +340,7 @@ namespace Umbraco.Core.Persistence.Repositories
|
|||||||
|
|
||||||
public IEnumerable<ITemplate> GetAll(params string[] aliases)
|
public IEnumerable<ITemplate> GetAll(params string[] aliases)
|
||||||
{
|
{
|
||||||
if(aliases.Any())
|
if (aliases.Any())
|
||||||
{
|
{
|
||||||
foreach (var id in aliases)
|
foreach (var id in aliases)
|
||||||
{
|
{
|
||||||
@@ -352,7 +355,7 @@ namespace Umbraco.Core.Persistence.Repositories
|
|||||||
yield return Get(nodeDto.NodeId);
|
yield return Get(nodeDto.NodeId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|||||||
Reference in New Issue
Block a user