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

40 lines
1018 B
Plaintext
Raw Normal View History

2018-06-15 11:03:24 -04:00
import { ajax } from "discourse/lib/ajax";
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() {
2018-06-15 11:03:24 -04:00
return ajax("/admin/badges.json").then(json => {
this._json = json;
2015-08-18 21:24:09 -04:00
return Badge.createFromJson(json);
});
},
setupController(controller, model) {
const json = this._json;
const badgeTriggers = [];
const badgeGroupings = [];
2018-06-15 11:03:24 -04:00
_.each(json.admin_badges.triggers, function(v, k) {
badgeTriggers.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,
model
});
}
});