mirror of
https://github.com/codeninjasllc/discourse.git
synced 2025-03-02 02:14:18 -05:00
45 lines
1.6 KiB
JavaScript
45 lines
1.6 KiB
JavaScript
import computed from "ember-addons/ember-computed-decorators";
|
|
import ModalFunctionality from "discourse/mixins/modal-functionality";
|
|
|
|
export default Ember.Controller.extend(ModalFunctionality, {
|
|
@computed("selected", "system_avatar_upload_id", "gravatar_avatar_upload_id", "custom_avatar_upload_id")
|
|
selectedUploadId(selected, system, gravatar, custom) {
|
|
switch (selected) {
|
|
case "system": return system;
|
|
case "gravatar": return gravatar;
|
|
default: return custom;
|
|
}
|
|
},
|
|
|
|
@computed("selected", "system_avatar_template", "gravatar_avatar_template", "custom_avatar_template")
|
|
selectedAvatarTemplate(selected, system, gravatar, custom) {
|
|
switch (selected) {
|
|
case "system": return system;
|
|
case "gravatar": return gravatar;
|
|
default: return custom;
|
|
}
|
|
},
|
|
|
|
@computed()
|
|
allowAvatarUpload() {
|
|
return this.siteSettings.allow_uploaded_avatars && Discourse.Utilities.allowsImages();
|
|
},
|
|
|
|
actions: {
|
|
useUploadedAvatar() { this.set("selected", "uploaded"); },
|
|
useGravatar() { this.set("selected", "gravatar"); },
|
|
useSystem() { this.set("selected", "system"); },
|
|
|
|
refreshGravatar() {
|
|
this.set("gravatarRefreshDisabled", true);
|
|
return Discourse
|
|
.ajax(`/user_avatar/${this.get("username")}/refresh_gravatar.json`, { method: "POST" })
|
|
.then(result => this.setProperties({
|
|
gravatar_avatar_template: result.gravatar_avatar_template,
|
|
gravatar_avatar_upload_id: result.gravatar_upload_id,
|
|
}))
|
|
.finally(() => this.set("gravatarRefreshDisabled", false));
|
|
}
|
|
}
|
|
|
|
});
|