elofgren: BUGFIX: Fix the following Save/Publish bugs:

"Changed icon only shows after Save button is clicked twice" http://support.silverstripe.com/gsoc/ticket/76 
"Changed icon sometimes shows after "Save & Publish" button is clicked" http://support.silverstripe.com/gsoc/ticket/31 
(merged from branches/gsoc)


git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/cms/trunk@42080 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
Ingo Schommer 2007-09-16 15:02:57 +00:00
parent 51f02e506b
commit 5dc37e418d

View File

@ -433,8 +433,6 @@ JS;
FormResponse::add("$('Form_EditForm').elements.ID.value = \"$record->ID\";"); FormResponse::add("$('Form_EditForm').elements.ID.value = \"$record->ID\";");
} }
$title = Convert::raw2js($record->TreeTitle());
if($added = DataObjectLog::getAdded('SiteTree')) { if($added = DataObjectLog::getAdded('SiteTree')) {
foreach($added as $page) { foreach($added as $page) {
if($page->ID != $record->ID) $result .= $this->addTreeNodeJS($page); if($page->ID != $record->ID) $result .= $this->addTreeNodeJS($page);
@ -454,7 +452,6 @@ JS;
} }
} }
FormResponse::add("$('sitetree').setNodeTitle(\"$record->ID\", \"$title\");");
$message = _t('LeftAndMain.SAVEDUP'); $message = _t('LeftAndMain.SAVEDUP');
@ -486,21 +483,27 @@ JS;
$record->write(); $record->write();
$result .= $this->getActionUpdateJS($record);
FormResponse::status_message($message, "good");
FormResponse::update_status($record->Status);
}
// If the 'Save & Publish' button was clicked, also publish the page // If the 'Save & Publish' button was clicked, also publish the page
if (isset($urlParams['publish']) && $urlParams['publish'] == 1) { if (isset($urlParams['publish']) && $urlParams['publish'] == 1) {
$this->performPublish($record); $this->performPublish($record);
return $this->tellBrowserAboutPublicationChange($record, "Published '$record->Title' successfully"); // BUGFIX: Changed icon sometimes shows after "Save & Publish" button is clicked http://support.silverstripe.com/gsoc/ticket/31
if(substr($id,0,3) != 'new') {
$publishedRecord = DataObject::get_one($className, "`$className`.ID = $id");
} else { } else {
$publishedRecord = $this->getNewItem($id, false);
}
return $this->tellBrowserAboutPublicationChange($publishedRecord, "Published '$record->Title' successfully");
} else {
// BUGFIX: Changed icon only shows after Save button is clicked twice http://support.silverstripe.com/gsoc/ticket/76
$title = Convert::raw2js($record->TreeTitle());
FormResponse::add("$('sitetree').setNodeTitle(\"$record->ID\", \"$title\");");
$result .= $this->getActionUpdateJS($record);
FormResponse::status_message($message, "good");
FormResponse::update_status($record->Status);
return FormResponse::respond(); return FormResponse::respond();
} }
} }
}
/** /**
* Return a piece of javascript that will update the actions of the main form * Return a piece of javascript that will update the actions of the main form