BUGFIX: Catch and display validation errors when adding a page.

This commit is contained in:
Andrew Short 2012-06-11 23:15:18 +10:00
parent 098d3b6b8a
commit cdea489fcb
2 changed files with 43 additions and 37 deletions

View File

@ -121,7 +121,14 @@ class CMSPageAddController extends CMSPageEditController {
$record = $this->getNewItem("new-$className-$parentID".$suffix, false);
if(class_exists('Translatable') && $record->hasExtension('Translatable')) $record->Locale = $data['Locale'];
try {
$record->write();
} catch(ValidationException $ex) {
$form->sessionMessage($ex->getResult()->message(), 'bad');
return $this->getResponseNegotiator()->respond($this->request);
}
$editController = singleton('CMSPageEditController');
$editController->setCurrentPageID($record->ID);

View File

@ -1,6 +1,6 @@
<% with AddForm %>
<div class="cms-content center $BaseCSSClasses" data-layout-type="border" data-pjax-fragment="Content">
<% with AddForm %>
<form $FormAttributes data-layout-type="border">
<div class="cms-content-header north">
<div class="cms-content-header-info">
<h2><% _t('CMSAddPageController.Title','Add page') %></h2>
@ -8,7 +8,6 @@
</div>
<div class="cms-content-fields center cms-panel-content cms-panel-padded">
<% if Message %>
<p id="{$FormName}_error" class="message $MessageType">$Message</p>
<% else %>
@ -32,6 +31,6 @@
</div>
<% end_if %>
</div>
</form>
<% end_with %>
<% end_with %>
</div>