This repository has been archived on 2023-03-18. You can view files and clone it, but cannot push or open issues or pull requests.
osr-discourse-src/app/assets/javascripts/discourse/routes/badges-show.js.es6
Sam fe51f84aa7 FEATURE: allow admins to enter badge long descriptions
FIX: fallback to description if badge long description is missing

Also moves all badge localization into server.en, this slims the client down

serializers pass down localized names/descriptions/long descriptions
2016-03-28 18:38:57 +11:00

49 lines
1.1 KiB
JavaScript

import UserBadge from 'discourse/models/user-badge';
import Badge from 'discourse/models/badge';
export default Discourse.Route.extend({
queryParams: {
username: {
refreshModel: true
}
},
actions: {
didTransition() {
this.controllerFor("badges/show")._showFooter();
return true;
}
},
serialize(model) {
return model.getProperties('id', 'slug');
},
model(params) {
if (PreloadStore.get("badge")) {
return PreloadStore.getAndRemove("badge").then(json => Badge.createFromJson(json));
} else {
return Badge.findById(params.id);
}
},
afterModel(model, transition) {
const username = transition.queryParams && transition.queryParams.username;
return UserBadge.findByBadgeId(model.get("id"), {username}).then(userBadges => {
this.userBadges = userBadges;
});
},
titleToken() {
const model = this.modelFor("badges.show");
if (model) {
return model.get("name");
}
},
setupController(controller, model) {
controller.set("model", model);
controller.set("userBadges", this.userBadges);
}
});