diff --git a/umbraco/presentation/umbraco/controls/ContentTypeControlNew.ascx.cs b/umbraco/presentation/umbraco/controls/ContentTypeControlNew.ascx.cs index e154bac6f5..f707aa5bd7 100644 --- a/umbraco/presentation/umbraco/controls/ContentTypeControlNew.ascx.cs +++ b/umbraco/presentation/umbraco/controls/ContentTypeControlNew.ascx.cs @@ -10,6 +10,7 @@ using System.Web.UI.WebControls; using ClientDependency.Core; using umbraco.cms.helpers; using umbraco.cms.presentation.Trees; +using umbraco.controls.GenericProperties; using umbraco.IO; using umbraco.presentation; using umbraco.cms.businesslogic; @@ -603,7 +604,7 @@ jQuery(function() { refreshDropDowns(); }); GenericProperties.GenericProperty gpData = gp.GenricPropertyControl; if (gpData.Name.Trim() != "" && gpData.Alias.Trim() != "") { - if (cType.getPropertyType(Casing.SafeAliasWithForcingCheck(gpData.Alias.Trim())) == null) + if (doesPropertyTypeAliasExist(gpData)) { string[] info = { gpData.Name, gpData.Type.ToString() }; cms.businesslogic.propertytype.PropertyType pt = cType.AddPropertyType(cms.businesslogic.datatype.DataTypeDefinition.GetDataTypeDefinition(gpData.Type), Casing.SafeAliasWithForcingCheck(gpData.Alias.Trim()), gpData.Name); @@ -665,6 +666,18 @@ jQuery(function() { refreshDropDowns(); }); } } + private bool doesPropertyTypeAliasExist(GenericProperty gpData) + { + bool hasAlias = cType.getPropertyType(Casing.SafeAliasWithForcingCheck(gpData.Alias.Trim())) != null; + ContentType ct = cType; + while (ct.MasterContentType > 0) + { + ct = new ContentType(ct.MasterContentType); + hasAlias = ct.getPropertyType(Casing.SafeAliasWithForcingCheck(gpData.Alias.Trim())) != null; + } + return !hasAlias; + } + public bool HasRows(System.Data.DataView dv) { return (dv.Count == 0); diff --git a/umbraco/presentation/umbraco/css/umbracoGui.css b/umbraco/presentation/umbraco/css/umbracoGui.css index c975905147..1dc200684e 100644 --- a/umbraco/presentation/umbraco/css/umbracoGui.css +++ b/umbraco/presentation/umbraco/css/umbracoGui.css @@ -154,7 +154,7 @@ body background: url('../images/speechbubble/speechbubble_body.png') no-repeat; width: 235px; margin: 0; - padding: 10px 20px 10px 10px; + padding: 5px 20px 5px 10px; } .speechBubbleBottom { @@ -179,7 +179,7 @@ body font-size: 11px; font-family: Trebuchet MS, Lucida Grande, verdana, arial; margin: 0; - width: 220px; + width: 180px; } #tray { diff --git a/umbraco/presentation/umbraco/js/UmbracoSpeechBubbleBackEnd.js b/umbraco/presentation/umbraco/js/UmbracoSpeechBubbleBackEnd.js index f90f4d74d5..acf48ecd83 100644 --- a/umbraco/presentation/umbraco/js/UmbracoSpeechBubbleBackEnd.js +++ b/umbraco/presentation/umbraco/js/UmbracoSpeechBubbleBackEnd.js @@ -15,11 +15,11 @@ UmbracoSpeechBubble.prototype.GenerateSpeechBubble = function() { sbHtml.innerHTML = '' + '
' + '
' + - '' + + '' + ' Close' + - '

The header!

' + - '

Default Text Container!

' + + '

The header!

' + + '

Default Text Container!


' + '
' + '
' } diff --git a/umbraco/presentation/umbraco/members/EditMemberType.aspx.cs b/umbraco/presentation/umbraco/members/EditMemberType.aspx.cs index b133fef9a3..8719fe8a25 100644 --- a/umbraco/presentation/umbraco/members/EditMemberType.aspx.cs +++ b/umbraco/presentation/umbraco/members/EditMemberType.aspx.cs @@ -52,7 +52,7 @@ namespace umbraco.cms.presentation.members else { ClientTools - .ShowSpeechBubble(speechBubbleIcon.save, e.Message, "") + .ShowSpeechBubble(e.IconType, e.Message, "") .SyncTree(dt.Id.ToString(), true); } diff --git a/umbraco/presentation/umbraco/settings/EditMediaType.aspx.cs b/umbraco/presentation/umbraco/settings/EditMediaType.aspx.cs index b299f0998b..ad40be83f1 100644 --- a/umbraco/presentation/umbraco/settings/EditMediaType.aspx.cs +++ b/umbraco/presentation/umbraco/settings/EditMediaType.aspx.cs @@ -47,6 +47,9 @@ namespace umbraco.cms.presentation.settings } else if (sce.Message.Contains("Tab")) { speechBubble(speechBubbleIcon.info, "Tab added", sce.Message); + } else + { + base.speechBubble(sce.IconType, sce.Message, ""); } return true;