mirror of
https://gh.wpcy.net/https://github.com/discourse/discourse.git
synced 2026-05-26 04:58:53 +08:00
In the /admin/badges view, badges are showing as enabled even when they are verifiably disabled in the database. This is happening because the defaults (needed to render the "new badge" form) are overwriting the actual value. Since the enabled default is only used for "new badge" form, move it to the route where the other "new badge" defaults are being set.
30 lines
868 B
JavaScript
Vendored
30 lines
868 B
JavaScript
Vendored
import { get } from "@ember/object";
|
|
import Route from "@ember/routing/route";
|
|
import { service } from "@ember/service";
|
|
import Badge from "discourse/models/badge";
|
|
import { i18n } from "discourse-i18n";
|
|
|
|
export default class AdminBadgesShowRoute extends Route {
|
|
@service dialog;
|
|
@service adminBadges;
|
|
|
|
serialize(model) {
|
|
return { badge_id: get(model, "id") || "new" };
|
|
}
|
|
|
|
async model(params) {
|
|
await this.adminBadges.fetchBadges();
|
|
|
|
if (params.badge_id === "new") {
|
|
return Badge.create({
|
|
name: i18n("admin.badges.new_badge"),
|
|
enabled: true,
|
|
badge_type_id: this.adminBadges.badgeTypes[0].id,
|
|
badge_grouping_id: this.adminBadges.badgeGroupings[0].id,
|
|
trigger: this.adminBadges.badgeTriggers[0].id,
|
|
});
|
|
}
|
|
|
|
return this.adminBadges.badges.findBy("id", parseInt(params.badge_id, 10));
|
|
}
|
|
}
|