fixes ysod with validation errors on doc type editor.
This commit is contained in:
@@ -151,7 +151,7 @@ namespace Umbraco.Web.Editors
|
||||
|
||||
public ContentTypeDisplay PostSave(ContentTypeSave contentTypeSave)
|
||||
{
|
||||
var savedCt = PerformPostSave(
|
||||
var savedCt = PerformPostSave<IContentType, ContentTypeDisplay>(
|
||||
contentTypeSave: contentTypeSave,
|
||||
getContentType: i => Services.ContentTypeService.GetContentType(i),
|
||||
saveContentType: type => Services.ContentTypeService.Save(type),
|
||||
|
||||
@@ -126,13 +126,14 @@ namespace Umbraco.Web.Editors
|
||||
return CultureDictionary[text].IfNullOrWhiteSpace(text);
|
||||
}
|
||||
|
||||
protected TContentType PerformPostSave<TContentType>(
|
||||
protected TContentType PerformPostSave<TContentType, TContentTypeDisplay>(
|
||||
ContentTypeSave contentTypeSave,
|
||||
Func<int, TContentType> getContentType,
|
||||
Action<TContentType> saveContentType,
|
||||
bool validateComposition = true,
|
||||
Action<ContentTypeSave> beforeCreateNew = null)
|
||||
where TContentType : IContentTypeComposition
|
||||
where TContentTypeDisplay : ContentTypeCompositionDisplay
|
||||
{
|
||||
var ctId = Convert.ToInt32(contentTypeSave.Id);
|
||||
|
||||
@@ -140,7 +141,7 @@ namespace Umbraco.Web.Editors
|
||||
{
|
||||
var ct = getContentType(ctId);
|
||||
//Required data is invalid so we cannot continue
|
||||
var forDisplay = Mapper.Map<ContentTypeCompositionDisplay>(ct);
|
||||
var forDisplay = Mapper.Map<TContentTypeDisplay>(ct);
|
||||
//map the 'save' data on top
|
||||
forDisplay = Mapper.Map(contentTypeSave, forDisplay);
|
||||
forDisplay.Errors = ModelState.ToErrorDictionary();
|
||||
|
||||
@@ -104,7 +104,7 @@ namespace Umbraco.Web.Editors
|
||||
|
||||
public ContentTypeCompositionDisplay PostSave(ContentTypeSave contentTypeSave)
|
||||
{
|
||||
var savedCt = PerformPostSave(
|
||||
var savedCt = PerformPostSave<IMediaType, ContentTypeCompositionDisplay>(
|
||||
contentTypeSave: contentTypeSave,
|
||||
getContentType: i => Services.ContentTypeService.GetMediaType(i),
|
||||
saveContentType: type => Services.ContentTypeService.Save(type));
|
||||
|
||||
@@ -104,7 +104,7 @@ namespace Umbraco.Web.Editors
|
||||
|
||||
public ContentTypeCompositionDisplay PostSave(ContentTypeSave contentTypeSave)
|
||||
{
|
||||
var savedCt = PerformPostSave(
|
||||
var savedCt = PerformPostSave<IMemberType, ContentTypeCompositionDisplay>(
|
||||
contentTypeSave: contentTypeSave,
|
||||
getContentType: i => Services.MemberTypeService.Get(i),
|
||||
saveContentType: type => Services.MemberTypeService.Save(type),
|
||||
|
||||
Reference in New Issue
Block a user