diff --git a/app/assets/javascripts/discourse/controllers/user-badges.js.es6 b/app/assets/javascripts/discourse/controllers/user-badges.js.es6 index 95cb31236b4..3ceae1ec135 100644 --- a/app/assets/javascripts/discourse/controllers/user-badges.js.es6 +++ b/app/assets/javascripts/discourse/controllers/user-badges.js.es6 @@ -1,3 +1,18 @@ export default Ember.ArrayController.extend({ - sortProperties: ['grouping_position', 'badge.badge_type.sort_order', 'badge.name', 'badge.id'] + sortProperties: ['badge.badge_type.sort_order', 'badge.name'], + orderBy: function(ub1, ub2){ + var sr1 = ub1.get('badge.badge_type.sort_order'); + var sr2 = ub2.get('badge.badge_type.sort_order'); + + + if(sr1 > sr2) { + return -1; + } + + if(sr2 > sr1) { + return 1; + } + + return ub1.get('badge.name') < ub2.get('badge.name') ? -1 : 1; + } }); diff --git a/app/assets/javascripts/discourse/templates/user/badges.hbs b/app/assets/javascripts/discourse/templates/user/badges.hbs index 60e5b3e5632..e2d943dcb82 100644 --- a/app/assets/javascripts/discourse/templates/user/badges.hbs +++ b/app/assets/javascripts/discourse/templates/user/badges.hbs @@ -1,5 +1,5 @@
- {{#each ub in model}} + {{#each ub in controller}} {{user-badge badge=ub.badge count=ub.count}} {{/each}}