diff options
Diffstat (limited to 'templates/web')
-rw-r--r-- | templates/web/fixmybarangay/report/_message_manager.html | 101 | ||||
-rw-r--r-- | templates/web/fixmystreet/report/new/fill_in_details_form.html | 12 |
2 files changed, 90 insertions, 23 deletions
diff --git a/templates/web/fixmybarangay/report/_message_manager.html b/templates/web/fixmybarangay/report/_message_manager.html index 46c926077..ede5a3f4c 100644 --- a/templates/web/fixmybarangay/report/_message_manager.html +++ b/templates/web/fixmybarangay/report/_message_manager.html @@ -6,7 +6,10 @@ <ul id="message_manager" class="issue-list-a tab" style="display: none"> <li id="message-control"> - <a id="mm-link-to-admin" href="[% c.config.MESSAGE_MANAGER_URL %]">[admin]</a> + <div id="mm-admin-buttons"> + <a id="mm-link-to-admin" href="[% c.config.MESSAGE_MANAGER_URL %]">[admin]</a> + <a id="mm-link-to-refresh" href="#">[refresh]</a> + </div> <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> @@ -31,19 +34,50 @@ </ul> <div style="display:none"> <div id="reply-form-container"> - <div id="reply-form"> + <form action="#" id="reply-form" onsubmit="event.returnValue = false; return false;" method="post" accept-charset="utf-8"> + <div style="display:none;"> + <input type="hidden" name="_method" value="POST"/> + </div> + <!-- populated by Ajax call --> + <div class="input" id="mm-boilerplate-replies-box"> + <label for="boilerplate-replies">Use preloaded reply:</label> + <select name="boilerplate-replies" id="mm-boilerplate-replies"></select> + </div> + <div class="input text"> + <label for="reply_text">Reply text</label> + <textarea name="reply_text" id="reply_text" cols="32" rows="3"></textarea> + </div> <input type="hidden" name="message_id" id="reply_to_msg_id"/> - <div> - <label for="reply_text">Reply text:</label> - <textarea name="reply_text" id="reply_text"></textarea> + <div class="submit"> + <input id="reply-submit" type="submit" value="Send Reply"/> + </div> + </form> + </div> +</div> +<div style="display:none"> + <div id="hide-form-container"> + <p style="color:#000">Hiding message: <span id="hide-form-message-text"></span></p> + <form action="#" id="hide-form" onsubmit="event.returnValue = false; return false;" method="post" accept-charset="utf-8"> + <div style="display:none;"> + <input type="hidden" name="_method" value="POST"/> + </div> + <!-- populated by Ajax call --> + <div class="input" id="mm-boilerplate-hide-reasons-box"> + <label for="boilerplate-hide-reasons">Use preloaded reason:</label> + <select name="boilerplate-hide-reasons" id="mm-hide-reasons"></select> + </div> + <div class="input textarea"> + <label for="reason_text">Reason for hiding message</label> + <textarea name="reason_text" id="reason_text" cols="32" rows="3"></textarea> </div> + <input type="hidden" name="msg_id" id="hide_msg_id"/> <div class="submit"> - <input id="reply-submit" type="submit" value="Send Reply" class="green-btn"/> + <input id="hide-submit" type="submit" value="Hide Message"/> </div> - </div> + </form> </div> </div> - + <script type="text/javascript"> $(document).ready(function() { @@ -52,16 +86,31 @@ $(document).ready(function() { var problem_id = "[% problem.id %]"; var dummy_busy = false; var fms_username = "[% c.user.email | replace('\@.*', '') %]"; + var timeout_id = 0; + var can_refresh = true; // disable refresh + var refresh_period = 60000 * 3; // refresh messages every three minutes function sanitise_id(css_id) { return css_id.replace(/\D/g, ""); } + var mm_refresh_messages = function() { + $('#mm-link-to-refresh').fadeOut(); + $('#available-submit').click(); + } + var mm_populate_list = function(data) { $('#mm-status-message-container').text("Accessed Message Manager as " + data['username']); $('input[name=mm_text]').prop('checked', false); // uncheck all + $('#mm-link-to-refresh').delay(2000).fadeIn(); + if (refresh_period && can_refresh) { + if (timeout_id) { + clearTimeout(timeout_id); + } + timeout_id = setTimeout(mm_refresh_messages, refresh_period); + } } - + var mm_selected_message = function(data) { var msg_text = ""; var service_id = ""; @@ -99,7 +148,11 @@ $(document).ready(function() { $('#available-submit').click(function(e){ e.preventDefault(); - message_manager.get_available_messages({callback:mm_populate_list, suggest_username:fms_username}); + message_manager.get_available_messages({ + callback: mm_populate_list, + suggest_username: fms_username, + anim_duration: 500 + }); }); $('#available-submit').click(); @@ -108,16 +161,16 @@ $(document).ready(function() { $('.mm-msg-action', $mm_message_list).stop().fadeOut(200); $(this).find('> .mm-msg-action').stop().show(); }); - - $mm_message_list.on('click', '.mm-hide', function(e){ - var want_hide = - confirm('Are you sure you want to delete the following message?\n\n"' - + $('p', $(this).parent()).first().text() + '"\n'); - if (want_hide) { - message_manager.hide( - sanitise_id($(this).parent().attr('id')), - {callback:dummy_hide_cleanup}); - } + + $('#mm-message-list').on('click', '.mm-info', function(e){ + message_manager.show_info(sanitise_id($(this).parent().attr('id'))); + }); + + $('#mm-hide-reasons').change(function(e){ + $('#reason_text').val($(this).val()); // load reason_text with boilerplate reason + }); + $('#mm-boilerplate-replies').change(function(e){ + $('#reply_text').val($(this).val()); // load reason_text with boilerplate reason }); $('#reply-submit').click(function(e) { @@ -159,6 +212,14 @@ $(document).ready(function() { $('#message_manager').toggle(); $('#show_messages').val( $('#show_messages').val() == 'Show Messages' ? 'Hide Messages' : 'Show Messages' ); }); + + $('#mm-link-to-refresh').on('click', function(e) { + e.preventDefault(); + mm_refresh_messages(); + }); + + message_manager.populate_boilerplate_strings('hide-reason'); + message_manager.populate_boilerplate_strings('reply'); }); </script> diff --git a/templates/web/fixmystreet/report/new/fill_in_details_form.html b/templates/web/fixmystreet/report/new/fill_in_details_form.html index 9a3418351..032fbaf3e 100644 --- a/templates/web/fixmystreet/report/new/fill_in_details_form.html +++ b/templates/web/fixmystreet/report/new/fill_in_details_form.html @@ -127,11 +127,17 @@ [%# if there is nothing in the name field then set check box as default on form %] <div class="checkbox-group"> - <input type="checkbox" name="may_show_name" id="form_may_show_name" value="1"[% ' checked' IF !report.anonymous %]> - <label class="inline" for="form_may_show_name">[% loc('Show my name publicly') %]</label> + <input type="checkbox" name="may_show_name" id="form_may_show_name" value="1" + [% IF c.cobrand.moniker == 'fixmybarangay' && c.user.from_council %] + [% 'checked' IF report.anonymous==0 %] + [% ELSE %] + [% 'checked' IF !report.anonymous %] + [% END %] + > + <label class="inline" for="form_may_show_name">[% loc('Show my name publicly') %] </label> </div> - [% IF c.cobrand.moniker != 'fixmybarangay' || ( c.user && c.user.from_council ) %] + [% IF c.cobrand.moniker != 'fixmybarangay' || c.user.from_council %] <div class="general-sidebar-notes"> <p>[% loc('We never show your email address or phone number.') %]</p> </div> |