From 89bdca9c8c7bace0ff94b6ddca7442b1249af008 Mon Sep 17 00:00:00 2001 From: Robin Ward Date: Wed, 21 Dec 2016 16:38:57 -0500 Subject: [PATCH] FIX: Backwards compatibility for controller in raw templates --- .../javascripts/discourse-common/lib/raw-handlebars.js.es6 | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/app/assets/javascripts/discourse-common/lib/raw-handlebars.js.es6 b/app/assets/javascripts/discourse-common/lib/raw-handlebars.js.es6 index 423d8e88352..5399bfb6ce1 100644 --- a/app/assets/javascripts/discourse-common/lib/raw-handlebars.js.es6 +++ b/app/assets/javascripts/discourse-common/lib/raw-handlebars.js.es6 @@ -1,3 +1,5 @@ +import deprecated from 'discourse-common/lib/deprecated'; + // This is a mechanism for quickly rendering templates which is Ember aware // templates are highly compatible with Ember so you don't need to worry about calling "get" // and computed properties function, additionally it uses stringParams like Ember does @@ -18,6 +20,11 @@ RawHandlebars.helpers['get'] = function(context, options) { var firstContext = options.contexts[0]; var val = firstContext[context]; + if (context.indexOf('controller') === 0) { + deprecated("Don't `use controller` in raw templates"); + context = context.replace(/^controller\./, ''); + } + if (val && val.isDescriptor) { return Em.get(firstContext, context); } val = val === undefined ? Em.get(firstContext, context): val; return val;