export default Ember.Controller.extend({
  badgeGroups: function(){
    var sorted = _.sortBy(this.get('model'), function(badge){
      var pos = badge.get('badge_grouping.position');
      var type = badge.get('badge_type_id');
      var name = badge.get('name');

      return ("000" + pos).slice(-4) + (10-type) + name;
    });

    var grouped = [];
    var group = [], groupId;

    sorted.forEach(function(badge){
      if(groupId !== badge.badge_grouping_id){
        if(group && group.length > 0){
          grouped.push({badges: group, badgeGrouping: group[0].badge_grouping});
        }
        group = [];
        groupId = badge.badge_grouping_id;
      }
      group.push(badge);
    });

    if(group && group.length > 0){
      grouped.push({badges: group, badgeGrouping: group[0].badge_grouping});
    }

    return grouped;

  }.property('model')
});
