Merge origin/dev-v7.6 into dev-v8-zbwip (builds, not tested)
This commit is contained in:
@@ -42,38 +42,18 @@ namespace Umbraco.Web.Models.Mapping
|
||||
|
||||
//FROM IContent TO ContentItemDisplay
|
||||
config.CreateMap<IContent, ContentItemDisplay>()
|
||||
.ForMember(
|
||||
dto => dto.Owner,
|
||||
expression => expression.ResolveUsing(new OwnerResolver<IContent>(_userService)))
|
||||
.ForMember(
|
||||
dto => dto.Updater,
|
||||
expression => expression.ResolveUsing(new CreatorResolver(_userService)))
|
||||
.ForMember(
|
||||
dto => dto.Icon,
|
||||
expression => expression.MapFrom(content => content.ContentType.Icon))
|
||||
.ForMember(
|
||||
dto => dto.ContentTypeAlias,
|
||||
expression => expression.MapFrom(content => content.ContentType.Alias))
|
||||
.ForMember(
|
||||
dto => dto.ContentTypeName,
|
||||
expression => expression.MapFrom(content => content.ContentType.Name))
|
||||
.ForMember(
|
||||
dto => dto.IsContainer,
|
||||
expression => expression.MapFrom(content => content.ContentType.IsContainer))
|
||||
.ForMember(display => display.IsChildOfListView, expression => expression.Ignore())
|
||||
.ForMember(
|
||||
dto => dto.Trashed,
|
||||
expression => expression.MapFrom(content => content.Trashed))
|
||||
.ForMember(
|
||||
dto => dto.PublishDate,
|
||||
expression => expression.MapFrom(content => GetPublishedDate(_contentService, content)))
|
||||
.ForMember(
|
||||
dto => dto.TemplateAlias, expression => expression.MapFrom(content => content.Template.Alias))
|
||||
.ForMember(
|
||||
dto => dto.HasPublishedVersion,
|
||||
expression => expression.MapFrom(content => content.HasPublishedVersion))
|
||||
.ForMember(
|
||||
dto => dto.Urls,
|
||||
.ForMember(display => display.Owner, expression => expression.ResolveUsing(new OwnerResolver<IContent>(_userService)))
|
||||
.ForMember(display => display.Updater, expression => expression.ResolveUsing(new CreatorResolver(_userService)))
|
||||
.ForMember(display => display.Icon, expression => expression.MapFrom(content => content.ContentType.Icon))
|
||||
.ForMember(display => display.ContentTypeAlias, expression => expression.MapFrom(content => content.ContentType.Alias))
|
||||
.ForMember(display => display.ContentTypeName, expression => expression.MapFrom(content => content.ContentType.Name))
|
||||
.ForMember(display => display.IsContainer, expression => expression.MapFrom(content => content.ContentType.IsContainer))
|
||||
.ForMember(display => display.IsChildOfListView, expression => expression.Ignore())
|
||||
.ForMember(display => display.Trashed, expression => expression.MapFrom(content => content.Trashed))
|
||||
.ForMember(display => display.PublishDate, expression => expression.MapFrom(content => GetPublishedDate(_contentService, content)))
|
||||
.ForMember(display => display.TemplateAlias, expression => expression.MapFrom(content => content.Template.Alias))
|
||||
.ForMember(display => display.HasPublishedVersion, expression => expression.MapFrom(content => content.HasPublishedVersion))
|
||||
.ForMember(display => display.Urls,
|
||||
expression => expression.MapFrom(content =>
|
||||
UmbracoContext.Current == null
|
||||
? new[] {"Cannot generate urls without a current Umbraco Context"}
|
||||
@@ -87,47 +67,27 @@ namespace Umbraco.Web.Models.Mapping
|
||||
.ForMember(display => display.Tabs, expression => expression.ResolveUsing(new TabsAndPropertiesResolver(_textService)))
|
||||
.ForMember(display => display.AllowedActions, expression => expression.ResolveUsing(
|
||||
new ActionButtonsResolver(new Lazy<IUserService>(() => _userService))))
|
||||
.AfterMap((media, display) => AfterMap(media, display, _dataTypeService, _textService,
|
||||
_contentTypeService, _contentService));
|
||||
.AfterMap((content, display) => AfterMap(content, display, _dataTypeService, _textService, _contentTypeService, _contentService));
|
||||
|
||||
//FROM IContent TO ContentItemBasic<ContentPropertyBasic, IContent>
|
||||
config.CreateMap<IContent, ContentItemBasic<ContentPropertyBasic, IContent>>()
|
||||
.ForMember(
|
||||
dto => dto.Owner,
|
||||
expression => expression.ResolveUsing(new OwnerResolver<IContent>(_userService)))
|
||||
.ForMember(
|
||||
dto => dto.Updater,
|
||||
expression => expression.ResolveUsing(new CreatorResolver(_userService)))
|
||||
.ForMember(
|
||||
dto => dto.Icon,
|
||||
expression => expression.MapFrom(content => content.ContentType.Icon))
|
||||
.ForMember(
|
||||
dto => dto.Trashed,
|
||||
expression => expression.MapFrom(content => content.Trashed))
|
||||
.ForMember(
|
||||
dto => dto.HasPublishedVersion,
|
||||
expression => expression.MapFrom(content => content.HasPublishedVersion))
|
||||
.ForMember(
|
||||
dto => dto.ContentTypeAlias,
|
||||
expression => expression.MapFrom(content => content.ContentType.Alias))
|
||||
.ForMember(display => display.Alias, expression => expression.Ignore());
|
||||
.ForMember(dto => dto.Owner, expression => expression.ResolveUsing(new OwnerResolver<IContent>(_userService)))
|
||||
.ForMember(dto => dto.Updater, expression => expression.ResolveUsing(new CreatorResolver(_userService)))
|
||||
.ForMember(dto => dto.Icon, expression => expression.MapFrom(content => content.ContentType.Icon))
|
||||
.ForMember(dto => dto.Trashed, expression => expression.MapFrom(content => content.Trashed))
|
||||
.ForMember(dto => dto.HasPublishedVersion, expression => expression.MapFrom(content => content.HasPublishedVersion))
|
||||
.ForMember(dto => dto.ContentTypeAlias, expression => expression.MapFrom(content => content.ContentType.Alias))
|
||||
.ForMember(dto => dto.Alias, expression => expression.Ignore());
|
||||
|
||||
//FROM IContent TO ContentItemDto<IContent>
|
||||
config.CreateMap<IContent, ContentItemDto<IContent>>()
|
||||
.ForMember(
|
||||
dto => dto.Owner,
|
||||
expression => expression.ResolveUsing(new OwnerResolver<IContent>(_userService)))
|
||||
.ForMember(
|
||||
dto => dto.HasPublishedVersion,
|
||||
expression => expression.MapFrom(content => content.HasPublishedVersion))
|
||||
.ForMember(display => display.Updater, expression => expression.Ignore())
|
||||
.ForMember(display => display.Icon, expression => expression.Ignore())
|
||||
.ForMember(display => display.Alias, expression => expression.Ignore());
|
||||
|
||||
|
||||
.ForMember(dto => dto.Owner, expression => expression.ResolveUsing(new OwnerResolver<IContent>(_userService)))
|
||||
.ForMember(dto => dto.HasPublishedVersion, expression => expression.MapFrom(content => content.HasPublishedVersion))
|
||||
.ForMember(dto => dto.Updater, expression => expression.Ignore())
|
||||
.ForMember(dto => dto.Icon, expression => expression.Ignore())
|
||||
.ForMember(dto => dto.Alias, expression => expression.Ignore());
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Maps the generic tab with custom properties for content
|
||||
/// </summary>
|
||||
@@ -137,7 +97,7 @@ namespace Umbraco.Web.Models.Mapping
|
||||
/// <param name="localizedText"></param>
|
||||
/// <param name="contentTypeService"></param>
|
||||
/// <param name="contentService"></param>
|
||||
private static void AfterMap(IContent content, ContentItemDisplay display, IDataTypeService dataTypeService,
|
||||
private static void AfterMap(IContent content, ContentItemDisplay display, IDataTypeService dataTypeService,
|
||||
ILocalizedTextService localizedText, IContentTypeService contentTypeService, IContentService contentService)
|
||||
{
|
||||
//map the IsChildOfListView (this is actually if it is a descendant of a list view!)
|
||||
@@ -165,7 +125,6 @@ namespace Umbraco.Web.Models.Mapping
|
||||
display.IsChildOfListView = ancesctorListView != null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//map the tree node url
|
||||
if (HttpContext.Current != null)
|
||||
@@ -174,9 +133,9 @@ namespace Umbraco.Web.Models.Mapping
|
||||
var url = urlHelper.GetUmbracoApiService<ContentTreeController>(controller => controller.GetTreeNode(display.Id.ToString(), null));
|
||||
display.TreeNodeUrl = url;
|
||||
}
|
||||
|
||||
|
||||
//fill in the template config to be passed to the template drop down.
|
||||
var templateItemConfig = new Dictionary<string, string> { { "", "Choose..." } };
|
||||
var templateItemConfig = new Dictionary<string, string> {{"", "Choose..."}};
|
||||
foreach (var t in content.ContentType.AllowedTemplates
|
||||
.Where(t => t.Alias.IsNullOrWhiteSpace() == false && t.Name.IsNullOrWhiteSpace() == false))
|
||||
{
|
||||
@@ -187,7 +146,7 @@ namespace Umbraco.Web.Models.Mapping
|
||||
{
|
||||
TabsAndPropertiesResolver.AddListView(display, "content", dataTypeService, localizedText);
|
||||
}
|
||||
|
||||
|
||||
var properties = new List<ContentPropertyDisplay>
|
||||
{
|
||||
new ContentPropertyDisplay
|
||||
@@ -197,7 +156,7 @@ namespace Umbraco.Web.Models.Mapping
|
||||
Value = localizedText.UmbracoDictionaryTranslate(display.ContentTypeName),
|
||||
View = Current.PropertyEditors[Constants.PropertyEditors.NoEditAlias].ValueEditor.View
|
||||
},
|
||||
new ContentPropertyDisplay
|
||||
new ContentPropertyDisplay
|
||||
{
|
||||
Alias = string.Format("{0}releasedate", Constants.PropertyEditors.InternalGenericPropertiesPrefix),
|
||||
Label = localizedText.Localize("content/releaseDate"),
|
||||
@@ -209,7 +168,7 @@ namespace Umbraco.Web.Models.Mapping
|
||||
{"offsetTime", "1"}
|
||||
}
|
||||
//TODO: Fix up hard coded datepicker
|
||||
} ,
|
||||
},
|
||||
new ContentPropertyDisplay
|
||||
{
|
||||
Alias = string.Format("{0}expiredate", Constants.PropertyEditors.InternalGenericPropertiesPrefix),
|
||||
@@ -260,21 +219,21 @@ namespace Umbraco.Web.Models.Mapping
|
||||
var docTypeLink = string.Format("#/settings/documenttypes/edit/{0}", currentDocumentTypeId);
|
||||
|
||||
//Replace the doc type property
|
||||
var docTypeProp = genericProperties.First(x => x.Alias == string.Format("{0}doctype", Constants.PropertyEditors.InternalGenericPropertiesPrefix));
|
||||
docTypeProp.Value = new List<object>
|
||||
var docTypeProperty = genericProperties.First(x => x.Alias == string.Format("{0}doctype", Constants.PropertyEditors.InternalGenericPropertiesPrefix));
|
||||
docTypeProperty.Value = new List<object>
|
||||
{
|
||||
new
|
||||
{
|
||||
linkText = currentDocumentTypeName,
|
||||
url = docTypeLink,
|
||||
target = "_self", icon = "icon-item-arrangement"
|
||||
target = "_self",
|
||||
icon = "icon-item-arrangement"
|
||||
}
|
||||
};
|
||||
//TODO: Hard coding this because the templatepicker doesn't necessarily need to be a resolvable (real) property editor
|
||||
docTypeProp.View = "urllist";
|
||||
docTypeProperty.View = "urllist";
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -319,13 +278,13 @@ namespace Umbraco.Web.Models.Mapping
|
||||
var svc = _userService.Value;
|
||||
|
||||
var permissions = svc.GetPermissions(
|
||||
//TODO: This is certainly not ideal usage here - perhaps the best way to deal with this in the future is
|
||||
// with the IUmbracoContextAccessor. In the meantime, if used outside of a web app this will throw a null
|
||||
// refrence exception :(
|
||||
UmbracoContext.Current.Security.CurrentUser,
|
||||
// Here we need to do a special check since this could be new content, in which case we need to get the permissions
|
||||
// from the parent, not the existing one otherwise permissions would be coming from the root since Id is 0.
|
||||
source.HasIdentity ? source.Id : source.ParentId)
|
||||
//TODO: This is certainly not ideal usage here - perhaps the best way to deal with this in the future is
|
||||
// with the IUmbracoContextAccessor. In the meantime, if used outside of a web app this will throw a null
|
||||
// refrence exception :(
|
||||
UmbracoContext.Current.Security.CurrentUser,
|
||||
// Here we need to do a special check since this could be new content, in which case we need to get the permissions
|
||||
// from the parent, not the existing one otherwise permissions would be coming from the root since Id is 0.
|
||||
source.HasIdentity ? source.Id : source.ParentId)
|
||||
.FirstOrDefault();
|
||||
|
||||
return permissions == null
|
||||
@@ -333,6 +292,5 @@ namespace Umbraco.Web.Models.Mapping
|
||||
: permissions.AssignedPermissions.Where(x => x.Length == 1).Select(x => x.ToUpperInvariant()[0]);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -39,22 +39,12 @@ namespace Umbraco.Web.Models.Mapping
|
||||
{
|
||||
//FROM IMedia TO MediaItemDisplay
|
||||
config.CreateMap<IMedia, MediaItemDisplay>()
|
||||
.ForMember(
|
||||
dto => dto.Owner,
|
||||
expression => expression.ResolveUsing(new OwnerResolver<IMedia>(_userService)))
|
||||
.ForMember(
|
||||
dto => dto.Icon,
|
||||
expression => expression.MapFrom(content => content.ContentType.Icon))
|
||||
.ForMember(
|
||||
dto => dto.ContentTypeAlias,
|
||||
expression => expression.MapFrom(content => content.ContentType.Alias))
|
||||
.ForMember(display => display.Owner, expression => expression.ResolveUsing(new OwnerResolver<IMedia>(_userService)))
|
||||
.ForMember(display => display.Icon, expression => expression.MapFrom(content => content.ContentType.Icon))
|
||||
.ForMember(display => display.ContentTypeAlias, expression => expression.MapFrom(content => content.ContentType.Alias))
|
||||
.ForMember(display => display.IsChildOfListView, expression => expression.Ignore())
|
||||
.ForMember(
|
||||
dto => dto.Trashed,
|
||||
expression => expression.MapFrom(content => content.Trashed))
|
||||
.ForMember(
|
||||
dto => dto.ContentTypeName,
|
||||
expression => expression.MapFrom(content => content.ContentType.Name))
|
||||
.ForMember(display => display.Trashed, expression => expression.MapFrom(content => content.Trashed))
|
||||
.ForMember(display => display.ContentTypeName, expression => expression.MapFrom(content => content.ContentType.Name))
|
||||
.ForMember(display => display.Properties, expression => expression.Ignore())
|
||||
.ForMember(display => display.TreeNodeUrl, expression => expression.Ignore())
|
||||
.ForMember(display => display.Notifications, expression => expression.Ignore())
|
||||
@@ -63,39 +53,29 @@ namespace Umbraco.Web.Models.Mapping
|
||||
.ForMember(display => display.Updater, expression => expression.Ignore())
|
||||
.ForMember(display => display.Alias, expression => expression.Ignore())
|
||||
.ForMember(display => display.IsContainer, expression => expression.Ignore())
|
||||
.ForMember(member => member.HasPublishedVersion, expression => expression.Ignore())
|
||||
.ForMember(display => display.HasPublishedVersion, expression => expression.Ignore())
|
||||
.ForMember(display => display.Tabs, expression => expression.ResolveUsing(new TabsAndPropertiesResolver(_textService)))
|
||||
.AfterMap((media, display) => AfterMap(media, display, _dataTypeService, _textService, _logger, _mediaService));
|
||||
|
||||
//FROM IMedia TO ContentItemBasic<ContentPropertyBasic, IMedia>
|
||||
config.CreateMap<IMedia, ContentItemBasic<ContentPropertyBasic, IMedia>>()
|
||||
.ForMember(
|
||||
dto => dto.Owner,
|
||||
expression => expression.ResolveUsing(new OwnerResolver<IMedia>(_userService)))
|
||||
.ForMember(
|
||||
dto => dto.Icon,
|
||||
expression => expression.MapFrom(content => content.ContentType.Icon))
|
||||
.ForMember(
|
||||
dto => dto.Trashed,
|
||||
expression => expression.MapFrom(content => content.Trashed))
|
||||
.ForMember(
|
||||
dto => dto.ContentTypeAlias,
|
||||
expression => expression.MapFrom(content => content.ContentType.Alias))
|
||||
.ForMember(x => x.Published, expression => expression.Ignore())
|
||||
.ForMember(x => x.Updater, expression => expression.Ignore())
|
||||
.ForMember(x => x.Alias, expression => expression.Ignore())
|
||||
.ForMember(member => member.HasPublishedVersion, expression => expression.Ignore());
|
||||
.ForMember(dto => dto.Owner, expression => expression.ResolveUsing(new OwnerResolver<IMedia>(_userService)))
|
||||
.ForMember(dto => dto.Icon, expression => expression.MapFrom(content => content.ContentType.Icon))
|
||||
.ForMember(dto => dto.Trashed, expression => expression.MapFrom(content => content.Trashed))
|
||||
.ForMember(dto => dto.ContentTypeAlias, expression => expression.MapFrom(content => content.ContentType.Alias))
|
||||
.ForMember(dto => dto.Published, expression => expression.Ignore())
|
||||
.ForMember(dto => dto.Updater, expression => expression.Ignore())
|
||||
.ForMember(dto => dto.Alias, expression => expression.Ignore())
|
||||
.ForMember(dto => dto.HasPublishedVersion, expression => expression.Ignore());
|
||||
|
||||
//FROM IMedia TO ContentItemDto<IMedia>
|
||||
config.CreateMap<IMedia, ContentItemDto<IMedia>>()
|
||||
.ForMember(
|
||||
dto => dto.Owner,
|
||||
expression => expression.ResolveUsing(new OwnerResolver<IMedia>(_userService)))
|
||||
.ForMember(x => x.Published, expression => expression.Ignore())
|
||||
.ForMember(x => x.Updater, expression => expression.Ignore())
|
||||
.ForMember(x => x.Icon, expression => expression.Ignore())
|
||||
.ForMember(x => x.Alias, expression => expression.Ignore())
|
||||
.ForMember(member => member.HasPublishedVersion, expression => expression.Ignore());
|
||||
.ForMember(dto => dto.Owner, expression => expression.ResolveUsing(new OwnerResolver<IMedia>(_userService)))
|
||||
.ForMember(dto => dto.Published, expression => expression.Ignore())
|
||||
.ForMember(dto => dto.Updater, expression => expression.Ignore())
|
||||
.ForMember(dto => dto.Icon, expression => expression.Ignore())
|
||||
.ForMember(dto => dto.Alias, expression => expression.Ignore())
|
||||
.ForMember(dto => dto.HasPublishedVersion, expression => expression.Ignore());
|
||||
}
|
||||
|
||||
private static void AfterMap(IMedia media, MediaItemDisplay display, IDataTypeService dataTypeService, ILocalizedTextService localizedText, ILogger logger, IMediaService mediaService)
|
||||
@@ -165,8 +145,28 @@ namespace Umbraco.Web.Models.Mapping
|
||||
genericProperties.Add(link);
|
||||
}
|
||||
|
||||
TabsAndPropertiesResolver.MapGenericProperties(media, display, localizedText, genericProperties);
|
||||
}
|
||||
TabsAndPropertiesResolver.MapGenericProperties(media, 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 mediaTypeLink = string.Format("#/settings/mediatypes/edit/{0}", media.ContentTypeId);
|
||||
|
||||
//Replace the doctype property
|
||||
var docTypeProperty = properties.First(x => x.Alias == string.Format("{0}doctype", Constants.PropertyEditors.InternalGenericPropertiesPrefix));
|
||||
docTypeProperty.Value = new List<object>
|
||||
{
|
||||
new
|
||||
{
|
||||
linkText = media.ContentType.Name,
|
||||
url = mediaTypeLink,
|
||||
target = "_self",
|
||||
icon = "icon-item-arrangement"
|
||||
}
|
||||
};
|
||||
docTypeProperty.View = "urllist";
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,10 +40,10 @@ namespace Umbraco.Web.Models.Mapping
|
||||
//FROM MembershipUser TO MediaItemDisplay - used when using a non-umbraco membership provider
|
||||
config.CreateMap<MembershipUser, MemberDisplay>()
|
||||
.ConvertUsing(user =>
|
||||
{
|
||||
var member = Mapper.Map<MembershipUser, IMember>(user);
|
||||
return Mapper.Map<IMember, MemberDisplay>(member);
|
||||
});
|
||||
{
|
||||
var member = Mapper.Map<MembershipUser, IMember>(user);
|
||||
return Mapper.Map<IMember, MemberDisplay>(member);
|
||||
});
|
||||
|
||||
//FROM MembershipUser TO IMember - used when using a non-umbraco membership provider
|
||||
config.CreateMap<MembershipUser, IMember>()
|
||||
@@ -73,23 +73,13 @@ namespace Umbraco.Web.Models.Mapping
|
||||
|
||||
//FROM IMember TO MediaItemDisplay
|
||||
config.CreateMap<IMember, MemberDisplay>()
|
||||
.ForMember(
|
||||
dto => dto.Owner,
|
||||
expression => expression.ResolveUsing(new OwnerResolver<IMember>(_userService)))
|
||||
.ForMember(
|
||||
dto => dto.Icon,
|
||||
expression => expression.MapFrom(content => content.ContentType.Icon))
|
||||
.ForMember(
|
||||
dto => dto.ContentTypeAlias,
|
||||
expression => expression.MapFrom(content => content.ContentType.Alias))
|
||||
.ForMember(
|
||||
dto => dto.ContentTypeName,
|
||||
expression => expression.MapFrom(content => content.ContentType.Name))
|
||||
.ForMember(display => display.Owner, expression => expression.ResolveUsing(new OwnerResolver<IMember>(_userService)))
|
||||
.ForMember(display => display.Icon, expression => expression.MapFrom(content => content.ContentType.Icon))
|
||||
.ForMember(display => display.ContentTypeAlias, expression => expression.MapFrom(content => content.ContentType.Alias))
|
||||
.ForMember(display => display.ContentTypeName, expression => expression.MapFrom(content => content.ContentType.Name))
|
||||
.ForMember(display => display.Properties, expression => expression.Ignore())
|
||||
.ForMember(display => display.Tabs,
|
||||
expression => expression.ResolveUsing(new MemberTabsAndPropertiesResolver(_textService)))
|
||||
.ForMember(display => display.MemberProviderFieldMapping,
|
||||
expression => expression.ResolveUsing(new MemberProviderFieldMappingResolver()))
|
||||
.ForMember(display => display.Tabs, expression => expression.ResolveUsing(new MemberTabsAndPropertiesResolver(_textService)))
|
||||
.ForMember(display => display.MemberProviderFieldMapping, expression => expression.ResolveUsing(new MemberProviderFieldMappingResolver()))
|
||||
.ForMember(display => display.MembershipScenario,
|
||||
expression => expression.ResolveUsing(new MembershipScenarioMappingResolver(new Lazy<IMemberTypeService>(() => _memberTypeService))))
|
||||
.ForMember(display => display.Notifications, expression => expression.Ignore())
|
||||
@@ -101,31 +91,21 @@ 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())
|
||||
.ForMember(member => member.HasPublishedVersion, expression => expression.Ignore())
|
||||
.ForMember(display => display.HasPublishedVersion, expression => expression.Ignore())
|
||||
.AfterMap((member, display) => MapGenericCustomProperties(_memberService, member, display, _textService));
|
||||
|
||||
//FROM IMember TO MemberBasic
|
||||
config.CreateMap<IMember, MemberBasic>()
|
||||
.ForMember(
|
||||
dto => dto.Owner,
|
||||
expression => expression.ResolveUsing(new OwnerResolver<IMember>(_userService)))
|
||||
.ForMember(
|
||||
dto => dto.Icon,
|
||||
expression => expression.MapFrom(content => content.ContentType.Icon))
|
||||
.ForMember(
|
||||
dto => dto.ContentTypeAlias,
|
||||
expression => expression.MapFrom(content => content.ContentType.Alias))
|
||||
.ForMember(
|
||||
dto => dto.Email,
|
||||
expression => expression.MapFrom(content => content.Email))
|
||||
.ForMember(
|
||||
dto => dto.Username,
|
||||
expression => expression.MapFrom(content => content.Username))
|
||||
.ForMember(display => display.Trashed, expression => expression.Ignore())
|
||||
.ForMember(x => x.Published, expression => expression.Ignore())
|
||||
.ForMember(x => x.Updater, expression => expression.Ignore())
|
||||
.ForMember(x => x.Alias, expression => expression.Ignore())
|
||||
.ForMember(member => member.HasPublishedVersion, expression => expression.Ignore());
|
||||
.ForMember(dto => dto.Owner, expression => expression.ResolveUsing(new OwnerResolver<IMember>(_userService)))
|
||||
.ForMember(dto => dto.Icon, expression => expression.MapFrom(content => content.ContentType.Icon))
|
||||
.ForMember(dto => dto.ContentTypeAlias, expression => expression.MapFrom(content => content.ContentType.Alias))
|
||||
.ForMember(dto => dto.Email, expression => expression.MapFrom(content => content.Email))
|
||||
.ForMember(dto => dto.Username, expression => expression.MapFrom(content => content.Username))
|
||||
.ForMember(dto => dto.Trashed, expression => expression.Ignore())
|
||||
.ForMember(dto => dto.Published, expression => expression.Ignore())
|
||||
.ForMember(dto => dto.Updater, expression => expression.Ignore())
|
||||
.ForMember(dto => dto.Alias, expression => expression.Ignore())
|
||||
.ForMember(dto => dto.HasPublishedVersion, expression => expression.Ignore());
|
||||
|
||||
//FROM MembershipUser TO MemberBasic
|
||||
config.CreateMap<MembershipUser, MemberBasic>()
|
||||
@@ -134,41 +114,31 @@ namespace Umbraco.Web.Models.Mapping
|
||||
.ForMember(member => member.CreateDate, expression => expression.MapFrom(user => user.CreationDate))
|
||||
.ForMember(member => member.UpdateDate, expression => expression.MapFrom(user => user.LastActivityDate))
|
||||
.ForMember(member => member.Key, expression => expression.MapFrom(user => user.ProviderUserKey.TryConvertTo<Guid>().Result.ToString("N")))
|
||||
.ForMember(
|
||||
dto => dto.Owner,
|
||||
expression => expression.UseValue(new UserBasic {Name = "Admin", UserId = 0}))
|
||||
.ForMember(
|
||||
dto => dto.Icon,
|
||||
expression => expression.UseValue("icon-user"))
|
||||
.ForMember(member => member.Owner, expression => expression.UseValue(new UserBasic {Name = "Admin", UserId = 0}))
|
||||
.ForMember(member => member.Icon, expression => expression.UseValue("icon-user"))
|
||||
.ForMember(member => member.Name, expression => expression.MapFrom(user => user.UserName))
|
||||
.ForMember(
|
||||
dto => dto.Email,
|
||||
expression => expression.MapFrom(content => content.Email))
|
||||
.ForMember(
|
||||
dto => dto.Username,
|
||||
expression => expression.MapFrom(content => content.UserName))
|
||||
.ForMember(member => member.Email, expression => expression.MapFrom(content => content.Email))
|
||||
.ForMember(member => member.Username, expression => expression.MapFrom(content => content.UserName))
|
||||
.ForMember(member => member.Properties, expression => expression.Ignore())
|
||||
.ForMember(member => member.ParentId, expression => expression.Ignore())
|
||||
.ForMember(member => member.Path, expression => expression.Ignore())
|
||||
.ForMember(member => member.SortOrder, expression => expression.Ignore())
|
||||
.ForMember(member => member.AdditionalData, expression => expression.Ignore())
|
||||
.ForMember(x => x.Published, expression => expression.Ignore())
|
||||
.ForMember(x => x.Updater, expression => expression.Ignore())
|
||||
.ForMember(dto => dto.Trashed, expression => expression.Ignore())
|
||||
.ForMember(x => x.Alias, expression => expression.Ignore())
|
||||
.ForMember(x => x.ContentTypeAlias, expression => expression.Ignore())
|
||||
.ForMember(member => member.Published, expression => expression.Ignore())
|
||||
.ForMember(member => member.Updater, expression => expression.Ignore())
|
||||
.ForMember(member => member.Trashed, expression => expression.Ignore())
|
||||
.ForMember(member => member.Alias, expression => expression.Ignore())
|
||||
.ForMember(member => member.ContentTypeAlias, expression => expression.Ignore())
|
||||
.ForMember(member => member.HasPublishedVersion, expression => expression.Ignore());
|
||||
|
||||
//FROM IMember TO ContentItemDto<IMember>
|
||||
config.CreateMap<IMember, ContentItemDto<IMember>>()
|
||||
.ForMember(
|
||||
dto => dto.Owner,
|
||||
expression => expression.ResolveUsing(new OwnerResolver<IMember>(_userService)))
|
||||
.ForMember(x => x.Published, expression => expression.Ignore())
|
||||
.ForMember(x => x.Updater, expression => expression.Ignore())
|
||||
.ForMember(x => x.Icon, expression => expression.Ignore())
|
||||
.ForMember(x => x.Alias, expression => expression.Ignore())
|
||||
.ForMember(member => member.HasPublishedVersion, expression => expression.Ignore())
|
||||
.ForMember(dto => dto.Owner, expression => expression.ResolveUsing(new OwnerResolver<IMember>(_userService)))
|
||||
.ForMember(dto => dto.Published, expression => expression.Ignore())
|
||||
.ForMember(dto => dto.Updater, expression => expression.Ignore())
|
||||
.ForMember(dto => dto.Icon, expression => expression.Ignore())
|
||||
.ForMember(dto => dto.Alias, expression => expression.Ignore())
|
||||
.ForMember(dto => dto.HasPublishedVersion, expression => expression.Ignore())
|
||||
//do no map the custom member properties (currently anyways, they were never there in 6.x)
|
||||
.ForMember(dto => dto.Properties, expression => expression.ResolveUsing(new MemberDtoPropertiesValueResolver()));
|
||||
|
||||
@@ -253,8 +223,28 @@ namespace Umbraco.Web.Models.Mapping
|
||||
}
|
||||
};
|
||||
|
||||
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 memberTypeLink = string.Format("#/member/memberTypes/edit/{0}", member.ContentTypeId);
|
||||
|
||||
TabsAndPropertiesResolver.MapGenericProperties(member, display, localizedText, genericProperties);
|
||||
//Replace the doctype property
|
||||
var docTypeProperty = properties.First(x => x.Alias == string.Format("{0}doctype", Constants.PropertyEditors.InternalGenericPropertiesPrefix));
|
||||
docTypeProperty.Value = new List<object>
|
||||
{
|
||||
new
|
||||
{
|
||||
linkText = member.ContentType.Name,
|
||||
url = memberTypeLink,
|
||||
target = "_self",
|
||||
icon = "icon-item-arrangement"
|
||||
}
|
||||
};
|
||||
docTypeProperty.View = "urllist";
|
||||
}
|
||||
});
|
||||
|
||||
//check if there's an approval field
|
||||
var provider = membersProvider as IUmbracoMemberTypeMembershipProvider;
|
||||
@@ -267,7 +257,6 @@ namespace Umbraco.Web.Models.Mapping
|
||||
prop.Value = 1;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -276,6 +265,7 @@ namespace Umbraco.Web.Models.Mapping
|
||||
/// <param name="memberService"></param>
|
||||
/// <param name="member"></param>
|
||||
/// <param name="display"></param>
|
||||
/// <param name="localizedText"></param>
|
||||
/// <returns></returns>
|
||||
/// <remarks>
|
||||
/// If the membership provider installed is the umbraco membership provider, then we will allow changing the username, however if
|
||||
@@ -285,11 +275,11 @@ namespace Umbraco.Web.Models.Mapping
|
||||
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 = localizedText.Localize("login"),
|
||||
Value = display.Username
|
||||
};
|
||||
{
|
||||
Alias = string.Format("{0}login", Constants.PropertyEditors.InternalGenericPropertiesPrefix),
|
||||
Label = localizedText.Localize("login"),
|
||||
Value = display.Username
|
||||
};
|
||||
|
||||
var scenario = memberService.GetMembershipScenario();
|
||||
|
||||
@@ -342,8 +332,8 @@ namespace Umbraco.Web.Models.Mapping
|
||||
var exclude = defaultProps.Select(x => x.Value.Alias).ToArray();
|
||||
|
||||
return source.Properties
|
||||
.Where(x => exclude.Contains(x.Alias) == false)
|
||||
.Select(Mapper.Map<Property, ContentPropertyDto>);
|
||||
.Where(x => exclude.Contains(x.Alias) == false)
|
||||
.Select(Mapper.Map<Property, ContentPropertyDto>);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -396,7 +386,7 @@ namespace Umbraco.Web.Models.Mapping
|
||||
}
|
||||
else
|
||||
{
|
||||
var umbracoProvider = (IUmbracoMemberTypeMembershipProvider)provider;
|
||||
var umbracoProvider = (IUmbracoMemberTypeMembershipProvider) provider;
|
||||
|
||||
//This is kind of a hack because a developer is supposed to be allowed to set their property editor - would have been much easier
|
||||
// if we just had all of the membeship provider fields on the member table :(
|
||||
@@ -410,8 +400,6 @@ namespace Umbraco.Web.Models.Mapping
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -434,8 +422,8 @@ namespace Umbraco.Web.Models.Mapping
|
||||
}
|
||||
var memberType = _memberTypeService.Value.Get(Constants.Conventions.MemberTypes.DefaultAlias);
|
||||
return memberType != null
|
||||
? MembershipScenario.CustomProviderWithUmbracoLink
|
||||
: MembershipScenario.StandaloneCustomProvider;
|
||||
? MembershipScenario.CustomProviderWithUmbracoLink
|
||||
: MembershipScenario.StandaloneCustomProvider;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -459,7 +447,7 @@ namespace Umbraco.Web.Models.Mapping
|
||||
}
|
||||
else
|
||||
{
|
||||
var umbracoProvider = (IUmbracoMemberTypeMembershipProvider)provider;
|
||||
var umbracoProvider = (IUmbracoMemberTypeMembershipProvider) provider;
|
||||
|
||||
return new Dictionary<string, string>
|
||||
{
|
||||
@@ -468,10 +456,7 @@ namespace Umbraco.Web.Models.Mapping
|
||||
{Constants.Conventions.Member.Comments, umbracoProvider.CommentPropertyTypeAlias}
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user