summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEvgeny Fadeev <evgeny.fadeev@gmail.com>2010-10-21 21:14:55 -0400
committerEvgeny Fadeev <evgeny.fadeev@gmail.com>2010-10-21 21:14:55 -0400
commit0f59c8c0bdcf93959e019aca01862a68d2c51e62 (patch)
tree0d9330bc60ece0c9d6fadad094d33fdeb9e75872
parent79a445dea600402535eb801034465f4d42356a0e (diff)
downloadaskbot-0f59c8c0bdcf93959e019aca01862a68d2c51e62.tar.gz
askbot-0f59c8c0bdcf93959e019aca01862a68d2c51e62.tar.bz2
askbot-0f59c8c0bdcf93959e019aca01862a68d2c51e62.zip
made login screen more accessible and fixed a bug in the paginator macro
-rwxr-xr-xaskbot/skins/default/media/jquery-openid/jquery.openid.js138
-rw-r--r--askbot/skins/default/templates/macros.html4
2 files changed, 91 insertions, 51 deletions
diff --git a/askbot/skins/default/media/jquery-openid/jquery.openid.js b/askbot/skins/default/media/jquery-openid/jquery.openid.js
index 7c89958c..19067bab 100755
--- a/askbot/skins/default/media/jquery-openid/jquery.openid.js
+++ b/askbot/skins/default/media/jquery-openid/jquery.openid.js
@@ -17,17 +17,35 @@ $.fn.authenticator = function() {
var account_recovery_question_text = account_recovery_heading.html();
var account_recovery_prompt_text = account_recovery_text_span.html();
- var setup_event_handlers = function(elements, handler_function){
+ var setup_click_handler = function(elements, handler_function){
elements.unbind('click').click(handler_function);
- elements.unbind('keypress').keypress(
- function(e){
- if ((e.which && e.which == 13)||(e.keyCode && e.keyCode == 13)){
- return handler_function();
- }
+ };
+
+ var setup_enter_key_handler = function(elements, handler_function){
+ elements.each(
+ function(index, element){
+ $(element).unbind('keypress').keypress(
+ function(e){
+ if ((e.which && e.which == 13)||(e.keyCode && e.keyCode == 13)){
+ if (handler_function){
+ return handler_function();
+ }
+ else {
+ element.click();
+ return false;
+ }
+ }
+ }
+ );
}
);
};
+ var setup_event_handlers = function(elements, handler_function){
+ setup_click_handler(elements, handler_function);
+ setup_enter_key_handler(elements);
+ };
+
var read_existing_login_methods = function(){
$('.ab-provider-row').each(
function(i, provider_row){
@@ -97,6 +115,7 @@ $.fn.authenticator = function() {
var submit_login_with_password = function(){
var username = $('#id_username');
var password = $('#id_password');
+
if (username.val().length < 1){
username.focus();
return false;
@@ -237,6 +256,15 @@ $.fn.authenticator = function() {
var start_login_with_extra_openid_token = function() {
show_openid_input_fields($(this).attr('name'));
set_provider_name($(this));
+
+ setup_enter_key_handler(
+ openid_login_token_input,
+ function(){
+ openid_submit_button.click();
+ return false;
+ }
+ );
+
setup_event_handlers(
openid_submit_button,
function(){
@@ -295,6 +323,8 @@ $.fn.authenticator = function() {
)
password_button.val(password_button_text);
password_action_input.val('change_password');
+ var focus_input = $('#id_new_password');
+ var submittable_input = $('#id_new_password_retyped');
}
else{
$('#password-heading>span').html(token_name);
@@ -313,18 +343,24 @@ $.fn.authenticator = function() {
create_pw_link.attr('href', url);
}
password_action_input.val('login');
+ var focus_input = $('#id_username');
+ var submittable_input = $('#id_password');
}
password_input_fields.show();
- setup_event_handlers(
- password_button,
- function(){
- signin_form.unbind(
- 'submit'
- ).submit(
- submit_action
- );
+ focus_input.focus();
+
+ var submit_password_login = function(){
+ signin_form.unbind('submit').submit(submit_action);
+ };
+
+ setup_enter_key_handler(
+ submittable_input,
+ function() {
+ password_button.click();
+ return false;
}
);
+ setup_event_handlers(password_button, submit_password_login);
return false;
};
@@ -343,42 +379,46 @@ $.fn.authenticator = function() {
$('#id_new_password_retyped').val('');
};
- setup_event_handlers(
- signin_page.find('input.openid-direct'),
- start_simple_login
- );
-
- setup_event_handlers(
- signin_page.find('input.openid-username'),
- start_login_with_extra_openid_token
- );
-
- setup_event_handlers(
- signin_page.find('input.openid-generic'),
- start_login_with_extra_openid_token
- );
-
- setup_event_handlers(
- signin_page.find('input.facebook'),
- start_facebook_login
- );
-
- setup_event_handlers(
- signin_page.find('input.oauth'),
- start_simple_login
- );
-
- setup_event_handlers(
- signin_page.find('input.password'),
- start_password_login_or_change
- );
-
- setup_event_handlers(account_recovery_link, start_account_recovery);
- if (userIsAuthenticated){
- read_existing_login_methods();
- setup_login_method_deleters();
- }
+ var setup_default_handlers = function(){
+ setup_event_handlers(
+ signin_page.find('input.openid-direct'),
+ start_simple_login
+ );
+
+ setup_event_handlers(
+ signin_page.find('input.openid-username'),
+ start_login_with_extra_openid_token
+ );
+
+ setup_event_handlers(
+ signin_page.find('input.openid-generic'),
+ start_login_with_extra_openid_token
+ );
+
+ setup_event_handlers(
+ signin_page.find('input.facebook'),
+ start_facebook_login
+ );
+
+ setup_event_handlers(
+ signin_page.find('input.oauth'),
+ start_simple_login
+ );
+
+ setup_event_handlers(
+ signin_page.find('input.password'),
+ start_password_login_or_change
+ );
+
+ setup_event_handlers(account_recovery_link, start_account_recovery);
+
+ if (userIsAuthenticated){
+ read_existing_login_methods();
+ setup_login_method_deleters();
+ }
+ };
+ setup_default_handlers();
clear_password_fields();
return this;
};
diff --git a/askbot/skins/default/templates/macros.html b/askbot/skins/default/templates/macros.html
index aa982f1b..7995012a 100644
--- a/askbot/skins/default/templates/macros.html
+++ b/askbot/skins/default/templates/macros.html
@@ -49,7 +49,7 @@
{% if p.is_paginated %}
<div class="paginator">
{% if p.has_previous %}
- <span class="prev"><a href="{{p.base_url}}page={{ p.contextprevious }}{{ p.extend_url }}" title="{% trans %}previous{% endtrans %}">
+ <span class="prev"><a href="{{p.base_url}}page={{ p.previous }}{{ p.extend_url }}" title="{% trans %}previous{% endtrans %}">
&laquo; {% trans %}previous{% endtrans %}</a></span>
{% endif %}
{% if not p.in_leading_range %}
@@ -74,7 +74,7 @@
{% endfor %}
{% endif %}
{% if p.has_next %}
- <span class="next"><a href="{{p.base_url}}page={{ next }}{{ p.extend_url }}" title="{% trans %}next page{% endtrans %}">{% trans %}next page{% endtrans %} &raquo;</a></span>
+ <span class="next"><a href="{{p.base_url}}page={{ p.next }}{{ p.extend_url }}" title="{% trans %}next page{% endtrans %}">{% trans %}next page{% endtrans %} &raquo;</a></span>
{% endif %}
</div>
{% endif %}