From cbfd04e95006308d70905a0e3c6007c0373535d6 Mon Sep 17 00:00:00 2001 From: Thomas Nielsen Date: Tue, 8 Nov 2016 23:37:29 +0100 Subject: [PATCH] Link to member type from member properties --- .../Models/Mapping/MemberModelMapper.cs | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/Umbraco.Web/Models/Mapping/MemberModelMapper.cs b/src/Umbraco.Web/Models/Mapping/MemberModelMapper.cs index 050fe3c726..6d4bdd7941 100644 --- a/src/Umbraco.Web/Models/Mapping/MemberModelMapper.cs +++ b/src/Umbraco.Web/Models/Mapping/MemberModelMapper.cs @@ -233,7 +233,26 @@ namespace Umbraco.Web.Models.Mapping }; - TabsAndPropertiesResolver.MapGenericProperties(member, display, localizedText, genericProperties); + TabsAndPropertiesResolver.MapGenericProperties(member, display, localizedText, genericProperties, properties => { + if (HttpContext.Current != null && UmbracoContext.Current != null && UmbracoContext.Current.Security.CurrentUser != null + && UmbracoContext.Current.Security.CurrentUser.AllowedSections.Any(x => x.Equals(Constants.Applications.Settings))) + { + var docTypeLink = string.Format("#/member/memberTypes/edit/{0}", member.ContentTypeId); + + //Replace the doc type property + var docTypeProp = properties.First(x => x.Alias == string.Format("{0}doctype", Constants.PropertyEditors.InternalGenericPropertiesPrefix)); + docTypeProp.Value = new List + { + new + { + linkText = member.ContentType.Name, + url = docTypeLink, + target = "_self", icon = "icon-item-arrangement" + } + }; + docTypeProp.View = "urllist"; + } + }); //check if there's an approval field var provider = membersProvider as global::umbraco.providers.members.UmbracoMembershipProvider;