U4-5168 Media Items label says "Document Type" instead of "Media Type"

This commit is contained in:
Sebastiaan Janssen
2016-01-06 11:22:15 +01:00
parent 4ef7b7735e
commit 403af78ba9
7 changed files with 129 additions and 125 deletions

View File

@@ -13,6 +13,7 @@ using Umbraco.Core.Services;
using Umbraco.Web.Models.ContentEditing;
using umbraco;
using System.Linq;
using Umbraco.Core.PropertyEditors;
using Umbraco.Core.Security;
using Umbraco.Web.Trees;
@@ -75,7 +76,7 @@ namespace Umbraco.Web.Models.Mapping
expression => expression.MapFrom(content => content.ContentType.Name))
.ForMember(display => display.Properties, expression => expression.Ignore())
.ForMember(display => display.Tabs,
expression => expression.ResolveUsing<MemberTabsAndPropertiesResolver>())
expression => expression.ResolveUsing(new MemberTabsAndPropertiesResolver(applicationContext.Services.TextService)))
.ForMember(display => display.MemberProviderFieldMapping,
expression => expression.ResolveUsing<MemberProviderFieldMappingResolver>())
.ForMember(display => display.MembershipScenario,
@@ -89,7 +90,7 @@ namespace Umbraco.Web.Models.Mapping
.ForMember(display => display.Trashed, expression => expression.Ignore())
.ForMember(display => display.IsContainer, expression => expression.Ignore())
.ForMember(display => display.TreeNodeUrl, expression => expression.Ignore())
.AfterMap((member, display) => MapGenericCustomProperties(applicationContext.Services.MemberService, member, display));
.AfterMap((member, display) => MapGenericCustomProperties(applicationContext.Services.MemberService, member, display, applicationContext.Services.TextService));
//FROM IMember TO MemberBasic
config.CreateMap<IMember, MemberBasic>()
@@ -163,10 +164,11 @@ namespace Umbraco.Web.Models.Mapping
/// <param name="memberService"></param>
/// <param name="member"></param>
/// <param name="display"></param>
/// <param name="localizedText"></param>
/// <remarks>
/// If this is a new entity and there is an approved field then we'll set it to true by default.
/// </remarks>
private static void MapGenericCustomProperties(IMemberService memberService, IMember member, MemberDisplay display)
private static void MapGenericCustomProperties(IMemberService memberService, IMember member, MemberDisplay display, ILocalizedTextService localizedText)
{
var membersProvider = Core.Security.MembershipProviderExtensions.GetMembersMembershipProvider();
@@ -177,14 +179,21 @@ namespace Umbraco.Web.Models.Mapping
var url = urlHelper.GetUmbracoApiService<MemberTreeController>(controller => controller.GetTreeNode(display.Key.ToString("N"), null));
display.TreeNodeUrl = url;
}
var genericProperties = new List<ContentPropertyDisplay>
{
GetLoginProperty(memberService, member, display),
new ContentPropertyDisplay
{
Alias = string.Format("{0}doctype", Constants.PropertyEditors.InternalGenericPropertiesPrefix),
Label = localizedText.Localize("content/membertype"),
Value = localizedText.UmbracoDictionaryTranslate(display.ContentTypeName),
View = PropertyEditorResolver.Current.GetByAlias(Constants.PropertyEditors.NoEditAlias).ValueEditor.View
},
GetLoginProperty(memberService, member, display, localizedText),
new ContentPropertyDisplay
{
Alias = string.Format("{0}email", Constants.PropertyEditors.InternalGenericPropertiesPrefix),
Label = ui.Text("general", "email"),
Label = localizedText.Localize("general/email"),
Value = display.Email,
View = "email",
Validation = {Mandatory = true}
@@ -192,7 +201,7 @@ namespace Umbraco.Web.Models.Mapping
new ContentPropertyDisplay
{
Alias = string.Format("{0}password", Constants.PropertyEditors.InternalGenericPropertiesPrefix),
Label = ui.Text("password"),
Label = localizedText.Localize("password"),
//NOTE: The value here is a json value - but the only property we care about is the generatedPassword one if it exists, the newPassword exists
// only when creating a new member and we want to have a generated password pre-filled.
Value = new Dictionary<string, object>
@@ -212,15 +221,16 @@ namespace Umbraco.Web.Models.Mapping
new ContentPropertyDisplay
{
Alias = string.Format("{0}membergroup", Constants.PropertyEditors.InternalGenericPropertiesPrefix),
Label = ui.Text("content", "membergroup"),
Label = localizedText.Localize("content/membergroup"),
Value = GetMemberGroupValue(display.Username),
View = "membergroups",
Config = new Dictionary<string, object> {{"IsRequired", true}}
}
};
TabsAndPropertiesResolver.MapGenericProperties(member, display, genericProperties);
TabsAndPropertiesResolver.MapGenericProperties(member, display, localizedText, genericProperties);
//check if there's an approval field
var provider = membersProvider as global::umbraco.providers.members.UmbracoMembershipProvider;
if (member.HasIdentity == false && provider != null)
@@ -247,12 +257,12 @@ namespace Umbraco.Web.Models.Mapping
/// the membership provider is a custom one, we cannot allow chaning the username because MembershipProvider's do not actually natively
/// allow that.
/// </remarks>
internal static ContentPropertyDisplay GetLoginProperty(IMemberService memberService, IMember member, MemberDisplay display)
internal static ContentPropertyDisplay GetLoginProperty(IMemberService memberService, IMember member, MemberDisplay display, ILocalizedTextService localizedText)
{
var prop = new ContentPropertyDisplay
{
Alias = string.Format("{0}login", Constants.PropertyEditors.InternalGenericPropertiesPrefix),
Label = ui.Text("login"),
Label = localizedText.Localize("login"),
Value = display.Username
};
@@ -321,6 +331,20 @@ namespace Umbraco.Web.Models.Mapping
/// </remarks>
internal class MemberTabsAndPropertiesResolver : TabsAndPropertiesResolver
{
private readonly ILocalizedTextService _localizedTextService;
public MemberTabsAndPropertiesResolver(ILocalizedTextService localizedTextService)
: base(localizedTextService)
{
_localizedTextService = localizedTextService;
}
public MemberTabsAndPropertiesResolver(ILocalizedTextService localizedTextService,
IEnumerable<string> ignoreProperties) : base(localizedTextService, ignoreProperties)
{
_localizedTextService = localizedTextService;
}
protected override IEnumerable<Tab<ContentPropertyDisplay>> ResolveCore(IContentBase content)
{
var provider = Core.Security.MembershipProviderExtensions.GetMembersMembershipProvider();
@@ -339,7 +363,7 @@ namespace Umbraco.Web.Models.Mapping
if (isLockedOutProperty != null && isLockedOutProperty.Value.ToString() != "1")
{
isLockedOutProperty.View = "readonlyvalue";
isLockedOutProperty.Value = ui.Text("general", "no");
isLockedOutProperty.Value = _localizedTextService.Localize("general/no");
}
return result;
@@ -355,7 +379,7 @@ namespace Umbraco.Web.Models.Mapping
if (isLockedOutProperty != null && isLockedOutProperty.Value.ToString() != "1")
{
isLockedOutProperty.View = "readonlyvalue";
isLockedOutProperty.Value = ui.Text("general", "no");
isLockedOutProperty.Value = _localizedTextService.Localize("general/no");
}
return result;