Merge branch 'v8/8.5' into v8/dev

# Conflicts:
#	src/SolutionInfo.cs
This commit is contained in:
Warren Buckley
2020-01-03 11:59:05 +00:00
100 changed files with 2125 additions and 3146 deletions

View File

@@ -6,7 +6,7 @@ using Umbraco.Core.Composing;
namespace Umbraco.Web.Editors
{
internal class EditorValidatorCollection : BuilderCollectionBase<IEditorValidator>
public class EditorValidatorCollection : BuilderCollectionBase<IEditorValidator>
{
public EditorValidatorCollection(IEnumerable<IEditorValidator> items)
: base(items)

View File

@@ -2,7 +2,7 @@
namespace Umbraco.Web.Editors
{
internal class EditorValidatorCollectionBuilder : LazyCollectionBuilderBase<EditorValidatorCollectionBuilder, EditorValidatorCollection, IEditorValidator>
public class EditorValidatorCollectionBuilder : LazyCollectionBuilderBase<EditorValidatorCollectionBuilder, EditorValidatorCollection, IEditorValidator>
{
protected override EditorValidatorCollectionBuilder This => this;
}

View File

@@ -14,9 +14,7 @@ namespace Umbraco.Web.Editors
// initialized with all IEditorValidator instances
//
// validation is used exclusively in ContentTypeControllerBase
// the whole thing is internal at the moment, never released
// and, there are no IEditorValidator implementation in Core
// so... this all mechanism is basically useless
// currently the only implementations are for Models Builder.
/// <summary>
/// Provides a general object validator.

View File

@@ -323,7 +323,6 @@ namespace Umbraco.Web.Editors
/// Finds partial view files in app plugin folders.
/// </summary>
/// <returns>
/// The <see cref="IEnumerable"/>.
/// </returns>
private IEnumerable<string> FindPartialViewFilesInPluginFolders()
{

View File

@@ -51,29 +51,35 @@ namespace Umbraco.Web.Editors
}
//collect all tour files in packages
foreach (var plugin in Directory.EnumerateDirectories(IOHelper.MapPath(SystemDirectories.AppPlugins)))
var appPlugins = IOHelper.MapPath(SystemDirectories.AppPlugins);
if (Directory.Exists(appPlugins))
{
var pluginName = Path.GetFileName(plugin.TrimEnd('\\'));
var pluginFilters = _filters.Where(x => x.PluginName != null && x.PluginName.IsMatch(pluginName)).ToList();
//If there is any filter applied to match the plugin only (no file or tour alias) then ignore the plugin entirely
var isPluginFiltered = pluginFilters.Any(x => x.TourFileName == null && x.TourAlias == null);
if (isPluginFiltered) continue;
//combine matched package filters with filters not specific to a package
var combinedFilters = nonPluginFilters.Concat(pluginFilters).ToList();
foreach (var backofficeDir in Directory.EnumerateDirectories(plugin, "backoffice"))
foreach (var plugin in Directory.EnumerateDirectories(appPlugins))
{
foreach (var tourDir in Directory.EnumerateDirectories(backofficeDir, "tours"))
var pluginName = Path.GetFileName(plugin.TrimEnd('\\'));
var pluginFilters = _filters.Where(x => x.PluginName != null && x.PluginName.IsMatch(pluginName))
.ToList();
//If there is any filter applied to match the plugin only (no file or tour alias) then ignore the plugin entirely
var isPluginFiltered = pluginFilters.Any(x => x.TourFileName == null && x.TourAlias == null);
if (isPluginFiltered) continue;
//combine matched package filters with filters not specific to a package
var combinedFilters = nonPluginFilters.Concat(pluginFilters).ToList();
foreach (var backofficeDir in Directory.EnumerateDirectories(plugin, "backoffice"))
{
foreach (var tourFile in Directory.EnumerateFiles(tourDir, "*.json"))
foreach (var tourDir in Directory.EnumerateDirectories(backofficeDir, "tours"))
{
TryParseTourFile(tourFile, result, combinedFilters, aliasOnlyFilters, pluginName);
foreach (var tourFile in Directory.EnumerateFiles(tourDir, "*.json"))
{
TryParseTourFile(tourFile, result, combinedFilters, aliasOnlyFilters, pluginName);
}
}
}
}
}
//Get all allowed sections for the current user
var allowedSections = user.AllowedSections.ToList();