Fixes U4-3314 Doctype property alias doesn't auto generate camelcase but does pascalcase instead
This commit is contained in:
@@ -952,6 +952,16 @@ namespace Umbraco.Core
|
||||
return ShortStringHelper.CleanStringForSafeAlias(alias);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Cleans a string to produce a string that can safely be used in an alias.
|
||||
/// </summary>
|
||||
/// <param name="alias">The text to filter.</param>
|
||||
/// <returns>The safe alias.</returns>
|
||||
public static string ToSafeCamelAlias(this string alias)
|
||||
{
|
||||
return ShortStringHelper.CleanStringForSafeCamelAlias(alias);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Cleans a string, in the context of a specified culture, to produce a string that can safely be used in an alias.
|
||||
/// </summary>
|
||||
|
||||
@@ -248,6 +248,34 @@ function validateSafeAlias(id, value, immediate, callback) {{
|
||||
return CleanString(text, CleanStringType.Ascii | CleanStringType.UmbracoCase | CleanStringType.Alias);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Cleans a string to produce a string that can safely be used in an alias.
|
||||
/// </summary>
|
||||
/// <param name="text">The text to filter.</param>
|
||||
/// <returns>The safe alias.</returns>
|
||||
/// <remarks>
|
||||
/// <para>The string will be cleaned in the context of the default culture.</para>
|
||||
/// <para>Safe aliases are Ascii only.</para>
|
||||
/// </remarks>
|
||||
public virtual string CleanStringForSafeCamelAlias(string text)
|
||||
{
|
||||
return CleanString(text, CleanStringType.Ascii | CleanStringType.CamelCase | CleanStringType.Alias);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Cleans a string, in the context of a specified culture, to produce a string that can safely be used in an alias.
|
||||
/// </summary>
|
||||
/// <param name="text">The text to filter.</param>
|
||||
/// <param name="culture">The culture.</param>
|
||||
/// <returns>The safe alias.</returns>
|
||||
/// <remarks>
|
||||
/// <para>Safe aliases are Ascii only.</para>
|
||||
/// </remarks>
|
||||
public virtual string CleanStringForSafeCamelAlias(string text, CultureInfo culture)
|
||||
{
|
||||
return CleanString(text, CleanStringType.Ascii | CleanStringType.CamelCase | CleanStringType.Alias, culture);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Cleans a string, in the context of a specified culture, to produce a string that can safely be used in an alias.
|
||||
/// </summary>
|
||||
|
||||
@@ -31,6 +31,19 @@ namespace Umbraco.Core.Strings
|
||||
/// </remarks>
|
||||
string CleanStringForSafeAlias(string text);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Cleans a string to produce a string that can safely be used in an alias.
|
||||
/// </summary>
|
||||
/// <param name="text">The text to filter.</param>
|
||||
/// <returns>The safe alias.</returns>
|
||||
/// <remarks>
|
||||
/// <para>The string will be cleaned in the context of the IShortStringHelper default culture.</para>
|
||||
/// <para>A safe alias is [a-z][a-zA-Z0-9_]* although legacy will also accept '-', and '_' at the beginning.</para>
|
||||
/// </remarks>
|
||||
string CleanStringForSafeCamelAlias(string text);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Cleans a string, in the context of a specified culture, to produce a string that can safely be used in an alias.
|
||||
/// </summary>
|
||||
@@ -39,6 +52,14 @@ namespace Umbraco.Core.Strings
|
||||
/// <returns>The safe alias.</returns>
|
||||
string CleanStringForSafeAlias(string text, CultureInfo culture);
|
||||
|
||||
/// <summary>
|
||||
/// Cleans a string, in the context of a specified culture, to produce a string that can safely be used in an alias.
|
||||
/// </summary>
|
||||
/// <param name="text">The text to filter.</param>
|
||||
/// <param name="culture">The culture.</param>
|
||||
/// <returns>The safe alias.</returns>
|
||||
string CleanStringForSafeCamelAlias(string text, CultureInfo culture);
|
||||
|
||||
/// <summary>
|
||||
/// Cleans a string to produce a string that can safely be used in an url segment.
|
||||
/// </summary>
|
||||
|
||||
@@ -138,6 +138,18 @@ function isValidAlias(alias) {{
|
||||
return safeString.ToString();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Cleans a string to produce a string that can safely be used in an alias.
|
||||
/// </summary>
|
||||
/// <param name="text">The text to filter.</param>
|
||||
/// <returns>The safe alias.</returns>
|
||||
/// <remarks>The string will be cleaned in the context of invariant culture.</remarks>
|
||||
public string CleanStringForSafeCamelAlias(string text)
|
||||
{
|
||||
var t = CleanStringForSafeAlias(text);
|
||||
return Char.ToLowerInvariant(t[0]) + t.Substring(1);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Cleans a string, in the context of the invariant culture, to produce a string that can safely be used in an alias.
|
||||
/// </summary>
|
||||
@@ -150,6 +162,18 @@ function isValidAlias(alias) {{
|
||||
return CleanStringForSafeAlias(text);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Cleans a string, in the context of the invariant culture, to produce a string that can safely be used in an alias.
|
||||
/// </summary>
|
||||
/// <param name="text">The text to filter.</param>
|
||||
/// <param name="culture">The culture.</param>
|
||||
/// <returns>The safe alias.</returns>
|
||||
/// <remarks>Legacy does not support culture contexts.</remarks>
|
||||
public string CleanStringForSafeCamelAlias(string text, CultureInfo culture)
|
||||
{
|
||||
return CleanStringForSafeCamelAlias(text);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Cleans a string to produce a string that can safely be used in an url segment, in the context of the invariant culture.
|
||||
/// </summary>
|
||||
|
||||
@@ -19,11 +19,21 @@ namespace Umbraco.Tests.CoreStrings
|
||||
return "SAFE-ALIAS::" + text;
|
||||
}
|
||||
|
||||
public string CleanStringForSafeCamelAlias(string text)
|
||||
{
|
||||
return "SAFE-ALIAS::" + text;
|
||||
}
|
||||
|
||||
public string CleanStringForSafeAlias(string text, System.Globalization.CultureInfo culture)
|
||||
{
|
||||
return "SAFE-ALIAS-CULTURE::" + text;
|
||||
}
|
||||
|
||||
public string CleanStringForSafeCamelAlias(string text, System.Globalization.CultureInfo culture)
|
||||
{
|
||||
return "SAFE-ALIAS-CULTURE::" + text;
|
||||
}
|
||||
|
||||
public string CleanStringForUrlSegment(string text)
|
||||
{
|
||||
return "URL-SEGMENT::" + text;
|
||||
|
||||
@@ -18,11 +18,11 @@ namespace Umbraco.Web.WebServices
|
||||
public class CoreStringsController : UmbracoAuthorizedController
|
||||
{
|
||||
[HttpGet]
|
||||
public JsonResult ToSafeAlias(string value)
|
||||
public JsonResult ToSafeAlias(string value, bool camelCase = true)
|
||||
{
|
||||
return value == null
|
||||
? Json(new {error = "no value."}, JsonRequestBehavior.AllowGet)
|
||||
: Json(new { alias = value.ToSafeAlias() }, JsonRequestBehavior.AllowGet);
|
||||
? Json(new {error = "no value."}, JsonRequestBehavior.AllowGet)
|
||||
: Json(new { alias = camelCase ? value.ToSafeCamelAlias() : value.ToSafeAlias() }, JsonRequestBehavior.AllowGet);
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
|
||||
Reference in New Issue
Block a user