From 257e9f506e50690176d071ad43a27ddc66fbd21d Mon Sep 17 00:00:00 2001
From: sandeepsajan0 <sandeepsajan0@gmail.com>
Date: Tue, 10 May 2022 16:36:41 +0530
Subject: [PATCH] Update determination-template script with streamform
 compatibility

---
 .../templates/determinations/base_determination_form.html   | 1 +
 hypha/apply/determinations/views.py                         | 5 +++++
 .../src/javascript/apply/determination-template.js          | 6 ++++--
 3 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/hypha/apply/determinations/templates/determinations/base_determination_form.html b/hypha/apply/determinations/templates/determinations/base_determination_form.html
index 947c1fe4e..510c1d553 100644
--- a/hypha/apply/determinations/templates/determinations/base_determination_form.html
+++ b/hypha/apply/determinations/templates/determinations/base_determination_form.html
@@ -60,5 +60,6 @@
 {% endblock %}
 
 {% block extra_js %}
+    {{ field_blocks_ids|json_script:"block-ids" }}
     <script src="{% static 'js/apply/determination-template.js' %}"></script>
 {% endblock %}
diff --git a/hypha/apply/determinations/views.py b/hypha/apply/determinations/views.py
index c75fd1195..f325371ce 100644
--- a/hypha/apply/determinations/views.py
+++ b/hypha/apply/determinations/views.py
@@ -308,9 +308,14 @@ class DeterminationCreateOrUpdateView(BaseStreamForm, CreateOrUpdateView):
         site = Site.find_for_request(self.request)
         determination_messages = DeterminationMessageSettings.for_site(site)
 
+        field_blocks_ids = {}
+        for field_block in self.get_defined_fields():
+            field_blocks_ids[field_block.block_type] = field_block.id
+
         return super().get_context_data(
             submission=self.submission,
             message_templates=determination_messages.get_for_stage(self.submission.stage.name),
+            field_blocks_ids=field_blocks_ids,
             **kwargs
         )
 
diff --git a/hypha/static_src/src/javascript/apply/determination-template.js b/hypha/static_src/src/javascript/apply/determination-template.js
index 092e2ce55..a243faa3d 100644
--- a/hypha/static_src/src/javascript/apply/determination-template.js
+++ b/hypha/static_src/src/javascript/apply/determination-template.js
@@ -1,10 +1,11 @@
 (function ($) {
 
     'use strict';
+    const field_blocks_ids = JSON.parse(document.getElementById('block-ids').textContent);
 
     let DeterminationCopy = class {
         static selector() {
-            return '#id_outcome';
+            return ('#id_' + field_blocks_ids['determination']);
         }
 
         constructor(node) {
@@ -32,7 +33,8 @@
         }
 
         updateTextArea(text) {
-            window.tinyMCE.get('id_message').setContent(text);
+            this.message_box = document.querySelector('#id_' + field_blocks_ids['message'] + '_ifr');
+            this.message_box.contentDocument.getElementsByTagName('body')[0].innerHTML = text;
         }
     };
 
-- 
GitLab