Revision c72d5a13
b/snf-astakos-app/astakos/im/context_processors.py | ||
---|---|---|
64 | 64 |
def code(request): |
65 | 65 |
return {'code': request.GET.get('code', '')} |
66 | 66 |
|
67 |
def last_login_method(request): |
|
68 |
return {'last_login_method': request.COOKIES.get('astakos_last_login_method', None)} |
|
67 | 69 |
|
68 | 70 |
def invitations(request): |
69 | 71 |
return {'invitations_enabled': INVITATIONS_ENABLED} |
b/snf-astakos-app/astakos/im/synnefo_settings.py | ||
---|---|---|
60 | 60 |
'astakos.im.context_processors.menu', |
61 | 61 |
'astakos.im.context_processors.custom_messages', |
62 | 62 |
'astakos.im.context_processors.group_kinds', |
63 |
'astakos.im.context_processors.last_login_method', |
|
63 | 64 |
'synnefo.lib.context_processors.cloudbar' |
64 | 65 |
] |
65 | 66 |
|
b/snf-astakos-app/astakos/im/target/local.py | ||
---|---|---|
119 | 119 |
messages.error(request, _(astakos_messages.AUTH_PROVIDER_ADD_FAILED)) |
120 | 120 |
|
121 | 121 |
messages.success(request, _(astakos_messages.LOGIN_SUCCESS)) |
122 |
response.set_cookie('astakos_last_login_method', 'local') |
|
122 | 123 |
return response |
123 | 124 |
|
124 | 125 |
|
b/snf-astakos-app/astakos/im/target/shibboleth.py | ||
---|---|---|
134 | 134 |
) |
135 | 135 |
if user.is_active: |
136 | 136 |
# authenticate user |
137 |
return prepare_response(request,
|
|
137 |
response = prepare_response(request,
|
|
138 | 138 |
user, |
139 | 139 |
request.GET.get('next'), |
140 | 140 |
'renew' in request.GET) |
141 |
response.set_cookie('astakos_last_login_method', 'local') |
|
142 |
return response |
|
141 | 143 |
else: |
142 | 144 |
message = user.get_inactive_message() |
143 | 145 |
messages.error(request, message) |
b/snf-astakos-app/astakos/im/target/twitter.py | ||
---|---|---|
145 | 145 |
) |
146 | 146 |
if user.is_active: |
147 | 147 |
# authenticate user |
148 |
return prepare_response(request,
|
|
148 |
response = prepare_response(request,
|
|
149 | 149 |
user, |
150 | 150 |
request.GET.get('next'), |
151 | 151 |
'renew' in request.GET) |
152 |
response.set_cookie('astakos_last_login_method', 'twitter') |
|
153 |
return response |
|
152 | 154 |
else: |
153 | 155 |
message = user.get_inactive_message() |
154 | 156 |
messages.error(request, message) |
b/snf-astakos-app/astakos/im/templates/im/login_base.html | ||
---|---|---|
12 | 12 |
<div class="login-section"> |
13 | 13 |
|
14 | 14 |
<h2 class="clearfix"><span class="title">LOGIN</span> <span class="header-actions"> |
15 |
<a class="other-logins" href="#other-login-methods">other login methods</a></span> |
|
15 |
<a class="other-logins" href="#other-login-methods">other login methods</a></span>
|
|
16 | 16 |
</h2> |
17 | 17 |
<div class="main-login-method"> |
18 | 18 |
{% include master_auth_provider.login_template %} |
19 | 19 |
</div> |
20 | 20 |
|
21 |
<div class="extralogin" style="display:none"> |
|
21 |
<div class="extralogin" |
|
22 |
style="{% if not last_login_method or last_login_method == master_auth_provider.module %}display:none{% endif %}"> |
|
22 | 23 |
{% for provider in auth_providers %} |
23 | 24 |
{% if not provider == master_auth_provider %} |
24 | 25 |
{% include provider.login_prompt_template %} |
Also available in: Unified diff