From e28a13973f6a4ce52b11189bdf42d658a445b932 Mon Sep 17 00:00:00 2001 From: Evgeny Fadeev Date: Thu, 2 Jun 2011 02:55:32 -0400 Subject: moved logout.html temlpate to django_authopenid app and made an openid-related statement conditional on enable/disable status of federated logins --- askbot/deps/django_authopenid/urls.py | 1 + askbot/deps/django_authopenid/util.py | 9 +++++++ askbot/deps/django_authopenid/views.py | 7 +++++ .../skins/default/templates/authopenid/logout.html | 31 ++++++++++++++++++++++ askbot/skins/default/templates/logout.html | 29 -------------------- askbot/urls.py | 1 - askbot/views/meta.py | 6 ----- 7 files changed, 48 insertions(+), 36 deletions(-) create mode 100644 askbot/skins/default/templates/authopenid/logout.html delete mode 100644 askbot/skins/default/templates/logout.html 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" %} + +{% block title %}{% spaceless %}{% trans %}Logout{% endtrans %}{% endspaceless %}{% endblock %} +{% block content %} +

{% trans %}You have successfully logged out{% endtrans %}

+{% if have_federated_login_methods %} +

{% trans %}However, you still may be logged in to your OpenID provider. Please logout of your provider if you wish to do so.{% endtrans %}

+ {% if settings.FACEBOOK_KEY and settings.FACEBOOK_SECRET %} +
+ + + {% endif %} +{% endif %} +{% endblock %} +{% block endjs %} + +{% endblock %} + 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" %} - -{% block title %}{% spaceless %}{% trans %}Logout{% endtrans %}{% endspaceless %}{% endblock %} -{% block content %} -

{% trans %}You have successfully logged out{% endtrans %}

-

{% trans %}However, you still may be logged in to your OpenID provider. Please logout of your provider if you wish to do so.{% endtrans %}

-{% if settings.FACEBOOK_KEY and settings.FACEBOOK_SECRET %} -
- - -{% endif %} -{% endblock %} -{% block endjs %} - -{% endblock %} - 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\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() -- cgit v1.2.3-1-g7c22