From bea626eba3b641872e63fcba548dcc407599c218 Mon Sep 17 00:00:00 2001 From: Damian Mooyman Date: Mon, 11 Jun 2018 15:08:34 +1200 Subject: [PATCH 1/3] BUG Fix invalid stage being specified for queried records --- code/model/Translatable.php | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/code/model/Translatable.php b/code/model/Translatable.php index 8f04b2b..558783e 100755 --- a/code/model/Translatable.php +++ b/code/model/Translatable.php @@ -1295,20 +1295,16 @@ class Translatable extends DataExtension implements PermissionProvider { // exclude the language of the current owner $filter .= sprintf(' AND "%s"."Locale" != \'%s\'', $baseDataClass, $this->owner->Locale); } - $currentStage = Versioned::current_stage(); $joinOnClause = sprintf('"%s_translationgroups"."OriginalID" = "%s"."ID"', $baseDataClass, $baseDataClass); - if($this->owner->hasExtension("Versioned")) { - if($stage) Versioned::reading_stage($stage); + if($this->owner->hasExtension("Versioned") && $stage) { $translations = Versioned::get_by_stage( $baseDataClass, - Versioned::current_stage(), + $stage, $filter, null )->leftJoin("{$baseDataClass}_translationgroups", $joinOnClause); - if($stage) Versioned::reading_stage($currentStage); } else { - $class = $this->owner->class; - $translations = $baseDataClass::get() + $translations = DataObject::get($baseDataClass) ->where($filter) ->leftJoin("{$baseDataClass}_translationgroups", $joinOnClause); } From 6a6bc6d677e079064bed77a084c54adb240e2c98 Mon Sep 17 00:00:00 2001 From: Guy Date: Tue, 12 Jun 2018 15:16:33 +1200 Subject: [PATCH 2/3] BUG Fix invalid stage being specified for queried records --- code/model/Translatable.php | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/code/model/Translatable.php b/code/model/Translatable.php index 8f04b2b..4ab5812 100755 --- a/code/model/Translatable.php +++ b/code/model/Translatable.php @@ -928,13 +928,7 @@ class Translatable extends DataExtension implements PermissionProvider { // This is to prevent the overhead of writing all translations when // the class didn't actually change. $baseDataClass = ClassInfo::baseDataClass($this->owner->class); - $currentStage = Versioned::current_stage(); - $fresh = Versioned::get_one_by_stage( - $baseDataClass, - Versioned::current_stage(), - '"'.$baseDataClass.'"."ID" = ' . $this->owner->ID, - null - ); + $fresh = DataObject::get($baseDataClass)->byId($this->owner->ID); if ($fresh) { $changed = $changedFields['ClassName']['after'] != $fresh->ClassName; } From ec34959baa9c15455993d73d93c61f17fbb62241 Mon Sep 17 00:00:00 2001 From: Dylan Wagstaff Date: Fri, 15 Jun 2018 17:50:48 +1200 Subject: [PATCH 3/3] Add supported module badge to readme --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index eae8037..c70a30b 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ # Translatable module for SilverStripe CMS # [![Build Status](https://secure.travis-ci.org/silverstripe/silverstripe-translatable.png?branch=2.1)](http://travis-ci.org/silverstripe/silverstripe-translatable) +[![SilverStripe supported module](https://img.shields.io/badge/silverstripe-supported-0071C4.svg)](https://www.silverstripe.org/software/addons/silverstripe-commercially-supported-module-list/) ## Introduction ##