diff options
author | Struan Donald <struan@exo.org.uk> | 2012-08-23 16:27:00 +0100 |
---|---|---|
committer | Struan Donald <struan@exo.org.uk> | 2012-08-23 16:27:00 +0100 |
commit | ce3622a64d372eb4ee0c3a27f943061a434e06e4 (patch) | |
tree | 7494c586d38e9eb8306adc48966e6bc60c079e34 /templates | |
parent | ee7770bb0130e2e0483af203c7410dad8269bdd7 (diff) |
allow adding of message manager messages as updates rather than as issues
Diffstat (limited to 'templates')
-rw-r--r-- | templates/web/fixmybarangay/report/_message_manager.html | 87 | ||||
-rw-r--r-- | templates/web/fixmystreet/report/display.html | 4 |
2 files changed, 89 insertions, 2 deletions
diff --git a/templates/web/fixmybarangay/report/_message_manager.html b/templates/web/fixmybarangay/report/_message_manager.html new file mode 100644 index 000000000..2e43af165 --- /dev/null +++ b/templates/web/fixmybarangay/report/_message_manager.html @@ -0,0 +1,87 @@ + +<ul id="message_manager" class="issue-list-a tab"> + <li id="message-control"> + <div id="mm-username-container">username: <span id="mm-received-username"></span></div> + <div id="mm-status-message-container"> + <div id="mm-status-message"></div> + </div> + <div id="mm-login-container"> + <div class="input text"> + <label for="mm-htauth-username">MM username</label> + <input name="mm-htauth-username" id="mm-htauth-username" type="text"/> + </div> + <div class="input password"> + <label for="mm-htauth-password">Password</label> + <input name="mm-htauth-password" id="mm-htauth-password" type="password"/> + </div> + <div class="submit"> + <input id="available-submit" type="submit" value="Get available messages"/> + </div> + </div> + </li> + <li> + <div id="mm-message-list" style="min-height:1em;"></div> + </li> +</ul> + +<script type="text/javascript"> + +$(document).ready(function() { + + var mm_url = "[% c.config.MESSAGE_MANAGER_URL %]"; // from config + + var mm_populate_list = function(data) { + $('#mm-status-message-container').text("Accessed message server as " + data['username']); + $('input[name=mm_text]').prop('checked', false); // uncheck all + } + + var mm_selected_message = function(data) { + var msg_text = ""; + var service_id = ""; + if (data['success']) { + // msg_text = $('#form_detail').val( $('input[name=mm_text]:checked').val() ); # == message data + msg_text = data['data']['Message']['message']; + service_id = data['data']['Message']['id']; + } else { + $('input[name=mm_text]').prop('checked', false); // uncheck all + } + $('#form_detail').val(msg_text); + $('#external_source_id').val(service_id); + } + + message_manager.config({url_root: mm_url}); + message_manager.setup_click_listener({callback:mm_selected_message}); + + // problem form hidden input "external_source_id": pass the MM id into FMS, if used + $('<input type="hidden"/>').attr({ + 'id': 'external_source_id', + 'name': 'external_source_id', + }).appendTo($('#form_update_form')); + + $('#available-submit').click(function(e){ + e.preventDefault(); + message_manager.get_available_messages({callback:mm_populate_list}); + }); + $('#available-submit').click(); + + $('<input type="button" value="Copy to update"/>').attr({ + 'id': 'add_support', + 'name': 'add_support', + 'class': 'green-btn' + }).insertAfter($('#message_manager')); + + $('#add_support').click(function(e){ + e.preventDefault(); + $('#mm-message-list input:checked').each( function(index) { + var id = $(this).attr('id'); + id = id.replace('mm_text_',''); + $('#external_source_id').val(id); + $('#form_update').val( $(this).val() ); + $('#form_update_form').on('submit', function(e) { + message_manager.assign_fms_id( $('#external_source_id').val(), [% problem.id %], { 'is_async': false } ); + }); + }); + }); +}); + +</script> diff --git a/templates/web/fixmystreet/report/display.html b/templates/web/fixmystreet/report/display.html index 269b1d15e..82d8efd8e 100644 --- a/templates/web/fixmystreet/report/display.html +++ b/templates/web/fixmystreet/report/display.html @@ -25,7 +25,7 @@ [% END %] [% INCLUDE 'report/_main.html' %] - +[% TRY %][% INCLUDE 'report/_message_manager.html' %][% CATCH file %][% END %] <div class="shadow-wrap"> <ul id="key-tools"> @@ -68,7 +68,7 @@ [% INCLUDE 'errors.html' %] - <form method="post" action="[% c.uri_for( '/report/update' ) %]" name="updateForm" class="validate"[% IF c.cobrand.allow_photo_upload %] enctype="multipart/form-data"[% END %]> + <form method="post" action="[% c.uri_for( '/report/update' ) %]" id="form_update_form" name="updateForm" class="validate"[% IF c.cobrand.allow_photo_upload %] enctype="multipart/form-data"[% END %]> <fieldset> <input type="hidden" name="submit_update" value="1"> <input type="hidden" name="id" value="[% problem.id | html %]"> |