From 2ec10f698830563da1d566e4711331b79a9a9e5c Mon Sep 17 00:00:00 2001 From: "a.skorina" Date: Fri, 9 Jan 2015 11:48:38 +0300 Subject: [PATCH] webdav portal web.config file added to ignore --- .../Config/Entities/ElementsRendering.cs | 7 ++++++- .../Controllers/FileSystemController.cs | 3 ++- WebsitePanel/Sources/WebsitePanel.WebDavPortal/Web.config | 2 +- .../WebConfigSections/ElementsRenderingElement.cs | 8 ++++++++ 4 files changed, 17 insertions(+), 3 deletions(-) diff --git a/WebsitePanel/Sources/WebsitePanel.WebDavPortal/Config/Entities/ElementsRendering.cs b/WebsitePanel/Sources/WebsitePanel.WebDavPortal/Config/Entities/ElementsRendering.cs index 04a1105d..c5703a8a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebDavPortal/Config/Entities/ElementsRendering.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebDavPortal/Config/Entities/ElementsRendering.cs @@ -1,14 +1,19 @@ -namespace WebsitePanel.WebDavPortal.Config.Entities +using System.Collections.Generic; +using System.Linq; + +namespace WebsitePanel.WebDavPortal.Config.Entities { public class ElementsRendering : AbstractConfigCollection { public int DefaultCount { get; private set; } public int AddElementsCount { get; private set; } + public List ElementsToIgnore { get; private set; } public ElementsRendering() { DefaultCount = ConfigSection.ElementsRendering.DefaultCount; AddElementsCount = ConfigSection.ElementsRendering.AddElementsCount; + ElementsToIgnore = ConfigSection.ElementsRendering.ElementsToIgnore.Split(',').ToList(); } } } \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebDavPortal/Controllers/FileSystemController.cs b/WebsitePanel/Sources/WebsitePanel.WebDavPortal/Controllers/FileSystemController.cs index c8d77ab4..482a1fea 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebDavPortal/Controllers/FileSystemController.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebDavPortal/Controllers/FileSystemController.cs @@ -41,7 +41,8 @@ namespace WebsitePanel.WebDavPortal.Controllers try { webDavManager.OpenFolder(pathPart); - IEnumerable children = webDavManager.GetChildren(); + IEnumerable children = webDavManager.GetChildren().Where(x => !WebDavAppConfigManager.Instance.ElementsRendering.ElementsToIgnore.Contains(x.DisplayName.Trim('/'))); + var model = new ModelForWebDav { Items = children.Take(WebDavAppConfigManager.Instance.ElementsRendering.DefaultCount), UrlSuffix = pathPart }; Session[WebDavAppConfigManager.Instance.SessionKeys.ResourseRenderCount] = WebDavAppConfigManager.Instance.ElementsRendering.DefaultCount; diff --git a/WebsitePanel/Sources/WebsitePanel.WebDavPortal/Web.config b/WebsitePanel/Sources/WebsitePanel.WebDavPortal/Web.config index 8fdb594d..c45fcad6 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebDavPortal/Web.config +++ b/WebsitePanel/Sources/WebsitePanel.WebDavPortal/Web.config @@ -24,7 +24,7 @@ - + diff --git a/WebsitePanel/Sources/WebsitePanel.WebDavPortal/WebConfigSections/ElementsRenderingElement.cs b/WebsitePanel/Sources/WebsitePanel.WebDavPortal/WebConfigSections/ElementsRenderingElement.cs index 996d4a30..a5a9a6ce 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebDavPortal/WebConfigSections/ElementsRenderingElement.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebDavPortal/WebConfigSections/ElementsRenderingElement.cs @@ -6,6 +6,7 @@ namespace WebsitePanel.WebDavPortal.WebConfigSections { private const string DefaultCountKey = "defaultCount"; private const string AddElementsCountKey = "addElementsCount"; + private const string ElementsToIgnoreKey = "elementsToIgnoreKey"; [ConfigurationProperty(DefaultCountKey, IsKey = true, IsRequired = true, DefaultValue = 30)] public int DefaultCount @@ -20,5 +21,12 @@ namespace WebsitePanel.WebDavPortal.WebConfigSections get { return (int)this[AddElementsCountKey]; } set { this[AddElementsCountKey] = value; } } + + [ConfigurationProperty(ElementsToIgnoreKey, IsKey = true, IsRequired = true, DefaultValue = "")] + public string ElementsToIgnore + { + get { return (string)this[ElementsToIgnoreKey]; } + set { this[ElementsToIgnoreKey] = value; } + } } } \ No newline at end of file