MyAccount:Redirecting to same page with success/error message. Thanks to Django Messa...
authorYasin <mohammed-yasin.rahman@lip6.fr>
Thu, 19 Sep 2013 13:49:54 +0000 (15:49 +0200)
committerYasin <mohammed-yasin.rahman@lip6.fr>
Thu, 19 Sep 2013 13:49:54 +0000 (15:49 +0200)
portal/accountview.py
portal/templates/account-view.html
portal/templates/registration_view.html

index 35b5209..30e0b9a 100644 (file)
@@ -1,13 +1,15 @@
 from portal.templateviews            import LoginRequiredAutoLogoutView
 #
 from manifold.core.query             import Query
-from manifold.manifoldapi            import execute_query
-from portal.actions                  import manifold_update_user, manifold_update_account
+from manifold.manifoldapi               import execute_query
+from portal.actions                     import manifold_update_user, manifold_update_account
 #
-from myslice.viewutils               import topmenu_items, the_user
+from myslice.viewutils                  import topmenu_items, the_user
+#
+from django.http                        import HttpResponse, HttpResponseRedirect
+from django.contrib                     import messages
+from django.contrib.auth.decorators     import login_required
 #
-from django.http                     import HttpResponse
-from django.contrib.auth.decorators  import login_required
 import json, os, re
 
 # requires login
@@ -113,7 +115,10 @@ def account_process(request):
         #user_params = { 'config': updated_config}
         manifold_update_user(request,user_params)
         # this will be depricated, we will show the success msg in same page
-        return HttpResponse('Sucess: First Name and Last Name Updated!')       
+#        return HttpResponse('Sucess: First Name and Last Name Updated!')
+        # Redirect to same page with success message
+        messages.success(request, 'Sucess: First Name and Last Name Updated.')
+        return HttpResponseRedirect("/portal/account/")       
     elif 'submit_pass' in request.POST:
         edited_password = request.POST['password']
         
@@ -122,8 +127,10 @@ def account_process(request):
         #updating password in local:user
         user_params = { 'password': user_pass['password']}
         manifold_update_user(request,user_params)
+#        return HttpResponse('Success: Password Changed!!')
+        messages.success(request, 'Sucess: Password Updated.')
+        return HttpResponseRedirect("/portal/account/")
 
-        return HttpResponse('Success: Password Changed!!')
     elif 'generate' in request.POST:
         # Generate public and private keys using SFA Library
         from sfa.trust.certificate  import Keypair
@@ -140,7 +147,9 @@ def account_process(request):
 #        keypair = ''.join(keypair.split())
         user_params = { 'config': keypair, 'auth_type':'managed'}
         manifold_update_account(request,user_params)
-        return HttpResponse('Success: New Keypair Generated!')
+#        return HttpResponse('Success: New Keypair Generated!')
+        messages.success(request, 'Sucess: New Keypair Generated!')
+        return HttpResponseRedirect("/portal/account/")
 
     elif 'upload_key' in request.POST:
         up_file = request.FILES['pubkey']
@@ -156,10 +165,17 @@ def account_process(request):
             # update manifold account table
             user_params = { 'config': file_content, 'auth_type':'user'}
             manifold_update_account(request,user_params)
-            return HttpResponse('Success: Publickey uploaded! Please delegate your credentials using SFA: http://trac.myslice.info/wiki/DelegatingCredentials')
+#            return HttpResponse('Success: Publickey uploaded! Please delegate your credentials using SFA: http://trac.myslice.info/wiki/DelegatingCredentials')
+            messages.success(request, 'Publickey uploaded! Please delegate your credentials using SFA: http://trac.myslice.info/wiki/DelegatingCredentials')
+            return HttpResponseRedirect("/portal/account/")
+
         else:
-            return HttpResponse('Please upload a valid RSA public key [.txt or .pub].')    
-        
+#            return HttpResponse('Please upload a valid RSA public key [.txt or .pub].')    
+            messages.error(request, 'RSA key error: Please upload a valid RSA public key [.txt or .pub].')
+            return HttpResponseRedirect("/portal/account/")
+       
     else:
-        message = 'Under Construction.'
-        return HttpResponse(message)
+        messages.info(request, 'Under Construction. Please try again later!')
+        return HttpResponseRedirect("/portal/account/")
+
+
index 346c41f..46deb13 100644 (file)
 
 
 <h2>MySlice  Account</h2>
+
+{% if messages %}
+<ul class="messages">
+    {% for message in messages %}
+    <li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li>
+    {% endfor %}
+</ul>
+{% endif %}
+
+
 <div id="middle" align="center">
        <div class="well">
                <form id="editForm"  method="POST" action="account_process" enctype="multipart/form-data">
index 82a343f..d8c5f4e 100644 (file)
@@ -89,7 +89,7 @@
       <label for="file">Upload public key</label>
       <input type="file" name="user_public_key" class="required" id="user_public_key"/>
       <p class="hint">Account Delegation: Manual (Advanced Users)</p>
-         <p class="warning" id="pkey_del_msg">Once your account is validated, you have to delegate your credentials manually using SFA [Advanced users only]</p>
+         <p class="warning" id="pkey_del_msg">Once your account is validated, you will have to delegate your credentials manually using SFA [Advanced users only]</p>
 
    </div>
    <div class="field" id="register">