diff --git a/src/Umbraco.Core/Migrations/Install/DatabaseDataCreator.cs b/src/Umbraco.Core/Migrations/Install/DatabaseDataCreator.cs
index aa719be256..f8629a5c71 100644
--- a/src/Umbraco.Core/Migrations/Install/DatabaseDataCreator.cs
+++ b/src/Umbraco.Core/Migrations/Install/DatabaseDataCreator.cs
@@ -223,14 +223,14 @@ namespace Umbraco.Core.Migrations.Install
private void CreatePropertyTypeGroupData()
{
- _database.Insert(Constants.DatabaseSchema.Tables.PropertyTypeGroup, "id", false, new PropertyTypeGroupDto { Id = 3, UniqueId = new Guid(Constants.PropertyTypeGroups.Image), ContentTypeNodeId = 1032, Text = "Image", Alias = "Image", SortOrder = 1 });
- _database.Insert(Constants.DatabaseSchema.Tables.PropertyTypeGroup, "id", false, new PropertyTypeGroupDto { Id = 4, UniqueId = new Guid(Constants.PropertyTypeGroups.File), ContentTypeNodeId = 1033, Text = "File", Alias = "File", SortOrder = 1, });
- _database.Insert(Constants.DatabaseSchema.Tables.PropertyTypeGroup, "id", false, new PropertyTypeGroupDto { Id = 52, UniqueId = new Guid(Constants.PropertyTypeGroups.Video), ContentTypeNodeId = 1034, Text = "Video", Alias = "Video", SortOrder = 1 });
- _database.Insert(Constants.DatabaseSchema.Tables.PropertyTypeGroup, "id", false, new PropertyTypeGroupDto { Id = 53, UniqueId = new Guid(Constants.PropertyTypeGroups.Audio), ContentTypeNodeId = 1035, Text = "Audio", Alias = "Audio", SortOrder = 1 });
- _database.Insert(Constants.DatabaseSchema.Tables.PropertyTypeGroup, "id", false, new PropertyTypeGroupDto { Id = 54, UniqueId = new Guid(Constants.PropertyTypeGroups.Article), ContentTypeNodeId = 1036, Text = "Article", Alias = "Article", SortOrder = 1 });
- _database.Insert(Constants.DatabaseSchema.Tables.PropertyTypeGroup, "id", false, new PropertyTypeGroupDto { Id = 55, UniqueId = new Guid(Constants.PropertyTypeGroups.VectorGraphics), ContentTypeNodeId = 1037, Text = "Vector Graphics", Alias = "VectorGraphics", SortOrder = 1 });
+ _database.Insert(Constants.DatabaseSchema.Tables.PropertyTypeGroup, "id", false, new PropertyTypeGroupDto { Id = 3, UniqueId = new Guid(Constants.PropertyTypeGroups.Image), ContentTypeNodeId = 1032, Text = "Image", Alias = "image", SortOrder = 1 });
+ _database.Insert(Constants.DatabaseSchema.Tables.PropertyTypeGroup, "id", false, new PropertyTypeGroupDto { Id = 4, UniqueId = new Guid(Constants.PropertyTypeGroups.File), ContentTypeNodeId = 1033, Text = "File", Alias = "file", SortOrder = 1, });
+ _database.Insert(Constants.DatabaseSchema.Tables.PropertyTypeGroup, "id", false, new PropertyTypeGroupDto { Id = 52, UniqueId = new Guid(Constants.PropertyTypeGroups.Video), ContentTypeNodeId = 1034, Text = "Video", Alias = "video", SortOrder = 1 });
+ _database.Insert(Constants.DatabaseSchema.Tables.PropertyTypeGroup, "id", false, new PropertyTypeGroupDto { Id = 53, UniqueId = new Guid(Constants.PropertyTypeGroups.Audio), ContentTypeNodeId = 1035, Text = "Audio", Alias = "audio", SortOrder = 1 });
+ _database.Insert(Constants.DatabaseSchema.Tables.PropertyTypeGroup, "id", false, new PropertyTypeGroupDto { Id = 54, UniqueId = new Guid(Constants.PropertyTypeGroups.Article), ContentTypeNodeId = 1036, Text = "Article", Alias = "article", SortOrder = 1 });
+ _database.Insert(Constants.DatabaseSchema.Tables.PropertyTypeGroup, "id", false, new PropertyTypeGroupDto { Id = 55, UniqueId = new Guid(Constants.PropertyTypeGroups.VectorGraphics), ContentTypeNodeId = 1037, Text = "Vector Graphics", Alias = "vectorGraphics", SortOrder = 1 });
//membership property group
- _database.Insert(Constants.DatabaseSchema.Tables.PropertyTypeGroup, "id", false, new PropertyTypeGroupDto { Id = 11, UniqueId = new Guid(Constants.PropertyTypeGroups.Membership), ContentTypeNodeId = 1044, Text = "Membership", Alias = "Membership", SortOrder = 1 });
+ _database.Insert(Constants.DatabaseSchema.Tables.PropertyTypeGroup, "id", false, new PropertyTypeGroupDto { Id = 11, UniqueId = new Guid(Constants.PropertyTypeGroups.Membership), ContentTypeNodeId = 1044, Text = "Membership", Alias = "membership", SortOrder = 1 });
}
private void CreatePropertyTypeData()
diff --git a/src/Umbraco.Core/Migrations/Upgrade/V_8_16_0/AddPropertyTypeGroupColumns.cs b/src/Umbraco.Core/Migrations/Upgrade/V_8_16_0/AddPropertyTypeGroupColumns.cs
index 8c9c90c054..6363172609 100644
--- a/src/Umbraco.Core/Migrations/Upgrade/V_8_16_0/AddPropertyTypeGroupColumns.cs
+++ b/src/Umbraco.Core/Migrations/Upgrade/V_8_16_0/AddPropertyTypeGroupColumns.cs
@@ -17,7 +17,7 @@ namespace Umbraco.Core.Migrations.Upgrade.V_8_16_0
foreach (var dto in dtos)
{
// Generate alias from current name
- dto.Alias = dto.Text.ToSafeAlias();
+ dto.Alias = dto.Text.ToSafeAlias(true);
Database.Update(dto, x => new { x.Alias });
}
diff --git a/src/Umbraco.Core/Models/ContentTypeCompositionBase.cs b/src/Umbraco.Core/Models/ContentTypeCompositionBase.cs
index aa48e149db..26150c0eae 100644
--- a/src/Umbraco.Core/Models/ContentTypeCompositionBase.cs
+++ b/src/Umbraco.Core/Models/ContentTypeCompositionBase.cs
@@ -208,7 +208,7 @@ namespace Umbraco.Core.Models
///
public override bool AddPropertyGroup(string groupName)
{
- return AddAndReturnPropertyGroup(groupName, groupName.ToSafeAlias()) != null;
+ return AddAndReturnPropertyGroup(groupName, groupName.ToSafeAlias(true)) != null;
}
///
@@ -267,8 +267,8 @@ namespace Umbraco.Core.Models
// get and ensure a group local to this content type
var group = PropertyGroups.FirstOrDefault(x => x.Alias == propertyGroupName)
- ?? PropertyGroups.FirstOrDefault(x => x.Alias == propertyGroupName.ToSafeAlias()) // TODO Remove in v9 (only needed for backwards compatibility with names)
- ?? AddAndReturnPropertyGroup(propertyGroupName, propertyGroupName.ToSafeAlias()); // TODO Do we need both name and alias for this to work?
+ ?? PropertyGroups.FirstOrDefault(x => x.Alias == propertyGroupName.ToSafeAlias(true)) // TODO Remove in v9 (only needed for backwards compatibility with names)
+ ?? AddAndReturnPropertyGroup(propertyGroupName, propertyGroupName.ToSafeAlias(true)); // TODO Do we need both name and alias for this to work?
if (group == null)
return false;
diff --git a/src/Umbraco.Core/Models/PropertyGroupCollection.cs b/src/Umbraco.Core/Models/PropertyGroupCollection.cs
index d5f9b47fd5..7b20957cd2 100644
--- a/src/Umbraco.Core/Models/PropertyGroupCollection.cs
+++ b/src/Umbraco.Core/Models/PropertyGroupCollection.cs
@@ -58,7 +58,7 @@ namespace Umbraco.Core.Models
var item = base[key];
if (item == null && !key.Contains('/'))
{
- item = base[key.ToSafeAlias()];
+ item = base[key.ToSafeAlias(true)];
}
return item;
@@ -114,7 +114,7 @@ namespace Umbraco.Core.Models
// Ensure alias is set
if (string.IsNullOrEmpty(item.Alias))
{
- item.Alias = item.Name.ToSafeAlias();
+ item.Alias = item.Name.ToSafeAlias(true);
}
// Note this is done to ensure existing groups can be renamed
@@ -172,7 +172,7 @@ namespace Umbraco.Core.Models
public new bool Contains(string key)
{
// TODO Remove this method in v9 (only needed for backwards compatibility with names)
- return base.Contains(key) || (!key.Contains('/') && base.Contains(key.ToSafeAlias()));
+ return base.Contains(key) || (!key.Contains('/') && base.Contains(key.ToSafeAlias(true)));
}
public bool Contains(int id)
@@ -195,7 +195,7 @@ namespace Umbraco.Core.Models
if (index == -1 && !key.Contains('/'))
{
// TODO Clean up for v9 (only needed for backwards compatibility with names)
- index = this.IndexOfKey(key.ToSafeAlias());
+ index = this.FindIndex(x => x.Alias == key.ToSafeAlias(true));
}
return index;
diff --git a/src/Umbraco.Core/Packaging/PackageDataInstallation.cs b/src/Umbraco.Core/Packaging/PackageDataInstallation.cs
index c51671e22d..e1bb7b3161 100644
--- a/src/Umbraco.Core/Packaging/PackageDataInstallation.cs
+++ b/src/Umbraco.Core/Packaging/PackageDataInstallation.cs
@@ -747,7 +747,7 @@ namespace Umbraco.Core.Packaging
var alias = propertyGroupElement.Element("Alias")?.Value;
if (string.IsNullOrEmpty(alias))
{
- alias = name.ToSafeAlias();
+ alias = name.ToSafeAlias(true);
}
contentType.AddPropertyGroup(name, alias);
diff --git a/src/Umbraco.Web/Models/Mapping/PropertyTypeGroupMapper.cs b/src/Umbraco.Web/Models/Mapping/PropertyTypeGroupMapper.cs
index c4b46d6f63..d4e002bc78 100644
--- a/src/Umbraco.Web/Models/Mapping/PropertyTypeGroupMapper.cs
+++ b/src/Umbraco.Web/Models/Mapping/PropertyTypeGroupMapper.cs
@@ -140,14 +140,10 @@ namespace Umbraco.Web.Models.Mapping
// if there are any generic properties, add the corresponding tab
if (genericProperties.Any())
{
- string name = "Generic properties",
- alias = name.ToSafeAlias();
-
var genericGroup = new PropertyGroupDisplay
{
Id = PropertyGroupBasic.GenericPropertiesGroupId,
- Name = name,
- Alias = alias,
+ Name = "Generic properties",
SortOrder = 999,
ContentTypeId = source.Id,
Properties = genericProperties