diff --git a/code/LeftAndMain.php b/code/LeftAndMain.php index cd91ded2..4f332b3a 100644 --- a/code/LeftAndMain.php +++ b/code/LeftAndMain.php @@ -556,23 +556,21 @@ class LeftAndMain extends Controller { $id = $p->ID ? $p->ID : "new-$p->class-$p->ParentID"; $treeTitle = Convert::raw2js($p->TreeTitle()); $hasChildren = (is_numeric($id) && $p->AllChildren() && $p->AllChildren()->Count()) ? ' unexpanded' : ''; - $singleInstanceCSSClass = $p->stat('single_instance_only') ? $p->stat('single_instance_only_css_class') : ""; // Ensure there is definitly a node avaliable. if not, append to the home tree. $response = <<class}{$hasChildren} {$singleInstanceCSSClass}"); + var newNode = tree.createTreeNode("$id", "$treeTitle", "{$p->class}{$hasChildren}"); node = tree.getTreeNodeByIdx($parentID); if(!node) { node = tree.getTreeNodeByIdx(0); } node.open(); node.appendTreeNode(newNode); - newNode.selectTreeNode(); + newNode.selectTreeNode(); JS; FormResponse::add($response); - FormResponse::add($this->hideSingleInstanceOnlyFromCreateFieldJS($p)); - + return FormResponse::respond(); } else { Director::redirect('admin/' . self::$url_segment . '/show/' . $p->ID); @@ -703,21 +701,7 @@ JS; } $record->write(); - - // if changed to a single_instance_only page type - if ($record->stat('single_instance_only')) { - FormResponse::add("jQuery('#sitetree li.{$record->ClassName}').addClass('{$record->stat('single_instance_only_css_class')}');"); - FormResponse::add($this->hideSingleInstanceOnlyFromCreateFieldJS($record)); - } - else { - FormResponse::add("jQuery('#sitetree li.{$record->ClassName}').removeClass('{$record->stat('single_instance_only_css_class')}');"); - } - // if chnaged from a single_instance_only page type - $sampleOriginalClassObject = new $originalClass(); - if($sampleOriginalClassObject->stat('single_instance_only')) { - FormResponse::add($this->showSingleInstanceOnlyInCreateFieldJS($sampleOriginalClassObject)); - } - + if( ($record->class != 'VirtualPage') && $originalURLSegment != $record->URLSegment) { $message .= sprintf(_t('LeftAndMain.CHANGEDURL'," Changed URL to '%s'"),$record->URLSegment); FormResponse::add("\$('Form_EditForm').elements.URLSegment.value = \"$record->URLSegment\";"); @@ -755,59 +739,11 @@ JS; FormResponse::update_status($record->Status); $this->extend('onAfterSave', $record); - + return FormResponse::respond(); } } } - - /** - * Return a javascript snippet that hides a page type from Create dropdownfield - * if it's a single_instance_only page type and has been created in the site tree - */ - protected function hideSingleInstanceOnlyFromCreateFieldJS($createdPage) { - // Prepare variable to single_instance_only checking in javascript - $pageClassName = $createdPage->class; - $singleInstanceCSSClass = ""; - $singleInstanceClassSelector = "." . $createdPage->stat('single_instance_only_css_class'); - if ($createdPage->stat('single_instance_only')) { - $singleInstanceCSSClass = $createdPage->stat('single_instance_only_css_class'); - } - - return << 0) { - jQuery("#" + _HANDLER_FORMS.addpage + " option[@value={$pageClassName}]").remove(); - } -JS; - } - - /** - * Return a javascript snippet that that shows a single_instance_only page type in Create dropdownfield - * if there isn't any of its instance in the site tree - */ - protected function showSingleInstanceOnlyInCreateFieldJS($deletedPage) { - $className = $deletedPage->class; - $singularName = $deletedPage->singular_name(); - $singleInstanceClassSelector = "." . $deletedPage->stat('single_instance_only_css_class'); - return <<