- Fixing 16254: Make BuildEditorModel resilient to invalid content item ID

--HG--
branch : dev
This commit is contained in:
Suha Can
2010-03-01 16:24:32 -08:00
parent 197fc83f61
commit c5f93cc789

View File

@@ -166,15 +166,25 @@ namespace Orchard.ContentManagement {
/* Display and editor convenience extension methods */ /* Display and editor convenience extension methods */
public static ContentItemViewModel<T> BuildDisplayModel<T>(this IContentManager manager, int id, string displayType) where T : class, IContent { public static ContentItemViewModel<T> BuildDisplayModel<T>(this IContentManager manager, int id, string displayType) where T : class, IContent {
return manager.BuildDisplayModel(manager.Get<T>(id), displayType); var content = manager.Get<T>(id);
if (content == null)
return null;
return manager.BuildDisplayModel(content, displayType);
} }
public static ContentItemViewModel<T> BuildEditorModel<T>(this IContentManager manager, int id) where T : class, IContent { public static ContentItemViewModel<T> BuildEditorModel<T>(this IContentManager manager, int id) where T : class, IContent {
return manager.BuildEditorModel(manager.Get<T>(id)); var content = manager.Get<T>(id);
if (content == null)
return null;
return manager.BuildEditorModel(content);
} }
public static ContentItemViewModel<T> UpdateEditorModel<T>(this IContentManager manager, int id, IUpdateModel updater) where T : class, IContent { public static ContentItemViewModel<T> UpdateEditorModel<T>(this IContentManager manager, int id, IUpdateModel updater) where T : class, IContent {
return manager.UpdateEditorModel(manager.Get<T>(id), updater); var content = manager.Get<T>(id);
if (content == null)
return null;
return manager.UpdateEditorModel(content, updater);
} }