diff --git a/code/controllers/CMSMain.php b/code/controllers/CMSMain.php index 9c00727d..45cfcdb7 100644 --- a/code/controllers/CMSMain.php +++ b/code/controllers/CMSMain.php @@ -203,7 +203,9 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr } function LinkPageAdd() { - return singleton("CMSPageAddController")->Link(); + $link = singleton("CMSPageAddController")->Link(); + $this->extend('updateLinkPageAdd', $link); + return $link; } /** @@ -466,9 +468,15 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr $addAction = $instance->i18n_singular_name(); // Get description - $description = _t($class . 'DESCRIPTION'); - if(!$description) $description = $instance->uninherited('description'); - if($class == 'Page' && !$description) $description = singleton('SiteTree')->uninherited('description'); + $description = _t($class . '.DESCRIPTION'); + + if(!$description) { + $description = $instance->uninherited('description'); + } + + if($class == 'Page' && !$description) { + $description = singleton('SiteTree')->uninherited('description'); + } $result->push(new ArrayData(array( 'ClassName' => $class, @@ -480,6 +488,7 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr } $result = $result->sort('AddAction'); + return $result; } diff --git a/code/model/ErrorPage.php b/code/model/ErrorPage.php index 67548e82..16ac0ce6 100644 --- a/code/model/ErrorPage.php +++ b/code/model/ErrorPage.php @@ -88,6 +88,7 @@ class ErrorPage extends Page { // Ensure a static error page is created from latest error page content $response = Director::test(Director::makeRelative($pageNotFoundErrorPage->Link())); + $written = null; if($fh = fopen($pageNotFoundErrorPagePath, 'w')) { $written = fwrite($fh, $response->getBody()); fclose($fh); @@ -115,6 +116,7 @@ class ErrorPage extends Page { // Ensure a static error page is created from latest error page content $response = Director::test(Director::makeRelative($serverErrorPage->Link())); + $written = null; if($fh = fopen($serverErrorPagePath, 'w')) { $written = fwrite($fh, $response->getBody()); fclose($fh); diff --git a/code/model/SiteConfig.php b/code/model/SiteConfig.php index 66da02cf..89ea9a85 100644 --- a/code/model/SiteConfig.php +++ b/code/model/SiteConfig.php @@ -205,11 +205,13 @@ class SiteConfig extends DataObject implements PermissionProvider { $siteConfig->Tagline = _t('SiteConfig.TAGLINEDEFAULT',"your tagline here"); if(class_exists('Translatable') && $siteConfig->hasExtension('Translatable')){ - $defaultConfig = DataObject::get_one('SiteConfig'); - if($defaultConfig){ - $siteConfig->Title = $defaultConfig->Title; - $siteConfig->Tagline = $defaultConfig->Tagline; - } + Translatable::disable_locale_filter(); + $defaultConfig = SiteConfig::get()->first(); + Translatable::enable_locale_filter(); + + if($defaultConfig){ + return $defaultConfig->createTranslation($locale); + } // TODO Copy view/edit group settings diff --git a/css/screen.css b/css/screen.css index 5b88d57d..bcf6069d 100644 --- a/css/screen.css +++ b/css/screen.css @@ -15,7 +15,7 @@ .cms-content-tools #cms-content-treeview .cms-content-toolbar { border-bottom: none; box-shadow: none; margin-bottom: 8px; } .cms-content-tools #cms-content-treeview .cms-tree-view-modes, .cms-content-tools #cms-content-treeview .cms-content-batchactions { display: none; } -.cms-content-tools #cms-content-treeview .cms-tree-expand-trigger { display: inline-block; margin: 0 0 2px 0; position: absolute; top: 8px; right: 4px; } +.cms-content-tools #cms-content-treeview .cms-tree-expand-trigger { display: inline-block; margin: 0 0 2px 0; } .cms-content-tools #cms-content-treeview .cms-tree-expand-trigger span.ui-button-text { padding-right: 8px; } .cms-content-tools #cms-content-treeview .cms-tree .badge, .cms-content-tools #cms-content-treeview .cms-tree a > .jstree-icon { display: none; } .cms-content-tools #cms-content-treeview .cms-tree a:hover > .text > .badge, .cms-content-tools #cms-content-treeview .cms-tree .jstree-clicked > .text > .badge { display: inline-block; } diff --git a/javascript/SiteTreeURLSegmentField.js b/javascript/SiteTreeURLSegmentField.js index 1d1a6e8f..2605ac5a 100644 --- a/javascript/SiteTreeURLSegmentField.js +++ b/javascript/SiteTreeURLSegmentField.js @@ -11,9 +11,13 @@ * Constructor: onmatch */ onmatch : function() { - this._addActions(); // add elements and actions for editing - this.edit(); // toggle - this._autoInputWidth(); // set width of input field + // Only initialize the field if it contains an editable field. + // This ensures we don't get bogus previews on readonly fields. + if(this.find(':text').length) { + this._addActions(); // add elements and actions for editing + this.edit(); // toggle + this._autoInputWidth(); // set width of input field + } this._super(); }, diff --git a/scss/_CMSMain.scss b/scss/_CMSMain.scss index 35f6c4f7..0ed6607b 100644 --- a/scss/_CMSMain.scss +++ b/scss/_CMSMain.scss @@ -68,9 +68,6 @@ .cms-tree-expand-trigger { display: inline-block; margin:0 0 2px 0; - position:absolute; - top:8px; - right:4px; span.ui-button-text{ padding-right:8px; }