Additional messages in third party registration/login process
authorKostas Papadimitriou <kpap@grnet.gr>
Thu, 13 Dec 2012 14:35:32 +0000 (16:35 +0200)
committerKostas Papadimitriou <kpap@grnet.gr>
Thu, 13 Dec 2012 14:36:22 +0000 (16:36 +0200)
snf-astakos-app/astakos/im/messages.py
snf-astakos-app/astakos/im/models.py
snf-astakos-app/astakos/im/static/im/css/formating.css
snf-astakos-app/astakos/im/target/local.py
snf-astakos-app/astakos/im/target/shibboleth.py
snf-astakos-app/astakos/im/target/twitter.py
snf-astakos-app/astakos/im/templates/im/base.html
snf-astakos-app/astakos/im/templates/im/login_base.html
snf-astakos-app/astakos/im/templates/im/third_party_check_local.html
snf-astakos-app/astakos/im/views.py

index eb3d5ac..9451d7b 100644 (file)
@@ -146,4 +146,5 @@ AUTH_PROVIDER_NOT_ACTIVE_FOR_CREATE          =   "Signup using '%(provider)s' is
 AUTH_PROVIDER_NOT_ACTIVE_FOR_ADD             =   "'%(provider)s is disabled"
 AUTH_PROVIDER_ADDED                          =   "Your new login method has been added"
 AUTH_PROVIDER_ADD_FAILED                     =   "Failed to add new login method"
+AUTH_PROVIDER_LOGIN_TO_ADD                   =   "Please login now to your existing account."
 
index 45af5b1..bed579c 100644 (file)
@@ -1152,7 +1152,7 @@ def astakosuser_post_save(sender, instance, created, **kwargs):
         return
     set_default_group(instance)
     # TODO handle socket.error & IOError
-    register_users((instance,))
+    #register_users((instance,))
 
 
 def resource_post_save(sender, instance, created, **kwargs):
index e49a712..ec14cf6 100644 (file)
@@ -103,3 +103,9 @@ ul ul ul li                                                                         { list-style-type:square; }
 /* misc ---------------------------------------*/\r
 img[align="left"]                                                              { margin:0 1em 0.5em 0; }\r
 img[align="right"]                                                             { margin:0 0 0.5em 1em; }\r
+\r
+/* button */\r
+.button { display: inline-block; color: #fff; line-height: 22px; padding: 10px 22px; background-color: #F89A1C; margin-bottom: 10px;}\r
+.button:hover { background-color: #3582AC;}\r
+.button.wide { display: block;}\r
+span.action-desc { display: block; color: #fff;}\r
index af934fc..3604830 100644 (file)
@@ -75,6 +75,9 @@ def login(request, on_failure='im/login.html'):
     third_party_token = get_query(request).get('key', False)
 
     if not form.is_valid():
+        if third_party_token:
+            messages.info(request, astakos_messages.AUTH_PROVIDER_LOGIN_TO_ADD)
+
         return render_to_response(
             on_failure,
             {'login_form':form,
index f4d002e..5514297 100644 (file)
@@ -164,6 +164,7 @@ def login(
         user.save()
 
         extra_context['provider'] = 'shibboleth'
+        extra_context['provider_title'] = 'Academic credentials'
         extra_context['token'] = user.token
         extra_context['signup_url'] = reverse('signup') + \
                                         "?third_party_token=%s" % user.token
index 2f20062..cc0e4ae 100644 (file)
@@ -173,6 +173,7 @@ def authenticated(
         user.save()
 
         extra_context['provider'] = 'twitter'
+        extra_context['provider_title'] = 'Twitter'
         extra_context['token'] = user.token
         extra_context['signup_url'] = reverse('signup') + \
                                     "?third_party_token=%s" % user.token
index 8ccc746..b40f05d 100644 (file)
@@ -6,7 +6,7 @@
   <meta http-equiv="X-UA-Compatible" content="{{ resource.meta.compatibility }}">
   
   <title>
-     {% block page.title %}{% endblock %} / GRNET Cloud Accounts 
+     {% block page.title %}Accounts{% endblock %} / GRNET Cloud Accounts 
   </title>
   
   <meta name="description" content="">
index 4bfbbac..9187d8f 100644 (file)
@@ -1,7 +1,6 @@
 {% extends 'im/base_two_cols.html'%}
 
 {% block signup_class %}hidden{% endblock %}
-{% block page.title %}{% endblock %}
 
 {% block body.left %}
        <img class="pic" src="{{ IM_STATIC_URL }}images/porta.png" />
index 9320763..cf5ee02 100644 (file)
     {% if "local" in im_modules %}
       <div class="form-stacked">
         <h2><span>Already have an account?</span></h2>
-        <a href="{% url astakos.im.views.index %}?key={{ token }}">YES</a>
-        <a href="{{ signup_url }}">NO</a>
+        <a href="{% url astakos.im.views.index %}?key={{ token }}"
+          class="button wide">
+          <span class="left">YES</span>
+          <span class="action-desc right">I want to add '{{ provider_title }}' as a new login method for my existing account</span>
+        </a>
+        <a href="{{ signup_url }}?key={{ token }}" class="button wide">
+          <span class="left">NO</span>
+          <span class="right action-desc">I want to create a new account</span>
+        </a>
       </div>
     {% endif %}
 {% endblock %}
index 54265b8..2037fa3 100644 (file)
@@ -195,6 +195,10 @@ def index(request, login_template_name='im/login.html', profile_template_name='i
     if request.user.is_authenticated():
         return HttpResponseRedirect(reverse('astakos.im.views.edit_profile'))
 
+    third_party_token = request.GET.get('key', False)
+    if third_party_token:
+        messages.info(request, astakos_messages.AUTH_PROVIDER_LOGIN_TO_ADD)
+
     return render_response(
         template_name,
         login_form = LoginForm(request=request),