diff --git a/hypha/apply/determinations/templates/determinations/base_determination_form.html b/hypha/apply/determinations/templates/determinations/base_determination_form.html index 947c1fe4ef7c4f754a05cbe112a6f90ca0f2ae3e..510c1d5538dccbe892b9cb13298ef2951400c00b 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 c75fd11952e5a7ef1aef4f83cf36ca1416eefa30..f325371ce105ec524826b7149527f4c4581cfae7 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 092e2ce552c32ecfc727b4fd93ecbfac973dca42..a243faa3de98b2fa93ce49848161953900fe9b66 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; } };