aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Whiteland <dave@mysociety.org>2012-10-01 14:21:38 +0100
committerDave Whiteland <dave@mysociety.org>2012-10-01 16:41:42 +0100
commitdc8481635f8c44762e017f0da5878aeac97164a9 (patch)
tree617c38aa2d87fbc78fd5bf77fd9e6b1e1b011e74
parentc187cb1f43b27c70419c50e3362ef10f5eb35337 (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.html3
-rw-r--r--web/cobrands/fixmybarangay/message_manager_client.js20
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?