diff options
-rw-r--r-- | askbot/deps/django_authopenid/urls.py | 1 | ||||
-rw-r--r-- | askbot/deps/django_authopenid/util.py | 9 | ||||
-rw-r--r-- | askbot/deps/django_authopenid/views.py | 7 | ||||
-rw-r--r-- | askbot/skins/default/templates/authopenid/logout.html | 31 | ||||
-rw-r--r-- | askbot/skins/default/templates/logout.html | 29 | ||||
-rw-r--r-- | askbot/urls.py | 1 | ||||
-rw-r--r-- | askbot/views/meta.py | 6 |
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() |