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/controllers/group-add-members.js.es6
2019-05-27 10:15:39 +02:00

47 lines
1.2 KiB
JavaScript

import computed from "ember-addons/ember-computed-decorators";
import { extractError } from "discourse/lib/ajax-error";
import ModalFunctionality from "discourse/mixins/modal-functionality";
export default Ember.Controller.extend(ModalFunctionality, {
loading: false,
setAsOwner: false,
@computed("model.usernames", "loading")
disableAddButton(usernames, loading) {
return loading || !usernames || !(usernames.length > 0);
},
actions: {
addMembers() {
this.set("loading", true);
const model = this.model;
const usernames = model.get("usernames");
if (Ember.isEmpty(usernames)) {
return;
}
let promise;
if (this.setAsOwner) {
promise = model.addOwners(usernames, true);
} else {
promise = model.addMembers(usernames, true);
}
promise
.then(() => {
this.transitionToRoute("group.members", this.get("model.name"), {
queryParams: { filter: usernames }
});
model.set("usernames", null);
this.send("closeModal");
})
.catch(error => {
this.flash(extractError(error), "error");
})
.finally(() => this.set("loading", false));
}
}
});