diff --git a/src/Umbraco.Web/umbraco.presentation/umbraco/create/PartialViewTasks.cs b/src/Umbraco.Web/umbraco.presentation/umbraco/create/PartialViewTasks.cs index f4722da86b..5a51055e96 100644 --- a/src/Umbraco.Web/umbraco.presentation/umbraco/create/PartialViewTasks.cs +++ b/src/Umbraco.Web/umbraco.presentation/umbraco/create/PartialViewTasks.cs @@ -43,7 +43,11 @@ namespace umbraco { var pipesIndex = Alias.IndexOf("|||", System.StringComparison.Ordinal); var template = Alias.Substring(0, pipesIndex).Trim(); - var fileName = Alias.Substring(pipesIndex + 3, Alias.Length - pipesIndex - 3) + ".cshtml"; + var fileName = Alias.Substring(pipesIndex + 3, Alias.Length - pipesIndex - 3); + if (!fileName.ToLowerInvariant().EndsWith(".cshtml")) + { + fileName += ".cshtml"; + } var fullFilePath = IOHelper.MapPath(BasePath + fileName); diff --git a/src/Umbraco.Web/umbraco.presentation/umbraco/create/ScriptTasks.cs b/src/Umbraco.Web/umbraco.presentation/umbraco/create/ScriptTasks.cs index f0d14929b3..c6e331195d 100644 --- a/src/Umbraco.Web/umbraco.presentation/umbraco/create/ScriptTasks.cs +++ b/src/Umbraco.Web/umbraco.presentation/umbraco/create/ScriptTasks.cs @@ -27,6 +27,13 @@ namespace umbraco return true; } + // remove file extension + if (fileName.ToLowerInvariant().EndsWith(fileType.ToLowerInvariant())) + { + fileName = fileName.Substring(0, + fileName.ToLowerInvariant().LastIndexOf(fileType.ToLowerInvariant(), System.StringComparison.Ordinal) - 1); + } + var found = ApplicationContext.Current.Services.FileService.GetScriptByName(relPath + fileName + "." + fileType); if (found != null) { diff --git a/src/Umbraco.Web/umbraco.presentation/umbraco/create/XsltTasks.cs b/src/Umbraco.Web/umbraco.presentation/umbraco/create/XsltTasks.cs index 2cf8146695..7a9b777c83 100644 --- a/src/Umbraco.Web/umbraco.presentation/umbraco/create/XsltTasks.cs +++ b/src/Umbraco.Web/umbraco.presentation/umbraco/create/XsltTasks.cs @@ -24,8 +24,10 @@ namespace umbraco { var template = Alias.Substring(0, Alias.IndexOf("|||")); var fileName = Alias.Substring(Alias.IndexOf("|||") + 3, Alias.Length - Alias.IndexOf("|||") - 3).Replace(" ", ""); + if (!fileName.ToLowerInvariant().EndsWith(".xslt")) + fileName += ".xslt"; var xsltTemplateSource = IOHelper.MapPath(SystemDirectories.Umbraco + "/xslt/templates/" + template); - var xsltNewFilename = IOHelper.MapPath(SystemDirectories.Xslt + "/" + fileName + ".xslt"); + var xsltNewFilename = IOHelper.MapPath(SystemDirectories.Xslt + "/" + fileName); if (!System.IO.File.Exists(xsltNewFilename)) { @@ -58,16 +60,19 @@ namespace umbraco // Create macro? if (ParentID == 1) { - var name = Alias.Substring(Alias.IndexOf("|||") + 3, Alias.Length - Alias.IndexOf("|||") - 3) - .SplitPascalCasing().ToFirstUpperInvariant(); + var name = Alias.Substring(Alias.IndexOf("|||") + 3, Alias.Length - Alias.IndexOf("|||") - 3); + if (name.ToLowerInvariant().EndsWith(".xslt")) + name = name.Substring(0, name.Length - 5); + + name = name.SplitPascalCasing().ToFirstUpperInvariant(); cms.businesslogic.macro.Macro m = cms.businesslogic.macro.Macro.MakeNew(name); - m.Xslt = fileName + ".xslt"; + m.Xslt = fileName; m.Save(); } } - _returnUrl = string.Format(SystemDirectories.Umbraco + "/developer/xslt/editXslt.aspx?file={0}.xslt", fileName); + _returnUrl = string.Format(SystemDirectories.Umbraco + "/developer/xslt/editXslt.aspx?file={0}", fileName); return true; } diff --git a/src/umbraco.cms/businesslogic/web/StyleSheet.cs b/src/umbraco.cms/businesslogic/web/StyleSheet.cs index 6a38f90490..eb96b04edf 100644 --- a/src/umbraco.cms/businesslogic/web/StyleSheet.cs +++ b/src/umbraco.cms/businesslogic/web/StyleSheet.cs @@ -175,6 +175,12 @@ namespace umbraco.cms.businesslogic.web public static StyleSheet MakeNew(BusinessLogic.User user, string Text, string FileName, string Content) { + // validate if node ends with css, if it does we'll remove it as we append it later + if (Text.ToLowerInvariant().EndsWith(".css")) + { + Text = Text.Substring(0, Text.Length - 4); + } + // Create the umbraco node var newNode = CMSNode.MakeNew(-1, ModuleObjectType, user.Id, 1, Text, Guid.NewGuid());