FIX: Refresh members and tab count when assignments change
This commit is contained in:
parent
3c0f8be0d9
commit
a844da7656
|
@ -147,7 +147,12 @@ module DiscourseAssign
|
||||||
.limit(limit)
|
.limit(limit)
|
||||||
.offset(offset)
|
.offset(offset)
|
||||||
|
|
||||||
render json: { members: serialize_data(members, GroupUserAssignedSerializer) }
|
assignment_count = Topic.joins("JOIN topic_custom_fields tcf ON topics.id = tcf.topic_id AND tcf.name = 'assigned_to_id' AND tcf.value IS NOT NULL")
|
||||||
|
.where("tcf.value IN (SELECT group_users.user_id::varchar(255) FROM group_users WHERE (group_id IN (SELECT id FROM groups WHERE name = ?)))", group.name)
|
||||||
|
.where("topics.deleted_at IS NULL")
|
||||||
|
.count
|
||||||
|
|
||||||
|
render json: { members: serialize_data(members, GroupUserAssignedSerializer), "assignment_count" => assignment_count }
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
import { inject as service } from "@ember/service";
|
import { inject as service } from "@ember/service";
|
||||||
import Controller, { inject as controller } from "@ember/controller";
|
import Controller, { inject as controller } from "@ember/controller";
|
||||||
import { ajax } from "discourse/lib/ajax";
|
import { ajax } from "discourse/lib/ajax";
|
||||||
|
import { observes } from "discourse-common/utils/decorators";
|
||||||
|
|
||||||
export default Controller.extend({
|
export default Controller.extend({
|
||||||
router: service(),
|
router: service(),
|
||||||
|
@ -8,6 +9,11 @@ export default Controller.extend({
|
||||||
loading: false,
|
loading: false,
|
||||||
offset: 0,
|
offset: 0,
|
||||||
|
|
||||||
|
@observes("model.assignment_count")
|
||||||
|
assignmentCountChanged() {
|
||||||
|
this.set("group.assignment_count", this.model.assignment_count);
|
||||||
|
},
|
||||||
|
|
||||||
findMembers(refresh) {
|
findMembers(refresh) {
|
||||||
if (refresh) {
|
if (refresh) {
|
||||||
this.set("members", this.model.members);
|
this.set("members", this.model.members);
|
||||||
|
|
|
@ -39,11 +39,5 @@ export default DiscourseRoute.extend({
|
||||||
|
|
||||||
renderTemplate() {
|
renderTemplate() {
|
||||||
this.render("group-topics-list");
|
this.render("group-topics-list");
|
||||||
},
|
|
||||||
|
|
||||||
actions: {
|
|
||||||
changeAssigned() {
|
|
||||||
this.refresh();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -22,5 +22,11 @@ export default DiscourseRoute.extend({
|
||||||
} else {
|
} else {
|
||||||
this.transitionTo("group.assigned.show", "everyone");
|
this.transitionTo("group.assigned.show", "everyone");
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
actions: {
|
||||||
|
changeAssigned() {
|
||||||
|
this.refresh();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue