discourse/app/assets/javascripts/admin/routes/admin-badges.js.es6

38 lines
1.0 KiB
Plaintext
Raw Normal View History

2016-06-30 13:55:44 -04:00
import { ajax } from 'discourse/lib/ajax';
2015-08-18 21:24:09 -04:00
import Badge from 'discourse/models/badge';
import BadgeGrouping from 'discourse/models/badge-grouping';
2015-08-18 21:24:09 -04:00
export default Discourse.Route.extend({
_json: null,
model: function() {
var self = this;
2016-06-30 13:55:44 -04:00
return ajax('/admin/badges.json').then(function(json) {
self._json = json;
2015-08-18 21:24:09 -04:00
return Badge.createFromJson(json);
});
},
setupController: function(controller, model) {
var json = this._json,
triggers = [],
badgeGroupings = [];
_.each(json.admin_badges.triggers,function(v,k){
triggers.push({id: v, name: I18n.t('admin.badges.trigger_type.'+k)});
});
json.badge_groupings.forEach(function(badgeGroupingJson) {
badgeGroupings.push(BadgeGrouping.create(badgeGroupingJson));
});
controller.setProperties({
badgeGroupings: badgeGroupings,
badgeTypes: json.badge_types,
protectedSystemFields: json.admin_badges.protected_system_fields,
badgeTriggers: triggers,
model: model
});
}
});