mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2026-01-18 19:51:45 +08:00
Fixed the content edit action to not blow up when there is not contentItem for the id
--HG-- branch : dev
This commit is contained in:
@@ -126,17 +126,27 @@ namespace Orchard.Core.Contents.Controllers {
|
|||||||
|
|
||||||
public ActionResult Edit(int id) {
|
public ActionResult Edit(int id) {
|
||||||
var contentItem = _contentManager.Get(id, VersionOptions.Latest);
|
var contentItem = _contentManager.Get(id, VersionOptions.Latest);
|
||||||
|
|
||||||
|
if (contentItem == null)
|
||||||
|
return new NotFoundResult();
|
||||||
|
|
||||||
var model = new EditItemViewModel {
|
var model = new EditItemViewModel {
|
||||||
Id = id,
|
Id = id,
|
||||||
Content = _contentManager.BuildEditorModel(contentItem)
|
Content = _contentManager.BuildEditorModel(contentItem)
|
||||||
};
|
};
|
||||||
|
|
||||||
PrepareEditorViewModel(model.Content);
|
PrepareEditorViewModel(model.Content);
|
||||||
|
|
||||||
return View("Edit", model);
|
return View("Edit", model);
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public ActionResult Edit(EditItemViewModel model) {
|
public ActionResult Edit(EditItemViewModel model) {
|
||||||
var contentItem = _contentManager.Get(model.Id, VersionOptions.DraftRequired);
|
var contentItem = _contentManager.Get(model.Id, VersionOptions.DraftRequired);
|
||||||
|
|
||||||
|
if (contentItem == null)
|
||||||
|
return new NotFoundResult();
|
||||||
|
|
||||||
model.Content = _contentManager.UpdateEditorModel(contentItem, this);
|
model.Content = _contentManager.UpdateEditorModel(contentItem, this);
|
||||||
if (!ModelState.IsValid) {
|
if (!ModelState.IsValid) {
|
||||||
_transactionManager.Cancel();
|
_transactionManager.Cancel();
|
||||||
|
|||||||
Reference in New Issue
Block a user