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