From 0f48414a727249aceb679cc807458ef350810837 Mon Sep 17 00:00:00 2001 From: Robin Ward Date: Tue, 26 Feb 2013 15:31:49 -0500 Subject: [PATCH] The avatar helper should be smart enough to find a nested avatar_template. Fixes #243 --- .../discourse/helpers/application_helpers.js | 17 +++++++++++------ .../topic_summary/private_message.js.handlebars | 2 +- .../templates/user/stream.js.handlebars | 4 ++-- 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/app/assets/javascripts/discourse/helpers/application_helpers.js b/app/assets/javascripts/discourse/helpers/application_helpers.js index 791d39eea4a..c3c3dfb1c70 100644 --- a/app/assets/javascripts/discourse/helpers/application_helpers.js +++ b/app/assets/javascripts/discourse/helpers/application_helpers.js @@ -121,23 +121,28 @@ Handlebars.registerHelper('lower', function(property, options) { @for Handlebars **/ Handlebars.registerHelper('avatar', function(user, options) { - var title, username; + if (typeof user === 'string') { user = Ember.Handlebars.get(this, user, options); } - username = Em.get(user, 'username'); - if (!username) { - username = Em.get(user, options.hash.usernamePath); - } + + var username = Em.get(user, 'username'); + if (!username) username = Em.get(user, options.hash.usernamePath); + + var avatarTemplate = Ember.get(user, 'avatar_template'); + if (!avatarTemplate) avatarTemplate = Em.get(user, 'user.avatar_template'); + + var title; if (!options.hash.ignoreTitle) { title = Em.get(user, 'title') || Em.get(user, 'description'); } + return new Handlebars.SafeString(Discourse.Utilities.avatarImg({ size: options.hash.imageSize, extraClasses: Em.get(user, 'extras') || options.hash.extraClasses, username: username, title: title || username, - avatarTemplate: Ember.get(user, 'avatar_template') || options.hash.avatarTemplate + avatarTemplate: avatarTemplate })); }); diff --git a/app/assets/javascripts/discourse/templates/topic_summary/private_message.js.handlebars b/app/assets/javascripts/discourse/templates/topic_summary/private_message.js.handlebars index 550f7118f91..f6892acd33e 100644 --- a/app/assets/javascripts/discourse/templates/topic_summary/private_message.js.handlebars +++ b/app/assets/javascripts/discourse/templates/topic_summary/private_message.js.handlebars @@ -3,7 +3,7 @@ {{#each content.allowed_users}}
- {{avatar this avatarTemplatePath="avatar_template" imageSize="small"}} + {{avatar this imageSize="small"}} {{unbound username}} diff --git a/app/assets/javascripts/discourse/templates/user/stream.js.handlebars b/app/assets/javascripts/discourse/templates/user/stream.js.handlebars index cf98fc5d322..b174b42cf5b 100644 --- a/app/assets/javascripts/discourse/templates/user/stream.js.handlebars +++ b/app/assets/javascripts/discourse/templates/user/stream.js.handlebars @@ -2,7 +2,7 @@ {{#collection contentBinding="stream" itemClass="item"}} {{#with view.content}}