summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEvgeny Fadeev <evgeny.fadeev@gmail.com>2010-09-28 18:54:27 -0400
committerEvgeny Fadeev <evgeny.fadeev@gmail.com>2010-09-28 18:54:27 -0400
commit0a8ca2a20d740e9decd95708c89d87184b1d91eb (patch)
tree364fa9d1f747378265b3b09a85abac05ee5c2672
parentf472928bed29b8952d75b6b73c53033dda00d4d7 (diff)
downloadaskbot-0a8ca2a20d740e9decd95708c89d87184b1d91eb.tar.gz
askbot-0a8ca2a20d740e9decd95708c89d87184b1d91eb.tar.bz2
askbot-0a8ca2a20d740e9decd95708c89d87184b1d91eb.zip
bug in generic openid login and a query speedup
-rw-r--r--askbot/deps/django_authopenid/backends.py17
-rw-r--r--askbot/models/question.py8
2 files changed, 15 insertions, 10 deletions
diff --git a/askbot/deps/django_authopenid/backends.py b/askbot/deps/django_authopenid/backends.py
index 664307d4..554afda5 100644
--- a/askbot/deps/django_authopenid/backends.py
+++ b/askbot/deps/django_authopenid/backends.py
@@ -68,16 +68,13 @@ class AuthBackend(object):
elif method == 'openid':
provider_name = util.get_provider_name(openid_url)
- if login_providers[provider_name]['type'].startswith('openid'):
- try:
- assoc = UserAssociation.objects.get(
- openid_url = openid_url,
- provider_name = provider_name
- )
- user = assoc.user
- except UserAssociation.DoesNotExist:
- return None
- else:
+ try:
+ assoc = UserAssociation.objects.get(
+ openid_url = openid_url,
+ provider_name = provider_name
+ )
+ user = assoc.user
+ except UserAssociation.DoesNotExist:
return None
elif method == 'email':
diff --git a/askbot/models/question.py b/askbot/models/question.py
index c450eed9..7d532dec 100644
--- a/askbot/models/question.py
+++ b/askbot/models/question.py
@@ -180,6 +180,14 @@ class QuestionManager(models.Manager):
#relevance will be ignored here
qs = qs.order_by(orderby)
qs = qs.distinct()
+ qs = qs.select_related(
+ 'last_activity_by__id',
+ 'last_activity_by__username',
+ 'last_activity_by__reputation',
+ 'last_activity_by__gold',
+ 'last_activity_by__silver',
+ 'last_activity_by__bronze'
+ )
return qs, meta_data
#todo: this function is similar to get_response_receivers