mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
FIX: save button is deactivated on create group page
This commit is contained in:
parent
d2934ae8fe
commit
7a31131239
@ -25,31 +25,30 @@ export default Em.ObjectController.extend({
|
|||||||
}.property(),
|
}.property(),
|
||||||
|
|
||||||
actions: {
|
actions: {
|
||||||
next: function() {
|
next() {
|
||||||
if (this.get("showingLast")) { return; }
|
if (this.get("showingLast")) { return; }
|
||||||
|
|
||||||
var group = this.get("model"),
|
const group = this.get("model"),
|
||||||
offset = Math.min(group.get("offset") + group.get("limit"), group.get("user_count"));
|
offset = Math.min(group.get("offset") + group.get("limit"), group.get("user_count"));
|
||||||
|
|
||||||
group.set("offset", offset);
|
group.set("offset", offset);
|
||||||
|
|
||||||
return group.findMembers();
|
return group.findMembers();
|
||||||
},
|
},
|
||||||
|
|
||||||
previous: function() {
|
previous() {
|
||||||
if (this.get("showingFirst")) { return; }
|
if (this.get("showingFirst")) { return; }
|
||||||
|
|
||||||
var group = this.get("model"),
|
const group = this.get("model"),
|
||||||
offset = Math.max(group.get("offset") - group.get("limit"), 0);
|
offset = Math.max(group.get("offset") - group.get("limit"), 0);
|
||||||
|
|
||||||
group.set("offset", offset);
|
group.set("offset", offset);
|
||||||
|
|
||||||
return group.findMembers();
|
return group.findMembers();
|
||||||
},
|
},
|
||||||
|
|
||||||
removeMember: function(member) {
|
removeMember(member) {
|
||||||
var self = this,
|
const message = I18n.t("admin.groups.delete_member_confirm", { username: member.get("username"), group: this.get("name") });
|
||||||
message = I18n.t("admin.groups.delete_member_confirm", { username: member.get("username"), group: this.get("name") });
|
|
||||||
return bootbox.confirm(message, I18n.t("no_value"), I18n.t("yes_value"), function(confirm) {
|
return bootbox.confirm(message, I18n.t("no_value"), I18n.t("yes_value"), function(confirm) {
|
||||||
if (confirm) {
|
if (confirm) {
|
||||||
self.get("model").removeMember(member);
|
self.get("model").removeMember(member);
|
||||||
@ -57,57 +56,49 @@ export default Em.ObjectController.extend({
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
addMembers: function() {
|
addMembers() {
|
||||||
if (Em.isEmpty(this.get("usernames"))) { return; }
|
if (Em.isEmpty(this.get("usernames"))) { return; }
|
||||||
this.get("model").addMembers(this.get("usernames"));
|
this.get("model").addMembers(this.get("usernames"));
|
||||||
// clear the user selector
|
// clear the user selector
|
||||||
this.set("usernames", null);
|
this.set("usernames", null);
|
||||||
},
|
},
|
||||||
|
|
||||||
save: function() {
|
save() {
|
||||||
var self = this,
|
const group = this.get('model'),
|
||||||
group = this.get('model'),
|
groupsController = this.get("controllers.adminGroupsType");
|
||||||
groupsController = this.get("controllers.adminGroupsType");
|
|
||||||
|
|
||||||
this.set('disableSave', true);
|
this.set('disableSave', true);
|
||||||
|
|
||||||
var promise;
|
let promise = group.get("id") ? group.save() : group.create().then(() => groupsController.addObject(group));
|
||||||
if (group.get("id")) {
|
|
||||||
promise = group.save();
|
promise.then(() => this.transitionToRoute("adminGroup", group))
|
||||||
} else {
|
.catch(e => bootbox.alert($.parseJSON(e.responseText).errors))
|
||||||
promise = group.create().then(function() {
|
.finally(() => this.set('disableSave', false));
|
||||||
groupsController.addObject(group);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
promise.then(function() {
|
|
||||||
self.transitionToRoute("adminGroup", group);
|
|
||||||
}, function(e) {
|
|
||||||
var message = $.parseJSON(e.responseText).errors;
|
|
||||||
bootbox.alert(message);
|
|
||||||
}).finally(function() {
|
|
||||||
self.set('disableSave', false);
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
|
|
||||||
destroy: function() {
|
destroy() {
|
||||||
var group = this.get('model'),
|
const group = this.get('model'),
|
||||||
groupsController = this.get('controllers.adminGroupsType'),
|
groupsController = this.get('controllers.adminGroupsType'),
|
||||||
self = this;
|
self = this;
|
||||||
|
|
||||||
this.set('disableSave', true);
|
this.set('disableSave', true);
|
||||||
|
|
||||||
bootbox.confirm(I18n.t("admin.groups.delete_confirm"), I18n.t("no_value"), I18n.t("yes_value"), function(confirmed) {
|
bootbox.confirm(
|
||||||
if (confirmed) {
|
I18n.t("admin.groups.delete_confirm"),
|
||||||
group.destroy().then(function() {
|
I18n.t("no_value"),
|
||||||
groupsController.get('model').removeObject(group);
|
I18n.t("yes_value"),
|
||||||
self.transitionToRoute('adminGroups.index');
|
function(confirmed) {
|
||||||
}, function() {
|
if (confirmed) {
|
||||||
bootbox.alert(I18n.t("admin.groups.delete_failed"));
|
group.destroy().then(() => {
|
||||||
}).finally(function() {
|
groupsController.get('model').removeObject(group);
|
||||||
|
self.transitionToRoute('adminGroups.index');
|
||||||
|
}).catch(() => bootbox.alert(I18n.t("admin.groups.delete_failed")))
|
||||||
|
.finally(() => self.set('disableSave', false));
|
||||||
|
} else {
|
||||||
self.set('disableSave', false);
|
self.set('disableSave', false);
|
||||||
});
|
}
|
||||||
}
|
}
|
||||||
});
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user