diff options
author | Dave Whiteland <dave@mysociety.org> | 2012-10-01 14:21:38 +0100 |
---|---|---|
committer | Dave Whiteland <dave@mysociety.org> | 2012-10-01 16:41:42 +0100 |
commit | dc8481635f8c44762e017f0da5878aeac97164a9 (patch) | |
tree | 617c38aa2d87fbc78fd5bf77fd9e6b1e1b011e74 | |
parent | c187cb1f43b27c70419c50e3362ef10f5eb35337 (diff) |
adding a 'suggest_username' to message_manager_client.js, now only fills username if none is already in use, fixes mysociety/message-manager#26
-rw-r--r-- | templates/web/fixmybarangay/report/_message_manager.html | 3 | ||||
-rw-r--r-- | web/cobrands/fixmybarangay/message_manager_client.js | 20 |
2 files changed, 15 insertions, 8 deletions
diff --git a/templates/web/fixmybarangay/report/_message_manager.html b/templates/web/fixmybarangay/report/_message_manager.html index 94f38e04b..1518a9d69 100644 --- a/templates/web/fixmybarangay/report/_message_manager.html +++ b/templates/web/fixmybarangay/report/_message_manager.html @@ -51,7 +51,6 @@ $(document).ready(function() { var problem_id = "[% problem.id %]"; var dummy_busy = false; var fms_username = "[% c.user.email | replace('\@.*', '') %]"; - $('#mm-htauth-username').val(fms_username); // convenience... guess username:email-prefix match? function sanitise_id(css_id) { return css_id.replace(/\D/g, ""); @@ -98,7 +97,7 @@ $(document).ready(function() { $('#available-submit').click(function(e){ e.preventDefault(); - message_manager.get_available_messages({callback:mm_populate_list}); + message_manager.get_available_messages({callback:mm_populate_list, suggest_username:fms_username}); }); $('#available-submit').click(); diff --git a/web/cobrands/fixmybarangay/message_manager_client.js b/web/cobrands/fixmybarangay/message_manager_client.js index 7e00511cd..faa65b804 100644 --- a/web/cobrands/fixmybarangay/message_manager_client.js +++ b/web/cobrands/fixmybarangay/message_manager_client.js @@ -130,8 +130,11 @@ var message_manager = (function() { } }; - var show_login_form = function() { + var show_login_form = function(suggest_username) { $('.mm-msg', $message_list_element).remove(); // remove (old) messages + if ($htauth_username.size() && ! $htauth_username.val()) { + $htauth_username.val(suggest_username) + } $login_element.stop().slideDown(); }; @@ -234,16 +237,21 @@ var message_manager = (function() { }; // gets messages or else requests login + // options: suggest_username, if provided, is preloaded into the login form if provided var get_available_messages = function(options) { var base_auth = get_current_auth_credentials(); - if (base_auth === "") { - show_login_form(); - return; - } + var suggest_username = ""; if (options) { if (typeof(options.callback) === 'function') { callback = options.callback; } + if (typeof options.suggest_username === 'string') { + suggest_username = options.suggest_username; + } + } + if (base_auth === "") { + show_login_form(suggest_username); + return; } $login_element.stop().hide(); $.ajax({ @@ -265,7 +273,7 @@ var message_manager = (function() { if (st == 401 || st == 403) { var msg = (st == 401 ? "Invalid username or password for" : "Access denied: please log in to") + " " + _mm_name; say_status(msg); - show_login_form(); + show_login_form(suggest_username); } else { var err_msg = "Unable to load messages: "; if (st === 0 && textStatus === 'error') { // x-domain hard to detect, sometimes intermittent? |