From 296f4fb5400633db43fe02d760f1c95757b1d60a Mon Sep 17 00:00:00 2001 From: Andrei Prigorshnev Date: Fri, 29 Mar 2024 23:06:54 +0400 Subject: [PATCH] WIP: Synchronizing assignee in the form --- .../discourse/components/assign-user-form.js | 6 ++---- .../discourse/initializers/extend-for-assigns.js | 11 ++++++++++- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/assets/javascripts/discourse/components/assign-user-form.js b/assets/javascripts/discourse/components/assign-user-form.js index 0b874fd..2d3dbf9 100644 --- a/assets/javascripts/discourse/components/assign-user-form.js +++ b/assets/javascripts/discourse/components/assign-user-form.js @@ -99,10 +99,8 @@ export default class AssignUserForm extends Component { if (selectedTargetId === this.TOPIC) { assignee = topic.assigned_to_user; } else { - const assignment = Object.values(topic.indirectly_assigned_to).find( - (v) => v.post_number === selectedTargetId - ); - assignee = assignment.assigned_to; + const postNumber = selectedTargetId; + assignee = topic.postAssignee(postNumber); } this.assigneeName = assignee.username; diff --git a/assets/javascripts/discourse/initializers/extend-for-assigns.js b/assets/javascripts/discourse/initializers/extend-for-assigns.js index dcde7df..f66812c 100644 --- a/assets/javascripts/discourse/initializers/extend-for-assigns.js +++ b/assets/javascripts/discourse/initializers/extend-for-assigns.js @@ -79,6 +79,13 @@ function extendTopicModel(api) { hasAssignedPosts() { return !!this.assignedPosts().length; }, + + postAssignee(postNumber) { + const assignment = this.assignedPosts().find( + (p) => p.post_number === postNumber + ); + return assignment?.assigned_to; + }, }); } @@ -569,7 +576,9 @@ function initialize(api) { return new RenderGlimmer( this, "p.assigned-to", - hbs``, + hbs` + `, { assignedToUser: attrs.post.assigned_to_user, assignedToGroup: attrs.post.assigned_to_group,