From 4fbb693bad8a280c02623a8967ec96813f797031 Mon Sep 17 00:00:00 2001 From: Andrei Prigorshnev Date: Fri, 29 Mar 2024 01:21:38 +0400 Subject: [PATCH] Show real posts that has assignments instead of scaffolded values --- .../discourse/components/assign-user-form.hbs | 2 +- .../discourse/components/assign-user-form.js | 25 +++++++++++++++---- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/assets/javascripts/discourse/components/assign-user-form.hbs b/assets/javascripts/discourse/components/assign-user-form.hbs index cfd7427..fe3234c 100644 --- a/assets/javascripts/discourse/components/assign-user-form.hbs +++ b/assets/javascripts/discourse/components/assign-user-form.hbs @@ -2,7 +2,7 @@
diff --git a/assets/javascripts/discourse/components/assign-user-form.js b/assets/javascripts/discourse/components/assign-user-form.js index 90408c0..de089a1 100644 --- a/assets/javascripts/discourse/components/assign-user-form.js +++ b/assets/javascripts/discourse/components/assign-user-form.js @@ -19,11 +19,26 @@ export default class AssignUserForm extends Component { } get assignments() { - return [ - { id: 1, name: "Topic" }, - { id: 2, name: "Post #1" }, - { id: 3, name: "Post #2" }, - ]; + const topicAssignment = { id: 0, name: "Topic" }; + return [topicAssignment, ...this.postAssignments]; + } + + get postAssignments() { + if (this.args.model.targetType !== "Topic") { + return []; + } + + const topic = this.args.model.target; + if ( + !topic.indirectly_assigned_to || + !Object.keys(topic.indirectly_assigned_to).length + ) { + return []; + } + + return Object.values(topic.indirectly_assigned_to).map((value) => { + return { id: value.post_number, name: `Post #${value.post_number}` }; + }); } get availableStatuses() {