summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEvgeny Fadeev <evgeny.fadeev@gmail.com>2011-06-02 02:55:32 -0400
committerEvgeny Fadeev <evgeny.fadeev@gmail.com>2011-06-02 02:55:32 -0400
commite28a13973f6a4ce52b11189bdf42d658a445b932 (patch)
treea606adfea6f40707ed6437c6fb532920211ae710
parent58350defce6cd2b1f784fae5b6029ecda4f89835 (diff)
downloadaskbot-e28a13973f6a4ce52b11189bdf42d658a445b932.tar.gz
askbot-e28a13973f6a4ce52b11189bdf42d658a445b932.tar.bz2
askbot-e28a13973f6a4ce52b11189bdf42d658a445b932.zip
moved logout.html temlpate to django_authopenid app and made an openid-related statement conditional on enable/disable status of federated logins
-rw-r--r--askbot/deps/django_authopenid/urls.py1
-rw-r--r--askbot/deps/django_authopenid/util.py9
-rw-r--r--askbot/deps/django_authopenid/views.py7
-rw-r--r--askbot/skins/default/templates/authopenid/logout.html31
-rw-r--r--askbot/skins/default/templates/logout.html29
-rw-r--r--askbot/urls.py1
-rw-r--r--askbot/views/meta.py6
7 files changed, 48 insertions, 36 deletions
diff --git a/askbot/deps/django_authopenid/urls.py b/askbot/deps/django_authopenid/urls.py
index c0846c18..a533f771 100644
--- a/askbot/deps/django_authopenid/urls.py
+++ b/askbot/deps/django_authopenid/urls.py
@@ -24,6 +24,7 @@ urlpatterns = patterns('askbot.deps.django_authopenid.views',
'signup_with_password',
name='user_signup_with_password'
),
+ url(r'^%s$' % _('logout/'), 'logout_page', name='logout'),
#these two commeted out urls should work only with EMAIL_VALIDATION=True
#but the setting is disabled right now
#url(r'^%s%s$' % (_('email/'), _('sendkey/')), 'send_email_key', name='send_email_key'),
diff --git a/askbot/deps/django_authopenid/util.py b/askbot/deps/django_authopenid/util.py
index 809c6103..e6985114 100644
--- a/askbot/deps/django_authopenid/util.py
+++ b/askbot/deps/django_authopenid/util.py
@@ -403,6 +403,15 @@ def get_enabled_minor_login_providers():
}
return filter_enabled_providers(data)
+def have_enabled_federated_login_methods():
+ providers = get_enabled_major_login_providers()
+ providers.update(get_enabled_minor_login_providers())
+ provider_types = [provider['type'] for provider in providers.values()]
+ for provider_type in provider_types:
+ if provider_type.startswith('openid') or provider_type == 'oauth':
+ return True
+ return False
+
def get_enabled_login_providers():
"""return all login providers in one sorted dict
"""
diff --git a/askbot/deps/django_authopenid/views.py b/askbot/deps/django_authopenid/views.py
index 740dcaf8..f43c2dbe 100644
--- a/askbot/deps/django_authopenid/views.py
+++ b/askbot/deps/django_authopenid/views.py
@@ -105,6 +105,13 @@ def logout(request):
request.session.modified = True
_logout(request)
+def logout_page(request):
+ data = {
+ 'page_class': 'meta',
+ 'have_federated_login_methods': util.have_enabled_federated_login_methods()
+ }
+ return render_into_skin('authopenid/logout.html', data, request)
+
def get_url_host(request):
if request.is_secure():
protocol = 'https'
diff --git a/askbot/skins/default/templates/authopenid/logout.html b/askbot/skins/default/templates/authopenid/logout.html
new file mode 100644
index 00000000..a07b78d1
--- /dev/null
+++ b/askbot/skins/default/templates/authopenid/logout.html
@@ -0,0 +1,31 @@
+{% extends "one_column_body.html" %}
+<!-- template logout.html -->
+{% block title %}{% spaceless %}{% trans %}Logout{% endtrans %}{% endspaceless %}{% endblock %}
+{% block content %}
+<h1>{% trans %}You have successfully logged out{% endtrans %}</h1>
+{% if have_federated_login_methods %}
+ <p>{% trans %}However, you still may be logged in to your OpenID provider. Please logout of your provider if you wish to do so.{% endtrans %}</p>
+ {% if settings.FACEBOOK_KEY and settings.FACEBOOK_SECRET %}
+ <div id="fb-root"></div>
+ <script src="http://connect.facebook.net/en_US/all.js"></script>
+ <script>
+ FB.init({appId: '{{settings.FACEBOOK_KEY}}', status: true, cookie: true, xfbml: true});
+ </script>
+ {% endif %}
+{% endif %}
+{% endblock %}
+{% block endjs %}
+ <script type="text/javascript">
+ $(document).ready(function(){
+ //logout user from facebook
+ if (typeof FB != 'undefined'){
+ FB.getLoginStatus(function(response){
+ if (response.session){
+ FB.logout();
+ }
+ });
+ }
+ });
+ </script>
+{% endblock %}
+<!-- end logout.html -->
diff --git a/askbot/skins/default/templates/logout.html b/askbot/skins/default/templates/logout.html
deleted file mode 100644
index d9ab69f0..00000000
--- a/askbot/skins/default/templates/logout.html
+++ /dev/null
@@ -1,29 +0,0 @@
-{% extends "one_column_body.html" %}
-<!-- template logout.html -->
-{% block title %}{% spaceless %}{% trans %}Logout{% endtrans %}{% endspaceless %}{% endblock %}
-{% block content %}
-<h1>{% trans %}You have successfully logged out{% endtrans %}</h1>
-<p>{% trans %}However, you still may be logged in to your OpenID provider. Please logout of your provider if you wish to do so.{% endtrans %}</p>
-{% if settings.FACEBOOK_KEY and settings.FACEBOOK_SECRET %}
- <div id="fb-root"></div>
- <script src="http://connect.facebook.net/en_US/all.js"></script>
- <script>
- FB.init({appId: '{{settings.FACEBOOK_KEY}}', status: true, cookie: true, xfbml: true});
- </script>
-{% endif %}
-{% endblock %}
-{% block endjs %}
- <script type="text/javascript">
- $(document).ready(function(){
- //logout user from facebook
- if (typeof FB != 'undefined'){
- FB.getLoginStatus(function(response){
- if (response.session){
- FB.logout();
- }
- });
- }
- });
- </script>
-{% endblock %}
-<!-- end logout.html -->
diff --git a/askbot/urls.py b/askbot/urls.py
index b70fdd0f..ae6e7156 100644
--- a/askbot/urls.py
+++ b/askbot/urls.py
@@ -44,7 +44,6 @@ urlpatterns = patterns('',
url(r'^%s$' % _('about/'), views.meta.about, name='about'),
url(r'^%s$' % _('faq/'), views.meta.faq, name='faq'),
url(r'^%s$' % _('privacy/'), views.meta.privacy, name='privacy'),
- url(r'^%s$' % _('logout/'), views.meta.logout, name='logout'),
url(
r'^%s(?P<id>\d+)/%s$' % (_('answers/'), _('edit/')),
views.writers.edit_answer,
diff --git a/askbot/views/meta.py b/askbot/views/meta.py
index 8953200b..0fd3d60e 100644
--- a/askbot/views/meta.py
+++ b/askbot/views/meta.py
@@ -76,12 +76,6 @@ feedback.CANCEL_MESSAGE=_('We look forward to hearing your feedback! Please, giv
def privacy(request):
return render_into_skin('privacy.html', {'page_class': 'meta'}, request)
-def logout(request):
- data = {
- 'page_class': 'meta',
- }
- return render_into_skin('logout.html', data, request)
-
def badges(request):#user status/reputation system
#todo: supplement database data with the stuff from badges.py
known_badges = badge_data.BADGES.keys()