def code(request):
return {'code': request.GET.get('code', '')}
+def last_login_method(request):
+ return {'last_login_method': request.COOKIES.get('astakos_last_login_method', None)}
def invitations(request):
return {'invitations_enabled': INVITATIONS_ENABLED}
'astakos.im.context_processors.menu',
'astakos.im.context_processors.custom_messages',
'astakos.im.context_processors.group_kinds',
+ 'astakos.im.context_processors.last_login_method',
'synnefo.lib.context_processors.cloudbar'
]
messages.error(request, _(astakos_messages.AUTH_PROVIDER_ADD_FAILED))
messages.success(request, _(astakos_messages.LOGIN_SUCCESS))
+ response.set_cookie('astakos_last_login_method', 'local')
return response
)
if user.is_active:
# authenticate user
- return prepare_response(request,
+ response = prepare_response(request,
user,
request.GET.get('next'),
'renew' in request.GET)
+ response.set_cookie('astakos_last_login_method', 'local')
+ return response
else:
message = user.get_inactive_message()
messages.error(request, message)
)
if user.is_active:
# authenticate user
- return prepare_response(request,
+ response = prepare_response(request,
user,
request.GET.get('next'),
'renew' in request.GET)
+ response.set_cookie('astakos_last_login_method', 'twitter')
+ return response
else:
message = user.get_inactive_message()
messages.error(request, message)
<div class="login-section">
<h2 class="clearfix"><span class="title">LOGIN</span> <span class="header-actions">
- <a class="other-logins" href="#other-login-methods">other login methods</a></span>
+ <a class="other-logins" href="#other-login-methods">other login methods</a></span>
</h2>
<div class="main-login-method">
{% include master_auth_provider.login_template %}
</div>
- <div class="extralogin" style="display:none">
+ <div class="extralogin"
+ style="{% if not last_login_method or last_login_method == master_auth_provider.module %}display:none{% endif %}">
{% for provider in auth_providers %}
{% if not provider == master_auth_provider %}
{% include provider.login_prompt_template %}