discourse/app/assets/javascripts/admin/addon/routes/admin-badges.js
Martin Brennan 23b7b42acd
DEV: Bump eslint-config-discourse (#14868)
Changes for 4f7aba06c0

Also fixes all of the object-shorthand violations in our JS code.
2021-11-10 09:31:41 +10:00

43 lines
1.1 KiB
JavaScript

import Badge from "discourse/models/badge";
import BadgeGrouping from "discourse/models/badge-grouping";
import DiscourseRoute from "discourse/routes/discourse";
import I18n from "I18n";
import { ajax } from "discourse/lib/ajax";
export default DiscourseRoute.extend({
_json: null,
model() {
return ajax("/admin/badges.json").then((json) => {
this._json = json;
return Badge.createFromJson(json);
});
},
setupController(controller, model) {
const json = this._json;
const badgeTriggers = [];
const badgeGroupings = [];
Object.keys(json.admin_badges.triggers).forEach((k) => {
const id = json.admin_badges.triggers[k];
badgeTriggers.push({
id,
name: I18n.t("admin.badges.trigger_type." + k),
});
});
json.badge_groupings.forEach(function (badgeGroupingJson) {
badgeGroupings.push(BadgeGrouping.create(badgeGroupingJson));
});
controller.setProperties({
badgeGroupings,
badgeTypes: json.badge_types,
protectedSystemFields: json.admin_badges.protected_system_fields,
badgeTriggers,
model,
});
},
});