ES6: AvatarSelector and HeaderController - also includes support for controllers with

camelcase via an error message.
This commit is contained in:
Robin Ward
2014-04-29 21:16:57 -04:00
parent a4e30e8f93
commit eee5f85654
7 changed files with 40 additions and 12 deletions
@@ -18,18 +18,17 @@ Discourse.PreferencesRoute = Discourse.RestrictedUserRoute.extend({
actions: {
showAvatarSelector: function() {
Discourse.Route.showModal(this, 'avatarSelector');
Discourse.Route.showModal(this, 'avatar-selector');
// all the properties needed for displaying the avatar selector modal
var avatarSelector = this.modelFor('user').getProperties(
this.controllerFor('avatar-selector').setProperties(this.modelFor('user').getProperties(
'username', 'email',
'has_uploaded_avatar', 'use_uploaded_avatar',
'gravatar_template', 'uploaded_avatar_template');
this.controllerFor('avatarSelector').setProperties(avatarSelector);
'gravatar_template', 'uploaded_avatar_template'));
},
saveAvatarSelection: function() {
var user = this.modelFor('user');
var avatarSelector = this.controllerFor('avatarSelector');
var avatarSelector = this.controllerFor('avatar-selector');
// sends the information to the server if it has changed
if (avatarSelector.get('use_uploaded_avatar') !== user.get('use_uploaded_avatar')) {
user.toggleAvatarSelection(avatarSelector.get('use_uploaded_avatar'));